[-]
[+]
|
Changed |
MozillaThunderbird.changes
|
|
[-]
[+]
|
Changed |
MozillaThunderbird.spec
^
|
|
[-]
[+]
|
Changed |
abuild.patch
^
|
@@ -1,4 +1,4 @@
-From: Wolfgang Rosenauer <stark@suse.de>
+From: Wolfgang Rosenauer <stark@suse.de / wr@rosenauer.org>
Subject: Fix compiler warnings which disturb autobuild
References:
@@ -22,6 +22,13 @@
nsFrame.cpp: 3536
###
+### autobuild
+I: Program causes undefined operation
+(likely same variable used twiceand post/pre incremented in the same expression).
+e.g. x = x++; Split it in two operations.
+E: MozillaThunderbird sequence-point nsMailboxService.cpp: 231
+###
+
--- gfx/src/gtk/nsFontMetricsUtils.cpp.old 2005-03-24 07:27:33.000000000 +0100
+++ gfx/src/gtk/nsFontMetricsUtils.cpp 2005-03-24 07:28:26.000000000 +0100
@@ -75,6 +75,7 @@ NS_FontMetricsGetHints(void)
@@ -125,3 +132,25 @@
PRInt32 thisLine;
nsresult result = iter->FindLineContaining(this, &thisLine);
+Index: mailnews/local/src/nsMailboxService.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/mailnews/local/src/nsMailboxService.cpp,v
+retrieving revision 1.114.8.7
+diff -u -p -6 -r1.114.8.7 nsMailboxService.cpp
+--- mailnews/local/src/nsMailboxService.cpp 30 Aug 2006 22:18:29 -0000 1.114.8.7
++++ mailnews/local/src/nsMailboxService.cpp 11 Sep 2008 11:09:24 -0000
+@@ -225,13 +225,13 @@ nsresult nsMailboxService::FetchMessage(
+ }
+ else
+ {
+
+ // this happens with forward inline of message/rfc822 attachment
+ // opened in a stand-alone msg window.
+- PRInt32 typeIndex = typeIndex = uriString.Find("&type=application/x-message-display");
++ PRInt32 typeIndex = uriString.Find("&type=application/x-message-display");
+ if (typeIndex != kNotFound)
+ {
+ uriString.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
+ rv = NS_NewURI(getter_AddRefs(url), uriString.get());
+ mailboxurl = do_QueryInterface(url);
+ }
|
[-]
[+]
|
Added |
mozilla-system-hunspell.patch.bz2
^
|
@@ -0,0 +1,5825 @@
+Index: config/autoconf.mk.in
+===================================================================
+--- config/autoconf.mk.in 2007-04-24 10:11:39.000000000 +0000
++++ config/autoconf.mk.in 2007-04-24 10:11:43.000000000 +0000
+@@ -185,16 +185,20 @@
+
+ MOZ_XUL = @MOZ_XUL@
+
+ NECKO_PROTOCOLS = @NECKO_PROTOCOLS@
+ NECKO_DISK_CACHE = @NECKO_DISK_CACHE@
+ NECKO_SMALL_BUFFERS = @NECKO_SMALL_BUFFERS@
+ NECKO_COOKIES = @NECKO_COOKIES@
+
++MOZ_NATIVE_MYSPELL = @SYSTEM_MYSPELL@
++MOZ_MYSPELL_LIBS = @MOZ_MYSPELL_LIBS@
++MOZ_MYSPELL_CFLAGS = @MOZ_MYSPELL_CFLAGS@
++
+ MOZ_NATIVE_ZLIB = @SYSTEM_ZLIB@
+ MOZ_NATIVE_JPEG = @SYSTEM_JPEG@
+ MOZ_NATIVE_PNG = @SYSTEM_PNG@
+ MOZ_TREE_CAIRO = @MOZ_TREE_CAIRO@
+
+ MOZ_UPDATE_XTERM = @MOZ_UPDATE_XTERM@
+ MOZ_MATHML = @MOZ_MATHML@
+ MOZ_XTF = @MOZ_XTF@
+Index: configure.in
+===================================================================
+--- configure.in 2007-04-24 10:11:39.000000000 +0000
++++ configure.in 2007-04-24 10:11:43.000000000 +0000
+@@ -3862,16 +3862,32 @@
+
+ if test "${PNG_DIR}" -a -d "${PNG_DIR}" -a "$SYSTEM_PNG" = 1; then
+ PNG_CFLAGS="-I${PNG_DIR}/include"
+ PNG_LIBS="-L${PNG_DIR}/lib ${PNG_LIBS}"
+ fi
+
+ fi # SKIP_LIBRARY_CHECKS
+
++dnl system MySpell Support
++dnl ========================================================
++MOZ_ARG_ENABLE_BOOL(system-myspell,
++[ --enable-system-myspell Use system myspell (located with pkgconfig)],
++ SYSTEM_MYSPELL=1 )
++
++if test -n "$SYSTEM_MYSPELL"; then
++ PKG_CHECK_MODULES(MOZ_MYSPELL, hunspell)
++ MOZ_MYSPELL_CFLAGS="$MOZ_MYSPELL_CFLAGS -DMySpell=Hunspell"
++ dnl MOZ_MYSPELL_LIBS="-lhunspell"
++fi
++
++AC_SUBST(SYSTEM_MYSPELL)
++AC_SUBST(MOZ_MYSPELL_LIBS)
++AC_SUBST(MOZ_MYSPELL_CFLAGS)
++
+ dnl ========================================================
+ dnl Java SDK support
+ dnl ========================================================
+ JAVA_INCLUDE_PATH=
+ MOZ_ARG_WITH_STRING(java-include-path,
+ [ --with-java-include-path=dir Location of Java SDK headers],
+ JAVA_INCLUDE_PATH=$withval)
+
+Index: extensions/spellcheck/myspell/src/Makefile.in
+===================================================================
+--- extensions/spellcheck/myspell/src/Makefile.in 2007-04-24 10:11:39.000000000 +0000
++++ extensions/spellcheck/myspell/src/Makefile.in 2007-04-24 10:11:43.000000000 +0000
+@@ -55,30 +55,38 @@
+ REQUIRES = xpcom \
+ string \
+ uconv \
+ unicharutil \
+ spellchecker \
+ xulapp \
+ $(NULL)
+
+-CPPSRCS = affentry.cpp \
+- affixmgr.cpp \
+- hashmgr.cpp \
+- suggestmgr.cpp \
+- csutil.cpp \
+- myspell.cpp \
+- mozMySpell.cpp \
+- mozMySpellFactory.cpp \
++CPPSRCS = mozMySpell.cpp \
++ mozMySpellFactory.cpp \
+ $(NULL)
++ifndef MOZ_NATIVE_MYSPELL
++CPPSRCS += affentry.cpp \
++ affixmgr.cpp \
++ hashmgr.cpp \
++ suggestmgr.cpp \
++ csutil.cpp \
++ myspell.cpp \
++ $(NULL)
++endif
+
+ ifdef MOZ_XUL_APP
+ CPPSRCS += mozMySpellDirProvider.cpp
+ endif
+
+ EXTRA_DSO_LDOPTS = \
+ $(LIBS_DIR) \
+ $(XPCOM_LIBS) \
+ $(NSPR_LIBS) \
+ $(MOZ_UNICHARUTIL_LIBS) \
++ $(MOZ_MYSPELL_LIBS) \
+ $(NULL)
+
+ include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_MYSPELL
++CXXFLAGS += $(MOZ_MYSPELL_CFLAGS)
++endif
+Index: extensions/spellcheck/myspell/src/mozMySpell.h
+===================================================================
+--- extensions/spellcheck/myspell/src/mozMySpell.h 2007-04-24 10:11:39.000000000 +0000
++++ extensions/spellcheck/myspell/src/mozMySpell.h 2007-04-24 10:11:43.000000000 +0000
+@@ -51,17 +51,17 @@
+ * and affix compression in general, please see:
+ * http://www.cs.ucla.edu/ficus-members/geoff/ispell.html
+ * (the home page for ispell)
+ *
+ * ***** END LICENSE BLOCK ***** */
+ #ifndef mozMySpell_h__
+ #define mozMySpell_h__
+
+-#include "myspell.hxx"
++#include "hunspell.hxx"
+ #include "mozISpellCheckingEngine.h"
+ #include "mozIPersonalDictionary.h"
+ #include "nsString.h"
+ #include "nsCOMPtr.h"
+ #include "nsIObserver.h"
+ #include "nsIUnicodeEncoder.h"
+ #include "nsIUnicodeDecoder.h"
+ #include "nsInterfaceHashtable.h"
+Index: configure
+===================================================================
+RCS file: /cvsroot/mozilla/configure,v
+retrieving revision 1.1492.2.130
+diff -u -r1.1492.2.130 configure
+--- configure 19 Oct 2008 16:21:23 -0000 1.1492.2.130
++++ configure 13 Nov 2008 10:39:12 -0000
+@@ -60,6 +60,8 @@
+ --with-system-png[=PFX]
+ Use system libpng [installed at prefix PFX]"
+ ac_help="$ac_help
++ --enable-system-myspell Use system myspell (located with pkgconfig)"
++ac_help="$ac_help
+ --with-java-include-path=dir Location of Java SDK headers"
+ ac_help="$ac_help
+ --with-java-bin-path=dir Location of Java binaries (java, javac, jar)"
+@@ -960,7 +962,7 @@
+ fi
+
+ echo $ac_n "checking host system type""... $ac_c" 1>&6
+-echo "configure:964: checking host system type" >&5
++echo "configure:966: checking host system type" >&5
+
+ host_alias=$host
+ case "$host_alias" in
+@@ -981,7 +983,7 @@
+ echo "$ac_t""$host" 1>&6
+
+ echo $ac_n "checking target system type""... $ac_c" 1>&6
+-echo "configure:985: checking target system type" >&5
++echo "configure:987: checking target system type" >&5
+
+ target_alias=$target
+ case "$target_alias" in
+@@ -999,7 +1001,7 @@
+ echo "$ac_t""$target" 1>&6
+
+ echo $ac_n "checking build system type""... $ac_c" 1>&6
+-echo "configure:1003: checking build system type" >&5
++echo "configure:1005: checking build system type" >&5
+
+ build_alias=$build
+ case "$build_alias" in
+@@ -1074,7 +1076,7 @@
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:1078: checking for $ac_word" >&5
++echo "configure:1080: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1172,7 +1174,7 @@
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:1176: checking for $ac_word" >&5
++echo "configure:1178: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_NSINSTALL_BIN'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1214,7 +1216,7 @@
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
|
[-]
[+]
|
Added |
mozldap-charray_strdup.patch
^
|
@@ -0,0 +1,46 @@
+--- directory/c-sdk/ldap/libraries/libldap/charray.c_orig 2008-10-28 14:12:34.000000000 +0100
++++ directory/c-sdk/ldap/libraries/libldap/charray.c 2008-10-28 14:36:05.000000000 +0100
+@@ -191,7 +191,7 @@
+ */
+ char **
+ LDAP_CALL
+-ldap_str2charray( char *str, char *brkstr )
++ldap_str2charray( char *str_in, char *brkstr )
+ /* This implementation fails if brkstr contains multibyte characters.
+ But it works OK if str is UTF-8 and brkstr is 7-bit ASCII.
+ */
+@@ -199,6 +199,12 @@
+ char **res;
+ char *s;
+ int i;
++ char *str;
++
++ str = nsldapi_strdup( str_in );
++ if ( str == NULL ) {
++ return NULL;
++ }
+
+ i = 1;
+ for ( s = str; *s; s++ ) {
+@@ -209,6 +215,7 @@
+
+ res = (char **)NSLDAPI_MALLOC( (i + 1) * sizeof(char *) );
+ if ( res == NULL ) {
++ NSLDAPI_FREE( str );
+ return NULL;
+ }
+ i = 0;
+@@ -221,11 +228,13 @@
+ for ( j = 0; j < (i - 1); j++ )
+ NSLDAPI_FREE( res[j] );
+ NSLDAPI_FREE( res );
++ NSLDAPI_FREE( str );
+ return NULL;
+ }
+ }
+ res[i] = NULL;
+
++ NSLDAPI_FREE( str );
+ return( res );
+ }
+
|
[-]
[+]
|
Added |
unused-includes.patch
^
|
@@ -0,0 +1,21 @@
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ipf32.cpp
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ipf32.cpp
+@@ -39,8 +39,6 @@
+
+ #include "xptcprivate.h"
+
+-#include <iostream.h>
+-
+ // "This code is for IA64 only"
+
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ipf64.cpp
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ipf64.cpp
+@@ -40,7 +40,6 @@
+ #include "xptcprivate.h"
+
+ #include <stdint.h>
+-#include <iostream.h>
+
+ // "This code is for IA64 only"
+
|
[-]
[+]
|
Deleted |
MozillaThunderbird-2.0.0.16-rpmlintrc
^
|
@@ -1 +0,0 @@
-addFilter("no-jar-manifest")
|
[-]
[+]
|
Added |
MozillaThunderbird-rpmlintrc
^
|
@@ -0,0 +1 @@
+addFilter("no-jar-manifest")
|
[-]
[+]
|
Deleted |
enigmail-0.95.6.tar.bz2/lang/.#Makefile.in.1.26
^
|
@@ -1,48 +0,0 @@
-#!gmake
-#
-# The contents of this file are subject to the Mozilla Public
-# License Version 1.1 (the "MPL"); you may not use this file
-# except in compliance with the MPL. You may obtain a copy of
-# the MPL at http://www.mozilla.org/MPL/
-#
-# Software distributed under the MPL is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the MPL for the specific language governing
-# rights and limitations under the MPL.
-#
-# The Original Code is Enigmail.
-#
-# The Initial Developer of the Original Code is Ramalingam Saravanan.
-# Portions created by Ramalingam Saravanan <svn@xmlterm.org> are
-# Copyright (C) 2001 Ramalingam Saravanan. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the
-# terms of the GNU General Public License (the "GPL"), in which case
-# the provisions of the GPL are applicable instead of
-# those above. If you wish to allow use of your version of this
-# file only under the terms of the GPL and not to allow
-# others to use your version of this file under the MPL, indicate
-# your decision by deleting the provisions above and replace them
-# with the notice and other provisions required by the GPL.
-# If you do not delete the provisions above, a recipient
-# may use your version of this file under either the MPL or the
-# GPL.
-#
-
-# Makefile for lang directory
-
-# Specify these as parameters to the make command
-
-DEPTH = ../../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-include $(topsrcdir)/config/rules.mk
-
-export::
- ./make-lang-xpi.pl current-languages.txt
|
[-]
[+]
|
Deleted |
enigmail-0.95.6.tar.bz2/lang/.#current-languages.txt.1.1
^
|
@@ -1,17 +0,0 @@
-ca-AD
-de-AT
-de-DE
-el
-es-ES
-fi-FI
-fr-FR
-hu-HU
-it-IT
-ja-JP
-ko-KR
-nb-NO
-pl-PL
-pt-BR
-ru-RU
-sv-SE
-zh-CN
|
[-]
[+]
|
Deleted |
enigmail-0.95.6.tar.bz2/lang/.#make-lang-xpi.pl.1.2
^
|
@@ -1,37 +0,0 @@
-#!/usr/bin/perl
-
-# generate jar.mn from a list of language packs
-
-if (@ARGV != 1) {
- print "Usage: make-lang-xpi.pl <input-file>\n";
- exit -1;
-}
-
-my ($inputfile) = @ARGV;
-
-open INFILE, "$inputfile";
-open OUTFILE, ">jar.mn";
-
-print OUTFILE "enigmail-locale.jar:\n";
-
-my @files = ("contents.rdf",
- "enigmail.properties",
- "enigmail.dtd",
- "am-enigprefs.properties",
- "upgrade_080.html",
- "help/rulesEditor.html",
- "help/compose.html",
- "help/messenger.html",
- "help/editRcptRule.html");
-
-while ($_ = <INFILE>) {
- #print STDERR $_;
- chomp();
- $lang = $_;
- foreach $file (@files) {
- printf OUTFILE "\tlocale/%s/enigmail/%s\t(%s/%s)\n", $lang, $file, $lang, $file;
- }
-}
-
-close INFILE;
-close OUTFILE;
|
[-]
[+]
|
Deleted |
enigmail-0.95.6.tar.bz2/package/enigmail.js.orig
^
|
@@ -1,5942 +0,0 @@
-/*
- * The contents of this file are subject to the Mozilla Public
- * License Version 1.1 (the "MPL"); you may not use this file
- * except in compliance with the MPL. You may obtain a copy of
- * the MPL at http://www.mozilla.org/MPL/
- *
- * Software distributed under the MPL is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the MPL for the specific language governing
- * rights and limitations under the MPL.
- *
- * The Original Code is Enigmail.
- *
- * The Initial Developer of the Original Code is Ramalingam Saravanan.
- * Portions created by Ramalingam Saravanan <svn@xmlterm.org> are
- * Copyright (C) 2001 Ramalingam Saravanan. All Rights Reserved.
- *
- * Contributor(s):
- * Patrick Brunschwig <patrick.brunschwig@gmx.net>
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License (the "GPL"), in which case
- * the provisions of the GPL are applicable instead of
- * those above. If you wish to allow use of your version of this
- * file only under the terms of the GPL and not to allow
- * others to use your version of this file under the MPL, indicate
- * your decision by deleting the provisions above and replace them
- * with the notice and other provisions required by the GPL.
- * If you do not delete the provisions above, a recipient
- * may use your version of this file under either the MPL or the
- * GPL.
- */
-
-// Maximum size of message directly processed by Enigmail
-const MSG_BUFFER_SIZE = 98304; // 96 kB
-const MAX_MSG_BUFFER_SIZE = 512000 // slightly less than 512 kB
-
-const ERROR_BUFFER_SIZE = 32768; // 32 kB
-
-const PGP_BATCH_OPTS = " +batchmode +force";
-const GPG_BATCH_OPTS = " --batch --no-tty --status-fd 2";
-
-const gDummyPKCS7 = 'Content-Type: multipart/mixed;\r\n boundary="------------060503030402050102040303\r\n\r\nThis is a multi-part message in MIME format.\r\n--------------060503030402050102040303\r\nContent-Type: application/x-pkcs7-mime\r\nContent-Transfer-Encoding: 8bit\r\n\r\n\r\n--------------060503030402050102040303\r\nContent-Type: application/x-enigmail-dummy\r\nContent-Transfer-Encoding: 8bit\r\n\r\n\r\n--------------060503030402050102040303--\r\n';
-
-/* Implementations supplied by this module */
-const NS_ENIGMAIL_CONTRACTID = "@mozdev.org/enigmail/enigmail;1";
-const NS_PGP_MODULE_CONTRACTID = "@mozilla.org/mimecth/pgp;1";
-
-const NS_ENIGMAILPROTOCOLHANDLER_CONTRACTID =
- "@mozilla.org/network/protocol;1?name=enigmail";
-
-const NS_ENIGMAIL_CID =
- Components.ID("{847b3a01-7ab1-11d4-8f02-006008948af5}");
-
-const NS_ENIGMAILPROTOCOLHANDLER_CID =
- Components.ID("{847b3a11-7ab1-11d4-8f02-006008948af5}");
-
-const NS_PGP_MODULE_CID =
- Components.ID("{847b3af1-7ab1-11d4-8f02-006008948af5}");
-
-const NS_ENIGMSGCOMPOSE_CID =
- Components.ID("{847b3a21-7ab1-11d4-8f02-006008948af5}");
-
-const NS_ENIGMSGCOMPOSEFACTORY_CID =
- Components.ID("{847b3a22-7ab1-11d4-8f02-006008948af5}");
-
-const NS_ENIGCLINE_SERVICE_CID =
- Components.ID("{847b3ab1-7ab1-11d4-8f02-006008948af5}");
-
-// Contract IDs and CIDs used by this module
-const NS_IPCSERVICE_CONTRACTID = "@mozilla.org/process/ipc-service;1";
-const NS_IPCBUFFER_CONTRACTID = "@mozilla.org/process/ipc-buffer;1";
-const NS_PIPECONSOLE_CONTRACTID = "@mozilla.org/process/pipe-console;1";
-const NS_PIPETRANSPORT_CONTRACTID="@mozilla.org/process/pipe-transport;1";
-const NS_PROCESSINFO_CONTRACTID = "@mozilla.org/xpcom/process-info;1";
-const NS_MSGCOMPOSESECURE_CONTRACTID = "@mozilla.org/messengercompose/composesecure;1";
-const NS_ENIGMSGCOMPOSE_CONTRACTID = "@mozilla.org/enigmail/composesecure;1";
-const NS_ENIGMSGCOMPOSEFACTORY_CONTRACTID = "@mozilla.org/enigmail/composesecure-factory;1";
-const NS_ENIGMIMESERVICE_CONTRACTID = "@mozdev.org/enigmail/enigmimeservice;1";
-const NS_SIMPLEURI_CONTRACTID = "@mozilla.org/network/simple-uri;1";
-const NS_TIMER_CONTRACTID = "@mozilla.org/timer;1";
-const NS_OBSERVERSERVICE_CONTRACTID = "@mozilla.org/observer-service;1";
-const NS_PROMPTSERVICE_CONTRACTID = "@mozilla.org/embedcomp/prompt-service;1";
-const ASS_CONTRACTID = "@mozilla.org/appshell/appShellService;1";
-const WMEDIATOR_CONTRACTID = "@mozilla.org/appshell/window-mediator;1";
-const NS_IOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1";
-const NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID = "@mozilla.org/intl/scriptableunicodeconverter";
-const NS_SCRIPTABLEINPUTSTREAM_CONTRACTID = "@mozilla.org/scriptableinputstream;1"
-const ENIG_STRINGBUNDLE_CONTRACTID = "@mozilla.org/intl/stringbundle;1";
-const NS_PREFS_SERVICE_CID = "@mozilla.org/preferences-service;1";
-const NS_DOMPARSER_CONTRACTID = "@mozilla.org/xmlextras/domparser;1";
-const NS_DOMSERIALIZER_CONTRACTID = "@mozilla.org/xmlextras/xmlserializer;1";
-const NS_CATMAN_CONTRACTID = "@mozilla.org/categorymanager;1";
-const NS_CLINE_SERVICE_CONTRACTID = "@mozilla.org/enigmail/cline-handler;1";
-
-// Interfaces
-const nsISupports = Components.interfaces.nsISupports;
-const nsIObserver = Components.interfaces.nsIObserver;
-const nsILocalFile = Components.interfaces.nsILocalFile;
-const nsIProtocolHandler = Components.interfaces.nsIProtocolHandler;
-const nsIIPCService = Components.interfaces.nsIIPCService;
-const nsIPipeConsole = Components.interfaces.nsIPipeConsole;
-const nsIProcessInfo = Components.interfaces.nsIProcessInfo;
-const nsIEnigmail = Components.interfaces.nsIEnigmail;
-//const nsIPGPModule = Components.interfaces.nsIPGPModule;
-//const nsIPGPMsgBody = Components.interfaces.nsIPGPMsgBody;
-//const nsIPGPMsgHeader = Components.interfaces.nsIPGPMsgHeader;
-const nsIEnigStrBundle = Components.interfaces.nsIStringBundleService;
-const nsICmdLineHandler = Components.interfaces.nsICmdLineHandler;
-const nsICategoryManager = Components.interfaces.nsICategoryManager;
-const nsIWindowWatcher = Components.interfaces.nsIWindowWatcher;
-const nsICommandLineHandler = Components.interfaces.nsICommandLineHandler;
-const nsIWindowsRegKey = Components.interfaces.nsIWindowsRegKey;
-
-const NS_XPCOM_SHUTDOWN_OBSERVER_ID = "xpcom-shutdown";
-
-///////////////////////////////////////////////////////////////////////////////
-// Global variables
-
-const GPG_COMMENT_OPT = "Using GnuPG with %s - http://enigmail.mozdev.org";
-
-var gLogLevel = 3; // Output only errors/warnings by default
-
-var gEnigmailSvc = null; // Global Enigmail Service
-var gEnvList = []; // Global environment list
-var gEnigStrBundle; // Global string bundle
-
-// GPG status flags mapping (see doc/DETAILS file in the GnuPG distribution)
-var gStatusFlags = {GOODSIG: nsIEnigmail.GOOD_SIGNATURE,
- BADSIG: nsIEnigmail.BAD_SIGNATURE,
- ERRSIG: nsIEnigmail.UNVERIFIED_SIGNATURE,
- EXPSIG: nsIEnigmail.EXPIRED_SIGNATURE,
- REVKEYSIG: nsIEnigmail.GOOD_SIGNATURE,
- EXPKEYSIG: nsIEnigmail.EXPIRED_KEY_SIGNATURE,
- KEYEXPIRED: nsIEnigmail.EXPIRED_KEY,
- KEYREVOKED: nsIEnigmail.REVOKED_KEY,
- NO_PUBKEY: nsIEnigmail.NO_PUBKEY,
- NO_SECKEY: nsIEnigmail.NO_SECKEY,
- IMPORTED: nsIEnigmail.IMPORTED_KEY,
- INV_RECP: nsIEnigmail.INVALID_RECIPIENT,
- MISSING_PASSPHRASE: nsIEnigmail.MISSING_PASSPHRASE,
- BAD_PASSPHRASE: nsIEnigmail.BAD_PASSPHRASE,
- BADARMOR: nsIEnigmail.BAD_ARMOR,
- NODATA: nsIEnigmail.NODATA,
- ERROR: nsIEnigmail.BAD_SIGNATURE | nsIEnigmail.DECRYPTION_FAILED,
- DECRYPTION_FAILED: nsIEnigmail.DECRYPTION_FAILED,
- DECRYPTION_OKAY: nsIEnigmail.DECRYPTION_OKAY,
- TRUST_UNDEFINED: nsIEnigmail.UNTRUSTED_IDENTITY,
- TRUST_NEVER: nsIEnigmail.UNTRUSTED_IDENTITY,
- TRUST_MARGINAL: nsIEnigmail.UNTRUSTED_IDENTITY,
- TRUST_FULLY: nsIEnigmail.TRUSTED_IDENTITY,
- TRUST_ULTIMATE: nsIEnigmail.TRUSTED_IDENTITY,
- CARDCTRL: nsIEnigmail.NO_SC_AVAILABLE,
- SC_OP_FAILURE: nsIEnigmail.SC_OP_FAILURE
- };
-
-var gCachedPassphrase = null;
-var gCacheTimer = null;
-
-///////////////////////////////////////////////////////////////////////////////
-// File read/write operations
-
-const NS_LOCAL_FILE_CONTRACTID = "@mozilla.org/file/local;1";
-
-const NS_LOCALFILEOUTPUTSTREAM_CONTRACTID =
- "@mozilla.org/network/file-output-stream;1";
-
-const NS_RDONLY = 0x01;
-const NS_WRONLY = 0x02;
-const NS_CREATE_FILE = 0x08;
-const NS_TRUNCATE = 0x20;
-const DEFAULT_FILE_PERMS = 0600;
-
-const GET_BOOL = "GET_BOOL";
-const GET_LINE = "GET_LINE";
-const GET_HIDDEN = "GET_HIDDEN";
-
-const BUTTON_POS_0 = 1;
-const BUTTON_POS_1 = 1 << 8;
-const BUTTON_POS_2 = 1 << 16;
-
-const KEYTYPE_DSA = 1;
-const KEYTYPE_RSA = 2;
-
-const ENC_TYPE_MSG = 0;
-const ENC_TYPE_ATTACH_BINARY = 1;
-const ENC_TYPE_ATTACH_ASCII = 2;
-
-var gMimeHashAlgorithms = [null, "sha1", "ripemd160", "sha256", "sha384", "sha512"];
-
-function CreateFileStream(filePath, permissions) {
-
- //DEBUG_LOG("enigmail.js: CreateFileStream: file="+filePath+"\n");
-
- try {
- var localFile = Components.classes[NS_LOCAL_FILE_CONTRACTID].createInstance(Components.interfaces.nsILocalFile);
-
- localFile.initWithPath(filePath);
-
- if (localFile.exists()) {
-
- if (localFile.isDirectory() || !localFile.isWritable())
- throw Components.results.NS_ERROR_FAILURE;
-
- if (!permissions)
- permissions = localFile.permissions;
- }
-
- if (!permissions)
- permissions = DEFAULT_FILE_PERMS;
-
- var flags = NS_WRONLY | NS_CREATE_FILE | NS_TRUNCATE;
-
- var fileStream = Components.classes[NS_LOCALFILEOUTPUTSTREAM_CONTRACTID].createInstance(Components.interfaces.nsIFileOutputStream);
-
- fileStream.init(localFile, flags, permissions, 0);
-
- return fileStream;
-
- } catch (ex) {
- ERROR_LOG("enigmail.js: CreateFileStream: Failed to create "+filePath+"\n");
- return null;
- }
-}
-
-function WriteFileContents(filePath, data, permissions) {
-
- DEBUG_LOG("enigmail.js: WriteFileContents: file="+filePath+"\n");
-
- try {
- var fileOutStream = CreateFileStream(filePath, permissions);
-
- if (data.length) {
- if (fileOutStream.write(data, data.length) != data.length)
- throw Components.results.NS_ERROR_FAILURE;
-
- fileOutStream.flush();
- }
- fileOutStream.close();
-
- } catch (ex) {
- ERROR_LOG("enigmail.js: WriteFileContents: Failed to write to "+filePath+"\n");
- return false;
- }
-
- return true;
-}
-
-// Read the contents of a file into a string
-
-function EnigReadFile(filePath) {
-
-// @filePath: nsILocalFile
-
- if (filePath.exists()) {
-
- var ioServ = Components.classes[NS_IOSERVICE_CONTRACTID].getService(Components.interfaces.nsIIOService);
- if (!ioServ)
- throw Components.results.NS_ERROR_FAILURE;
-
- var fileURI = ioServ.newFileURI(filePath);
- var fileChannel = ioServ.newChannel(fileURI.asciiSpec, null, null);
-
- var rawInStream = fileChannel.open();
-
- var scriptableInStream = Components.classes[NS_SCRIPTABLEINPUTSTREAM_CONTRACTID].createInstance(Components.interfaces.nsIScriptableInputStream);
- scriptableInStream.init(rawInStream);
- var available = scriptableInStream.available()
- var fileContents = scriptableInStream.read(available);
- scriptableInStream.close();
- return fileContents;
- }
- return "";
-}
-
-
-// Pack/unpack: Network (big-endian) byte order
-
-function pack(value, bytes) {
- var str = '';
- var mask = 0xff;
- for (var j=0; j < bytes; j++) {
- str = String.fromCharCode( (value & mask) >> j*8 ) + str;
- mask <<= 8;
- }
-
- return str;
-}
-
-function unpack(str) {
- var len = str.length;
- var value = 0;
-
- for (var j=0; j < len; j++) {
- value <<= 8;
- value |= str.charCodeAt(j);
- }
-
- return value;
-}
-
-const hexTable = "0123456789abcdef";
-
-function bytesToHex(str) {
- var len = str.length;
-
- var hex = '';
- for (var j=0; j < len; j++) {
- var charCode = str.charCodeAt(j);
- hex += hexTable.charAt((charCode & 0xf0) >> 4) +
- hexTable.charAt((charCode & 0x0f));
- }
-
- return hex;
-}
-
-function hexToBytes(hex) {
- hex = hex.toLowerCase();
-
- var bytes = (1+hex.length)/2;
-
- var str = '';
- for (var j=0; j < bytes; j++) {
- var loc1 = hexTable.indexOf(hex.charAt(2*j));
- var loc2 = 0;
-
- if ((2*j+1) < hex.length)
- loc2 = hexTable.indexOf(hex.charAt(2*j+1));
-
- if (loc1 < 0) loc1 = 0;
- if (loc2 < 0) loc2 = 0;
-
- str += String.fromCharCode((loc1 << 4) + loc2);
- }
-
- return str;
-}
-///////////////////////////////////////////////////////////////////////////////
-
-function WRITE_LOG(str) {
- function f00(val, digits) {
- return ("0000"+val.toString()).substr(-digits);
- }
-
- var d = new Date();
- var datStr=d.getFullYear()+"-"+f00(d.getMonth()+1, 2)+"-"+f00(d.getDate(),2)+" "+f00(d.getHours(),2)+":"+f00(d.getMinutes(),2)+":"+f00(d.getSeconds(),2)+"."+f00(d.getMilliseconds(),3)+" ";
- if (gLogLevel >= 4)
- dump(datStr+str);
-
- if (gEnigmailSvc && gEnigmailSvc.logFileStream) {
- gEnigmailSvc.logFileStream.write(datStr, datStr.length);
- gEnigmailSvc.logFileStream.write(str, str.length);
- //gEnigmailSvc.logFileStream.flush();
- }
-}
-
-function DEBUG_LOG(str) {
- if ((gLogLevel >= 4) || (gEnigmailSvc && gEnigmailSvc.logFileStream))
- WRITE_LOG(str);
-}
-
-function WARNING_LOG(str) {
- if (gLogLevel >= 3)
- WRITE_LOG(str);
-
- if (gEnigmailSvc && gEnigmailSvc.console)
- gEnigmailSvc.console.write(str);
-}
-
-function ERROR_LOG(str) {
- if (gLogLevel >= 2)
- WRITE_LOG(str);
-
- if (gEnigmailSvc && gEnigmailSvc.console)
- gEnigmailSvc.console.write(str);
-}
-
-function CONSOLE_LOG(str) {
- if (gLogLevel >= 3)
- WRITE_LOG(str);
-
- if (gEnigmailSvc && gEnigmailSvc.console)
- gEnigmailSvc.console.write(str);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-var EnigModuleObj = {
- registerSelf: function (compRegistrar, moduleFile,
- registryLocation, componentType)
- {
- WRITE_LOG("enigmail.js: Registering components\n");
-
- compRegistrar = compRegistrar.QueryInterface(Components.interfaces.nsIComponentRegistrar);
-
- compRegistrar.registerFactoryLocation(NS_ENIGMAIL_CID,
- "Enigmail",
- NS_ENIGMAIL_CONTRACTID,
- moduleFile, registryLocation,
- componentType);
-
- compRegistrar.registerFactoryLocation(NS_ENIGMAILPROTOCOLHANDLER_CID,
- "Enigmail Protocol Handler",
- NS_ENIGMAILPROTOCOLHANDLER_CONTRACTID,
- moduleFile, registryLocation,
- componentType);
-
- compRegistrar.registerFactoryLocation(NS_PGP_MODULE_CID,
- "PGP Module",
- NS_PGP_MODULE_CONTRACTID,
- moduleFile, registryLocation,
- componentType);
-
- compRegistrar.registerFactoryLocation(NS_ENIGCLINE_SERVICE_CID,
- "Enigmail Key Management CommandLine Service",
- NS_CLINE_SERVICE_CONTRACTID,
- moduleFile,
- registryLocation,
- componentType);
-
- var catman = Components.classes[NS_CATMAN_CONTRACTID].getService(nsICategoryManager);
- catman.addCategoryEntry("command-line-handler",
- "cline-enigmail",
- NS_CLINE_SERVICE_CONTRACTID, true, true);
-
- WRITE_LOG("enigmail.js: Registered components\n");
- },
-
- unregisterSelf: function(compRegistrar, moduleFile, registryLocation)
- {
- DEBUG_LOG("enigmail.js: unregisterSelf\n");
- compRegistrar = compRegistrar.QueryInterface(Components.interfaces.nsIComponentRegistrar);
-
- compRegistrar.unregisterFactoryLocation(NS_ENIGCLINE_SERVICE_CID,
- moduleFile);
- var catman = Components.classes[NS_CATMAN_CONTRACTID]
- .getService(nsICategoryManager);
- catman.deleteCategoryEntry("command-line-handler",
- NS_CLINE_SERVICE_CONTRACTID, true);
-
- },
-
- getClassObject: function (compRegistrar, cid, iid) {
- DEBUG_LOG("enigmail.js: getClassObject: cid="+cid+"\n");
-
- if (!iid.equals(Components.interfaces.nsIFactory))
- throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
-
- if (gEnigmailSvc == null) {
- // Create Enigmail Service (delay initialization)
- gEnigmailSvc = new Enigmail(false);
- }
-
- if (cid.equals(NS_ENIGCLINE_SERVICE_CID)) {
- return EnigCmdLineHandler.QueryInterface(iid);
- }
-
- if (cid.equals(NS_ENIGMAIL_CID)) {
- return new EnigmailFactory();
- }
-
- if (cid.equals(NS_ENIGMAILPROTOCOLHANDLER_CID)) {
- return new EnigmailProtocolHandlerFactory();
- }
-
- if (cid.equals(NS_PGP_MODULE_CID)) {
- return new PGPModuleFactory();
- }
-
- return null;
- },
-
- canUnload: function(compRegistrar)
- {
- DEBUG_LOG("enigmail.js: canUnload:\n");
- return true;
- }
-};
-
-/* Module entry point */
-function NSGetModule(compRegistrar, moduleFile) {
- DEBUG_LOG("enigmail.js: NSGetModule:\n");
- return EnigModuleObj;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-function EnigmailFactory()
-{
-}
-
-EnigmailFactory.prototype = {
- QueryInterface: function (iid) {
-
- //DEBUG_LOG("EnigmailFactory.QueryInterface:"+iid+"\n");
- if (!iid.equals(Components.interfaces.nsIFactory) &&
- !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
-
- return this;
- },
-
- createInstance: function (outer, iid) {
- //DEBUG_LOG("EnigmailFactory.createInstance:\n");
- if (!gEnigmailSvc)
- throw Components.results.NS_ERROR_NOT_D;
-
- return gEnigmailSvc;
- }
-}
-
-function PGPModuleFactory()
-{
-}
-
-PGPModuleFactory.prototype = {
- QueryInterface: function (iid) {
-
- //DEBUG_LOG("PGPModuleFactory.QueryInterface:"+iid+"\n");
- if (!iid.equals(Components.interfaces.nsIFactory) &&
- !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
-
- return this;
- },
-
- createInstance: function (outer, iid) {
- DEBUG_LOG("PGPModuleFactory.createInstance:\n");
- return new PGPModule();
- }
-}
-
-function PGPMsgHeader(aTo, aCc, aBcc)
-{
- this.to = aTo;
- this.cc = aCc;
- this.bcc = aBcc;
-}
-
-PGPMsgHeader.prototype = {
-
- to: "",
- cc: "",
- bcc: "",
-
- QueryInterface: function (iid) {
- DEBUG_LOG("PGPMsgHeader.QueryInterface:\n");
-
- if (!iid.equals(nsIPGPMsgHeader) && !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
- return this;
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Utility functions
-///////////////////////////////////////////////////////////////////////////////
-
-function isAbsolutePath(filePath, isDosLike) {
- // Check if absolute path
- if (isDosLike) {
- return (filePath.search(/^\w+:\\/) == 0);
- } else {
- return (filePath.search(/^\//) == 0)
- }
-}
-
-function ResolvePath(filePath, envPath, isDosLike) {
- DEBUG_LOG("enigmail.js: ResolvePath: filePath="+filePath+"\n");
-
- if (isAbsolutePath(filePath, isDosLike))
- return filePath;
-
- if (!envPath)
- return null;
-
- var pathDirs = envPath.split(isDosLike ? ";" : ":");
-
- for (var j=0; j<pathDirs.length; j++) {
- try {
- var pathDir = Components.classes[NS_LOCAL_FILE_CONTRACTID].createInstance(nsILocalFile);
-
- pathDir.initWithPath(pathDirs[j]);
-
- if (pathDir.exists() && pathDir.isDirectory()) {
- pathDir.appendRelativePath(filePath);
-
- if (pathDir.exists()) {
- return pathDir;
- }
- }
- } catch (ex) {
- }
- }
-
- return null;
-}
-
-function EnigConvertToUnicode(text, charset) {
- DEBUG_LOG("enigmail.js: EnigConvertToUnicode: "+charset+"\n");
-
- if (!text || !charset || (charset.toLowerCase() == "iso-8859-1"))
- return text;
-
- // Encode plaintext
- try {
- var unicodeConv = Components.classes[NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID].getService(Components.interfaces.nsIScriptableUnicodeConverter);
-
- unicodeConv.charset = charset;
- return unicodeConv.ConvertToUnicode(text);
-
- } catch (ex) {
- return text;
- }
-}
-
-function EnigConvertFromUnicode(text, charset) {
- DEBUG_LOG("enigmail.js: EnigConvertFromUnicode: "+charset+"\n");
-
- if (!text)
- return "";
-
- if (! charset) charset="utf-8";
-
- // Encode plaintext
- try {
- var unicodeConv = Components.classes[NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID].getService(Components.interfaces.nsIScriptableUnicodeConverter);
-
- unicodeConv.charset = charset;
- return unicodeConv.ConvertFromUnicode(text);
-
- } catch (ex) {
- DEBUG_LOG("enigmail.js: EnigConvertFromUnicode: caught an exception\n");
-
- return text;
- }
-}
-
-/*
-function EnigConvertGpgToUnicode(text) {
- if (typeof(text)=="string") {
- text = text.replace(/\\x3a/ig, "\\e3A");
- a=text.search(/\\x[0-9a-fA-F]{2}/);
- while (a>=0) {
- ch=unescape('%'+text.substr(a+2,2));
- r= new RegExp("\\"+text.substr(a,4));
- text=text.replace(r, ch);
-
- a=text.search(/\\x[0-9a-fA-F]{2}/);
- }
- text = EnigConvertToUnicode(text, "utf-8");
- }
-
- return text;
-}
-*/
-
-// get a Windows registry value (string)
-// @ keyPath: the path of the registry (e.g. Software\\GNU\\GnuPG)
-// @ keyName: the name of the key to get (e.g. InstallDir)
-// @ rootKey: HKLM, HKCU, etc. (according to constants in nsIWindowsRegKey)
-function getWinRegistryString(keyPath, keyName, rootKey) {
- var registry = Components.classes["@mozilla.org/windows-registry-key;1"].createInstance(Components.interfaces.nsIWindowsRegKey);
-
- var retval = "";
- try {
- registry.open(rootKey, keyPath, registry.ACCESS_READ);
- retval = registry.readStringValue(keyName);
- registry.close();
- }
- catch (ex) {}
-
- return retval;
-}
-
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Enigmail protocol handler
-///////////////////////////////////////////////////////////////////////////////
-
-function EnigmailProtocolHandler()
-{
-}
-
-EnigmailProtocolHandler.prototype.scheme = "enigmail";
-EnigmailProtocolHandler.prototype.defaultPort = -1;
-
-EnigmailProtocolHandler.prototype.QueryInterface =
-function (iid)
-{
- DEBUG_LOG("enigmail.js: EnigmailProtocolHandler.QueryInterface\n");
-
- if (!iid.equals(nsIProtocolHandler) && !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
-
- return this;
-}
-
-EnigmailProtocolHandler.prototype.newURI =
-function (aSpec, originCharset, aBaseURI)
-{
- DEBUG_LOG("enigmail.js: EnigmailProtocolHandler.newURI: aSpec='"+aSpec+"'\n");
-
- var uri = Components.classes[NS_SIMPLEURI_CONTRACTID].createInstance(Components.interfaces.nsIURI);
- uri.spec = aSpec;
-
- return uri;
-}
-
-EnigmailProtocolHandler.prototype.newChannel =
-function (aURI)
-{
- DEBUG_LOG("enigmail.js: EnigmailProtocolHandler.newChannel: URI='"+aURI.spec+"'\n");
-
- var messageId = ExtractMessageId(aURI.spec);
-
- if (messageId) {
- // Handle enigmail:message?id=...
-
- if (!gEnigmailSvc)
- throw Components.results.NS_ERROR_FAILURE;
-
- var contentType, contentCharset, contentData;
-
- if (gEnigmailSvc._messageIdList[messageId]) {
- var messageUriObj = gEnigmailSvc._messageIdList[messageId];
-
- contentType = messageUriObj.contentType;
- contentCharset = messageUriObj.contentCharset;
- contentData = messageUriObj.contentData;
-
- DEBUG_LOG("enigmail.js: EnigmailProtocolHandler.newChannel: messageURL="+messageUriObj.originalUrl+", content length="+contentData.length+", "+contentType+", "+contentCharset+"\n");
-
- // do NOT delete the messageUriObj now from the list, this will be done once the message is unloaded (fix for bug 9730).
-
- } else {
-
- contentType = "text/plain";
- contentCharset = "";
- contentData = "Enigmail error: invalid URI "+aURI.spec;
- }
-
- var channel = gEnigmailSvc.ipcService.newStringChannel(aURI,
- contentType,
- "UTF-8",
- contentData);
-
- return channel;
- }
-
- if (aURI.spec == aURI.scheme+":dummy") {
- // Dummy PKCS7 content (to access mimeEncryptedClass)
- channel = gEnigmailSvc.ipcService.newStringChannel(aURI,
- "message/rfc822",
- "",
- gDummyPKCS7);
- return channel;
- }
-
- var winName, spec;
- if (aURI.spec == "about:"+aURI.scheme) {
- // About Enigmail
- winName = "about:"+enigmail;
- spec = "chrome://enigmail/content/enigmailAbout.xul";
-
- } else if (aURI.spec == aURI.scheme+":console") {
- // Display enigmail console messages
- winName = "enigmail:console";
- spec = "chrome://enigmail/content/enigmailConsole.xul";
-
- } else if (aURI.spec == aURI.scheme+":keygen") {
- // Display enigmail key generation console
- winName = "enigmail:keygen";
- spec = "chrome://enigmail/content/enigmailKeygen.xul";
-
- } else {
- // Display Enigmail about page
- winName = "about:enigmail";
- spec = "chrome://enigmail/content/enigmailAbout.xul";
- }
-
- var windowManager = Components.classes[WMEDIATOR_CONTRACTID].getService(Components.interfaces.nsIWindowMediator);
-
- var winEnum=windowManager.getEnumerator(null);
- var recentWin=null;
- while (winEnum.hasMoreElements() && ! recentWin) {
- var thisWin = winEnum.getNext();
- if (thisWin.location.href==spec) {
- recentWin = thisWin;
- }
- }
-
- if (recentWin) {
- recentWin.focus();
- } else {
- var appShellSvc = Components.classes[ASS_CONTRACTID].getService(Components.interfaces.nsIAppShellService);
- var domWin = appShellSvc.hiddenDOMWindow;
-
- domWin.open(spec, "_blank", "chrome,menubar,toolbar,resizable");
- }
-
- throw Components.results.NS_ERROR_FAILURE;
-}
-
-function EnigmailProtocolHandlerFactory() {
-}
-
-EnigmailProtocolHandlerFactory.prototype = {
- QueryInterface: function (iid) {
-
- //DEBUG_LOG("EnigmailProtocolHandlerFactory.QueryInterface:"+iid+"\n");
- if (!iid.equals(Components.interfaces.nsIFactory) &&
- !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
-
- return this;
- },
-
- createInstance: function (outer, iid) {
- DEBUG_LOG("enigmail.js: EnigmailProtocolHandlerFactory.createInstance\n");
-
- if (outer != null)
- throw Components.results.NS_ERROR_NO_AGGREGATION;
-
- if (!iid.equals(nsIProtocolHandler) && !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_INVALID_ARG;
-
- return new EnigmailProtocolHandler();
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Enigmail encryption/decryption service
-///////////////////////////////////////////////////////////////////////////////
-
-function GetPassphrase(domWindow, passwdObj, useAgentObj, rememberXTimes) {
- DEBUG_LOG("enigmail.js: GetPassphrase:\n");
-
- useAgentObj.value = false;
- try {
- var noPassphrase = gEnigmailSvc.prefBranch.getBoolPref("noPassphrase");
- useAgentObj.value = gEnigmailSvc.useGpgAgent();
-
- if (noPassphrase || useAgentObj.value) {
- passwdObj.value = "";
- return true;
- }
-
- }
- catch(ex) {}
-
- var maxIdleMinutes = gEnigmailSvc.getMaxIdleMinutes();
-
- if (gEnigmailSvc.haveCachedPassphrase()) {
- passwdObj.value = gCachedPassphrase;
-
- if (gEnigmailSvc._passwdAccessTimes > 0) {
- --gEnigmailSvc._passwdAccessTimes;
-
- if (gEnigmailSvc._passwdAccessTimes <= 0 && maxIdleMinutes <= 0) {
- gEnigmailSvc.clearCachedPassphrase();
- }
- }
- return true;
- }
-
- // Obtain password interactively
- var checkObj = new Object();
-
- var promptMsg = EnigGetString("enterPassOrPin");
- passwdObj.value = "";
- checkObj.value = true;
-
- var checkMsg = (maxIdleMinutes>0) ? EnigGetString("rememberPass",maxIdleMinutes) : "";
-
- var success;
-
- var promptService = Components.classes[NS_PROMPTSERVICE_CONTRACTID].getService(Components.interfaces.nsIPromptService);
- success = promptService.promptPassword(domWindow,
- EnigGetString("enigPrompt"),
- promptMsg,
- passwdObj,
- checkMsg,
- checkObj);
-
- if (!success)
- return false;
-
- DEBUG_LOG("enigmail.js: GetPassphrase: got passphrase\n");
-
- // remember the passphrase for accessing serveral times in a sequence
-
- if (rememberXTimes) gEnigmailSvc._passwdAccessTimes = rememberXTimes;
-
- // Remember passphrase only if necessary
- if ((checkObj.value && (maxIdleMinutes > 0)) || rememberXTimes)
- gEnigmailSvc.setCachedPassphrase(passwdObj.value, rememberXTimes);
-
- return true;
-}
-
-
-function Enigmail(registeringModule)
-{
- DEBUG_LOG("enigmail.js: Enigmail: START "+registeringModule+"\n");
- this.registeringModule = registeringModule;
-
- DEBUG_LOG("enigmail.js: Enigmail: END\n");
-}
-
-Enigmail.prototype.registeringModule = false;
-Enigmail.prototype.initialized = false;
-Enigmail.prototype.initializationAttempted = false;
-Enigmail.prototype.initializationError = "";
-Enigmail.prototype.composeSecure = false;
-
-Enigmail.prototype.logFileStream = null;
-
-Enigmail.prototype.isUnix = false;
-Enigmail.prototype.isWin32 = false;
-Enigmail.prototype.isOs2 = false;
-Enigmail.prototype.isDosLike = false;
-
-Enigmail.prototype.ipcService = null;
-Enigmail.prototype.prefBranch = null;
-Enigmail.prototype.console = null;
-Enigmail.prototype.keygenProcess = null;
-Enigmail.prototype.keygenConsole = null;
-
-Enigmail.prototype.quoteSign = "";
-Enigmail.prototype.agentType = "";
-Enigmail.prototype.agentPath = "";
-Enigmail.prototype.agentVersion = "";
-Enigmail.prototype.userIdList = null;
-Enigmail.prototype.rulesList = null;
-Enigmail.prototype.gpgAgentInfo = {preStarted: false, envStr: ""};
-
-Enigmail.prototype._lastActiveTime = 0;
-Enigmail.prototype._passwdAccessTimes = 0;
-Enigmail.prototype._messageIdList = {};
-
-Enigmail.prototype.QueryInterface =
-function (iid) {
-
- //DEBUG_LOG("Enigmail.QueryInterface:\n");
- if (!iid.equals(nsIEnigmail) &&
- !iid.equals(nsIObserver) &&
- !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
-
- return this;
-}
-
-Enigmail.prototype.observe =
-function (aSubject, aTopic, aData) {
- DEBUG_LOG("enigmail.js: Enigmail.observe: topic='"+aTopic+"' \n");
-
- if (aTopic == "timer-callback") {
- // Cause cached password to expire, if need be
- if (!this.haveCachedPassphrase()) {
- // No cached password; cancel repeating timer
- if (gCacheTimer)
- gCacheTimer.cancel();
- }
-
- } else if (aTopic == NS_XPCOM_SHUTDOWN_OBSERVER_ID) {
- /* OBSOLETE
- // Reset mail.show_headers pref
- try {
- var prefSvc = Components.classes[NS_PREFS_SERVICE_CID]
- .getService(Components.interfaces.nsIPrefService);
- var prefRoot = prefSvc.getBranch(null);
-
- var prefValue = 1;
- try {
- prefValue = this.prefBranch.getIntPref("show_headers");
- } catch (ex) {
- ERROR_LOG("enigmail.js: Enigmail.observe: could not obtain 'show_headers'\n");
- }
-
- prefRoot.setIntPref("mail.show_headers", prefValue);
- prefSvc.savePrefFile(null);
- DEBUG_LOG("enigmail.js: Enigmail.observe: changed preferences saved\n");
- } catch (ex) {
- ERROR_LOG("enigmail.js: Enigmail.observe: could not save preferences\n");
- }
- */
- // XPCOM shutdown
- this.finalize();
-
- }
- else {
- DEBUG_LOG("enigmail.js: Enigmail.observe: no handler for '"+aTopic+"'\n");
- }
-}
-
-Enigmail.prototype.alertMsg =
-function (domWindow, mesg) {
- var promptService = Components.classes[NS_PROMPTSERVICE_CONTRACTID].getService(Components.interfaces.nsIPromptService);
- return promptService.alert(domWindow, EnigGetString("enigAlert"), mesg);
-}
-
-Enigmail.prototype.confirmMsg =
-function (domWindow, mesg) {
- var dummy={};
- var promptService = Components.classes[NS_PROMPTSERVICE_CONTRACTID].getService(Components.interfaces.nsIPromptService);
- var buttonPressed = promptService.confirmEx(domWindow,
- EnigGetString("enigConfirm"),
- mesg,
- (promptService.BUTTON_TITLE_YES * BUTTON_POS_0) +
- (promptService.BUTTON_TITLE_NO * BUTTON_POS_1),
- null, null, null,
- null, dummy);
- return (buttonPressed==0); // promptService.confirm(domWindow, EnigGetString("enigConfirm"), mesg);
-}
-
-Enigmail.prototype.promptValue =
-function (domWindow, mesg, valueObj) {
- var promptService = Components.classes[NS_PROMPTSERVICE_CONTRACTID].getService(Components.interfaces.nsIPromptService);
- var checkObj = new Object();
- return promptService.prompt(domWindow, EnigGetString("enigPrompt"),
- mesg, valueObj, "", checkObj);
-}
-
-Enigmail.prototype.errorMsg =
-function (domWindow, mesg) {
- var promptService = Components.classes[NS_PROMPTSERVICE_CONTRACTID].getService(Components.interfaces.nsIPromptService);
- return promptService.alert(domWindow, EnigGetString("enigError"), mesg);
-}
-
-Enigmail.prototype.getMaxIdleMinutes =
-function () {
- var maxIdleMinutes = 5;
- try {
- maxIdleMinutes = this.prefBranch.getIntPref("maxIdleMinutes");
- } catch (ex) {
- }
-
- return maxIdleMinutes;
-}
-
-Enigmail.prototype.getLogDirectoryPrefix =
-function () {
- var logDirectory = "";
- try {
- logDirectory = this.prefBranch.getCharPref("logDirectory");
- } catch (ex) {
- }
-
- if (!logDirectory)
- return "";
-
- var dirPrefix = logDirectory + (this.isDosLike ? "\\" : "/");
-
- return dirPrefix;
-}
-
-Enigmail.prototype.stillActive =
-function () {
- DEBUG_LOG("enigmail.js: Enigmail.stillActive: \n");
-
- // Update last active time
- var curDate = new Date();
- this._lastActiveTime = curDate.getTime();
-// DEBUG_LOG("enigmail.js: Enigmail.stillActive: _lastActiveTime="+this._lastActiveTime+"\n");
-}
-
-
-Enigmail.prototype.clearCachedPassphrase =
-function () {
- DEBUG_LOG("enigmail.js: Enigmail.clearCachedPassphrase: \n");
-
- gCachedPassphrase = null;
-}
-
-
-Enigmail.prototype.setCachedPassphrase =
-function (passphrase) {
- DEBUG_LOG("enigmail.js: Enigmail.setCachedPassphrase: \n");
-
- gCachedPassphrase = passphrase;
- this.stillActive();
-
- var maxIdleMinutes = this.getMaxIdleMinutes();
-
- var createTimerType = null;
- const nsITimer = Components.interfaces.nsITimer;
-
- if (this.haveCachedPassphrase() && (this._passwdAccessTimes > 0) && (maxIdleMinutes <= 0)) {
- // we remember the passphrase for at most 1 minute
- createTimerType = nsITimer.TYPE_ONE_SHOT;
- maxIdleMinutes = 1;
- }
- else if (this.haveCachedPassphrase() && (maxIdleMinutes > 0)) {
- createTimerType = nsITimer.TYPE_REPEATING_SLACK;
- }
-
- if (createTimerType != null) {
- // Start timer
- if (gCacheTimer)
- gCacheTimer.cancel();
-
- var delayMillisec = maxIdleMinutes*60*1000;
-
- gCacheTimer = Components.classes[NS_TIMER_CONTRACTID].createInstance(nsITimer);
-
- if (!gCacheTimer) {
- ERROR_LOG("enigmail.js: Enigmail.setCachedPassphrase: Error - failed to create timer\n");
- throw Components.results.NS_ERROR_FAILURE;
- }
-
- gCacheTimer.init(this, delayMillisec,
- createTimerType);
-
- DEBUG_LOG("enigmail.js: Enigmail.setCachedPassphrase: gCacheTimer="+gCacheTimer+"\n");
- }
-}
-
-
-Enigmail.prototype.haveCachedPassphrase =
-function () {
- DEBUG_LOG("enigmail.js: Enigmail.haveCachedPassphrase: \n");
-
- var havePassphrase = ((typeof gCachedPassphrase) == "string");
-
- if (!havePassphrase)
- return false;
-
- var curDate = new Date();
- var currentTime = curDate.getTime();
-
- var maxIdleMinutes = this.getMaxIdleMinutes();
- var delayMillisec = maxIdleMinutes*60*1000;
-
- var expired = ((currentTime - this._lastActiveTime) >= delayMillisec);
-
-// DEBUG_LOG("enigmail.js: Enigmail.haveCachedPassphrase: ")
-// DEBUG_LOG("currentTime="+currentTime+", _lastActiveTime="+this._lastActiveTime+", expired="+expired+"\n");
-
- if (expired && (this._passwdAccessTimes <= 0)) {
- // Too much idle time; forget cached password
- gCachedPassphrase = null;
- havePassphrase = false;
-
- WRITE_LOG("enigmail.js: Enigmail.haveCachedPassphrase: CACHE IDLED OUT\n");
- }
-
- return havePassphrase;
-}
-
-
-Enigmail.prototype.finalize =
-function () {
- DEBUG_LOG("enigmail.js: Enigmail.finalize:\n");
- if (!this.initialized) return;
-
- if (this.logFileStream) {
- this.logFileStream.close();
- this.logFileStream = null;
- }
-
- if (this.console) {
- this.console.close();
- this.console = null;
- }
-
- gLogLevel = 3;
- this.initializationError = "";
- this.initializationAttempted = false;
- this.initialized = false;
-}
-
-
-Enigmail.prototype.mimeInitialized =
-function () {
- var enigMimeService = Components.classes[NS_ENIGMIMESERVICE_CONTRACTID].getService(Components.interfaces.nsIEnigMimeService);
-
- var value = enigMimeService.initialized;
- DEBUG_LOG("enigmail.js: Enigmail.mimeInitialized: "+value+"\n");
- return value;
-}
-
-Enigmail.prototype.initialize =
-function (domWindow, version, prefBranch) {
- this.initializationAttempted = true;
-
- this.prefBranch = prefBranch;
-
- DEBUG_LOG("enigmail.js: Enigmail.initialize: START\n");
- if (this.initialized) return;
-
- try {
- var enigMsgComposeFactory = Components.classes[NS_ENIGMSGCOMPOSEFACTORY_CONTRACTID].createInstance(Components.interfaces.nsIFactory);
-
- var compMgr = Components.manager.QueryInterface(Components.interfaces.nsIComponentRegistrar);
-
- compMgr.registerFactory(NS_ENIGMSGCOMPOSE_CID,
- "Enig Msg Compose",
- NS_MSGCOMPOSESECURE_CONTRACTID,
- enigMsgComposeFactory);
-
- var msgComposeSecureCID = compMgr.contractIDToCID(NS_MSGCOMPOSESECURE_CONTRACTID);
-
- this.composeSecure = (msgComposeSecureCID.toString() ==
- NS_ENIGMSGCOMPOSE_CID);
- } catch (ex) {}
-
- var ioServ = Components.classes[NS_IOSERVICE_CONTRACTID].getService(Components.interfaces.nsIIOService);
-
- try {
- var httpHandler = ioServ.getProtocolHandler("http");
- httpHandler = httpHandler.QueryInterface(Components.interfaces.nsIHttpProtocolHandler);
- }
- catch (ex) {
- httpHandler = domWindow.navigator;
- }
-
- this.oscpu = httpHandler.oscpu;
-
- this.platform = httpHandler.platform;
-
- if (httpHandler.vendor) {
- this.vendor = httpHandler.vendor;
- } else {
- this.vendor = "Mozilla";
- }
-
- this.isUnix = (this.platform.search(/X11/i) == 0);
- this.isWin32 = (this.platform.search(/Win/i) == 0);
- this.isOs2 = (this.platform.search(/OS\/2/i) == 0);
-
- if (this.isOs2) {
- this.quoteSign="\\\"";
- }
- else {
- this.quoteSign="'";
- }
-
- this.isDosLike = (this.isWin32 || this.isOs2);
-
- var prefix = this.getLogDirectoryPrefix();
- if (prefix) {
- gLogLevel = 5;
- this.logFileStream = CreateFileStream(prefix+"enigdbug.txt");
- DEBUG_LOG("enigmail.js: Logging debug output to "+prefix+"enigdbug.txt\n");
- }
-
- this.version = version;
-
- DEBUG_LOG("enigmail.js: Enigmail version "+this.version+"\n");
- DEBUG_LOG("enigmail.js: OS/CPU="+this.oscpu+"\n");
- DEBUG_LOG("enigmail.js: Platform="+this.platform+"\n");
- DEBUG_LOG("enigmail.js: composeSecure="+this.composeSecure+"\n");
-
- var processInfo;
- try {
- processInfo = Components.classes[NS_PROCESSINFO_CONTRACTID].getService(nsIProcessInfo);
-
- } catch (ex) {
- this.initializationError = EnigGetString("enigmimeNotAvail");
- ERROR_LOG("enigmail.js: Enigmail.initialize: Error - "+this.initializationError+"\n");
- throw Components.results.NS_ERROR_FAILURE;
- }
-
- this.processInfo = processInfo;
-
- var nspr_log_modules = processInfo.getEnv("NSPR_LOG_MODULES");
- var matches = nspr_log_modules.match(/enigmail:(\d+)/);
-
- if (matches && (matches.length > 1)) {
- gLogLevel = matches[1];
- WARNING_LOG("enigmail.js: Enigmail: gLogLevel="+gLogLevel+"\n");
- }
-
- // Initialize global environment variables list
- var passEnv = [ "PGPPATH", "GNUPGHOME", "GPGDIR", "ETC",
- "ALLUSERSPROFILE", "APPDATA", "BEGINLIBPATH",
- "COMMONPROGRAMFILES", "COMSPEC", "DISPLAY",
- "ENIGMAIL_PASS_ENV", "ENDLIBPATH",
- "HOME", "HOMEDRIVE", "HOMEPATH",
- "LANG", "LANGUAGE", "LC_ALL", "LC_COLLATE", "LC_CTYPE",
- "LC_MESSAGES", "LC_MONETARY", "LC_NUMERIC", "LC_TIME",
- "LOCPATH", "LOGNAME", "LD_LIBRARY_PATH", "MOZILLA_FIVE_HOME",
- "NLSPATH", "PATH", "PATHEXT", "PROGRAMFILES", "PWD",
- "SHELL", "SYSTEMDRIVE", "SYSTEMROOT",
- "TEMP", "TMP", "TMPDIR", "TZ", "TZDIR", "UNIXROOT",
- "USER", "USERPROFILE", "WINDIR" ];
-
- var passList = this.processInfo.getEnv("ENIGMAIL_PASS_ENV");
- if (passList) {
- var passNames = passList.split(":");
- for (var k=0; k<passNames.length; k++)
- passEnv.push(passNames[k]);
- }
-
- gEnvList = [];
- for (var j=0; j<passEnv.length; j++) {
- var envName = passEnv[j];
- var envValue = this.processInfo.getEnv(envName);
- if (envValue)
- gEnvList.push(envName+"="+envValue);
- }
-
- DEBUG_LOG("enigmail.js: Enigmail.initialize: gEnvList = "+gEnvList+"\n");
-
- try {
- // Access IPC Service
-
- var ipcService = Components.classes[NS_IPCSERVICE_CONTRACTID].getService();
- ipcService = ipcService.QueryInterface(nsIIPCService);
-
- this.ipcService = ipcService;
-
- // Create a non-joinable console
- var pipeConsole = Components.classes[NS_PIPECONSOLE_CONTRACTID].createInstance(nsIPipeConsole);
-
- pipeConsole.open(500, 80, false);
-
- this.console = pipeConsole;
-
- pipeConsole.write("Initializing Enigmail service ...\n");
-
- } catch (ex) {
- this.initializationError = EnigGetString("enigmimeNotAvail");
- ERROR_LOG("enigmail.js: Enigmail.initialize: Error - "+this.initializationError+"\n");
- throw Components.results.NS_ERROR_FAILURE;
- }
-
- this.setAgentPath(domWindow);
-
- this.detectGpgAgent(domWindow);
-
- if (this.useGpgAgent()) {
- gEnvList.push("GPG_AGENT_INFO="+this.gpgAgentInfo.envStr);
- }
-
-
-
-
- // Register to observe XPCOM shutdown
- var obsServ = Components.classes[NS_OBSERVERSERVICE_CONTRACTID].getService();
- obsServ = obsServ.QueryInterface(Components.interfaces.nsIObserverService);
-
- obsServ.addObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false);
-
- this.stillActive();
- this.initialized = true;
-
- DEBUG_LOG("enigmail.js: Enigmail.initialize: END\n");
-}
-
-Enigmail.prototype.useGpgAgent =
-function() {
- var useAgent = false;
-
- try {
- useAgent= (this.gpgAgentInfo.envStr.length>0 || this.prefBranch.getBoolPref("useGpgAgent"));
- }
- catch (ex) {}
- return useAgent;
-}
-
-
-Enigmail.prototype.reinitialize =
-function () {
- this.initialized = false;
- this.initializationAttempted = true;
-
- this.console.write("Reinitializing Enigmail service ...\n");
- this.setAgentPath();
- this.initialized = true;
-}
-
-
-Enigmail.prototype.determineGpgHomeDir =
-function () {
-
- var homeDir = "";
-
- homeDir = this.processInfo.getEnv("GNUPGHOME");
-
- if (! homeDir && this.isWin32) {
- homeDir=getWinRegistryString("Software\\GNU\\GNUPG", "HomeDir", nsIWindowsRegKey.ROOT_KEY_CURRENT_USER);
-
- if (! homeDir) {
- homeDir = this.processInfo.getEnv("USERPROFILE");
-
- if (! homeDir) {
- homeDir = this.processInfo.getEnv("SystemRoot");
- }
-
- if (homeDir) homeDir += "\\Application Data\\GnuPG";
- }
-
- if (! homeDir) homeDir = "C:\\gnupg";
- }
-
- if (! homeDir) homeDir = this.processInfo.getEnv("HOME")+"/.gnupg";
-
- return homeDir;
-}
-
-
-Enigmail.prototype.setAgentPath =
-function () {
- var agentPath = "";
- try {
- agentPath = this.prefBranch.getCharPref("agentPath");
- } catch (ex) {}
-
- var agentType = "gpg";
- var agentName = this.isDosLike ? agentType+".exe" : agentType;
-
- if (agentPath) {
- // Locate GPG/PGP executable
-
- // Append default .exe extension for DOS-Like systems, if needed
- if (this.isDosLike && (agentPath.search(/\.\w+$/) < 0))
- agentPath += ".exe";
-
- try {
- var pathDir = Components.classes[NS_LOCAL_FILE_CONTRACTID].createInstance(nsILocalFile);
-
- if (! isAbsolutePath(agentPath, this.isDosLike)) {
- // path relative to Mozilla installation dir
- var ds = Components.classes[DIR_SERV_CONTRACTID].getService();
- var dsprops = ds.QueryInterface(Components.interfaces.nsIProperties);
- pathDir = dsprops.get("CurProcD", Components.interfaces.nsILocalFile);
-
- var dirs=agentPath.split(RegExp(this.isDosLike ? "\\\\" : "/"));
- for (var i=0; i< dirs.length; i++) {
- if (dirs[i]!=".") {
- pathDir.append(dirs[i]);
- }
- }
- pathDir.normalize();
- agentPath = pathDir.target;
- }
- else {
- // absolute path
- pathDir.initWithPath(agentPath);
- }
- if (! (pathDir.isFile() /* && pathDir.isExecutable()*/))
- throw Components.results.NS_ERROR_FAILURE;
-
- } catch (ex) {
- this.initializationError = EnigGetString("gpgNotFound", agentPath);
- ERROR_LOG("enigmail.js: Enigmail.initialize: Error - "+this.initializationError+"\n");
- throw Components.results.NS_ERROR_FAILURE;
- }
-
- } else {
- // Resolve relative path using PATH environment variable
- var envPath = this.processInfo.getEnv("PATH");
-
- agentPath = ResolvePath(agentName, envPath, this.isDosLike);
-
- if (!agentPath && this.isDosLike) {
- // DOS-like systems: search for GPG in c:\gnupg, c:\gnupg\bin, d:\gnupg, d:\gnupg\bin
- var gpgPath = "c:\\gnupg;c:\\gnupg\\bin;d:\\gnupg;d:\\gnupg\\bin";
- agentPath = ResolvePath(agentName, gpgPath, this.isDosLike);
- }
-
- if (!agentPath && !this.isDosLike) {
- // Unix-like systems: check /usr/bin and /usr/local/bin
- gpgPath = "/usr/bin:/usr/local/bin";
- agentPath = ResolvePath(agentName, gpgPath, this.isDosLike)
- }
-
- if ((! agentPath) && this.isWin32) {
- // Look up in Windows Registry
- var enigMimeService = Components.classes[NS_ENIGMIMESERVICE_CONTRACTID].getService(Components.interfaces.nsIEnigMimeService);
- try {
- var regPath = getWinRegistryString("Software\\GNU\\GNUPG", "Install Directory", nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE);
- agentPath = ResolvePath(agentName, regPath, this.isDosLike)
- }
- catch (ex) {}
- }
-
- if (!agentPath) {
- this.initializationError = EnigGetString("gpgNotInPath");
- ERROR_LOG("enigmail.js: Enigmail: Error - "+this.initializationError+"\n");
- throw Components.results.NS_ERROR_FAILURE;
- }
- agentPath = agentPath.path;
- }
-
- CONSOLE_LOG("EnigmailAgentPath="+agentPath+"\n\n");
-
- // Escape any backslashes in agent path
- agentPath = agentPath.replace(/\\/g, "\\\\");
-
- this.agentType = agentType;
- this.agentPath = agentPath;
-
- var command = agentPath;
- if (agentType == "gpg") {
- command += " --version --version --batch --no-tty --charset utf8";
- }
-
- // This particular command execution seems to be essential on win32
- // (In particular, this should be the first command executed and
- // *should* use the shell, i.e., command.com)
- var outStrObj = new Object();
- var outLenObj = new Object();
- var errStrObj = new Object();
- var errLenObj = new Object();
-
- var exitCode = this.ipcService.execPipe(command, false, "", "", 0, [], 0,
- outStrObj, outLenObj, errStrObj, errLenObj);
-
- CONSOLE_LOG("enigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
- var outStr = outStrObj.value;
- if (errStrObj.value)
- outStr += errStrObj.value;
-
- CONSOLE_LOG(outStr+"\n");
-
- // detection for Gpg4Win wrapper
- if (outStr.search(/^gpgwrap.*;/) == 0) {
- var outLines = outStr.split(/[\n\r]+/);
- var firstLine = outLines[0];
- outLines.splice(0,1);
- outStr = outLines.join("\n");
- agentPath = firstLine.replace(/^.*;/, "")
-
- CONSOLE_LOG("gpg4win-gpgwrapper detected; EnigmailAgentPath="+agentPath+"\n\n");
- this.agentPath = agentPath.replace(/\\/g, "\\\\");
- }
-
- var versionParts = outStr.replace(/[\r\n].*/g,"").split(/ /);
- var gpgVersion = versionParts[versionParts.length-1]
-
- this.agentVersion = gpgVersion;
-
- // check GnuPG version number
- var evalVersion = this.agentVersion.match(/^\d+\.\d+/)
- if (evalVersion && evalVersion[0]<"1.2") {
- this.alertMsg(domWindow, EnigGetString("oldGpgVersion", gpgVersion));
- throw Components.results.NS_ERROR_FAILURE;
- }
-}
-
-Enigmail.prototype.detectGpgAgent =
-function (domWindow) {
- DEBUG_LOG("enigmail.js: detectGpgAgent\n");
-
- function extractAgentInfo(fullStr) {
- fullStr = fullStr.replace(/^.*\=/,"");
- fullStr = fullStr.replace(/^\;.*$/,"");
- fullStr = fullStr.replace(/[\n\r]*/g,"");
- return fullStr;
- }
-
-
- function resolveAgentPath(fileName) {
- var filePath = Components.classes[NS_LOCAL_FILE_CONTRACTID].createInstance(nsILocalFile);
-
- if (gEnigmailSvc.isDosLike) {
- fileName += ".exe";
- }
-
- filePath.initWithPath(gEnigmailSvc.agentPath);
-
- if (filePath) filePath = filePath.parent;
- if (filePath) {
- filePath.append(fileName);
- if (filePath.exists()) {
- return filePath;
- }
- }
-
- var foundPath = ResolvePath(fileName, gEnigmailSvc.processInfo.getEnv("PATH"), gEnigmailSvc.isDosLike)
- if ((! foundPath) && gEnigmailSvc.isWin32) {
- // Look up in Windows Registry
- var enigMimeService = Components.classes[NS_ENIGMIMESERVICE_CONTRACTID].getService(Components.interfaces.nsIEnigMimeService);
- try {
- var regPath = enigMimeService.getGpgPathFromRegistry();
- foundPath = ResolvePath(fileName, regPath, gEnigmailSvc.isDosLike)
- }
- catch (ex) {}
- }
-
- return foundPath;
- }
-
- var gpgAgentInfo = this.processInfo.getEnv("GPG_AGENT_INFO");
- if (gpgAgentInfo) {
- DEBUG_LOG("enigmail.js: detectGpgAgent: GPG_AGENT_INFO variable available\n");
- // env. variable suggests running gpg-agent
- this.gpgAgentInfo.preStarted = true;
- this.gpgAgentInfo.envStr = gpgAgentInfo;
- }
- else {
- DEBUG_LOG("enigmail.js: detectGpgAgent: no GPG_AGENT_INFO variable set\n");
- this.gpgAgentInfo.preStarted = false;
-
- if ((this.agentVersion >= "1.9.92") && (! this.isDosLike)) {
- var command = null;
- var gpgConnectAgent = resolveAgentPath("gpg-connect-agent");
-
- var outStrObj = new Object();
- var outLenObj = new Object();
- var errStrObj = new Object();
- var errLenObj = new Object();
-
- var envList = new Array();
-
- for (i in gEnvList) {
- envList.push(gEnvList[i]);
- }
-
- var envFile = Components.classes[NS_LOCAL_FILE_CONTRACTID].createInstance(nsILocalFile);
- envFile.initWithPath(this.determineGpgHomeDir());
- envFile.append(".gpg-agent-info");
-
- if (envFile.exists() && gpgConnectAgent &&
- gpgConnectAgent.isExecutable()) {
- // try to connect to a running gpg-agent
-
- this.gpgAgentInfo.envStr = extractAgentInfo(EnigReadFile(envFile));
-
- envList.push("GPG_AGENT_INFO="+this.gpgAgentInfo.envStr);
- var exitCode = this.ipcService.execPipe(gpgConnectAgent.path, false,
- "", "/echo OK\n", 0,
- envList, envList.length,
- outStrObj, outLenObj, errStrObj, errLenObj);
-
- CONSOLE_LOG("enigmail> "+gpgConnectAgent.path.replace(/\\\\/g, "\\")+"\n");
- if (exitCode==0) {
- DEBUG_LOG("enigmail.js: detectGpgAgent: found running gpg-agent. GPG_AGENT_INFO='"+this.gpgAgentInfo.envStr+"'\n");
- return;
- }
- else {
- DEBUG_LOG("enigmail.js: detectGpgAgent: no running gpg-agent:"+errStrObj.value+"\n");
- }
- }
-
- // and finally try to start gpg-agent
- var commandFile = resolveAgentPath("gpg-agent");
- if (commandFile && commandFile.isExecutable()) {
- command = commandFile.path;
- }
-
- if (command == null) {
- ERROR_LOG("enigmail.js: detectGpgAgent: gpg-agent not found\n");
- this.alertMsg(domWindow, EnigGetString("gpgAgentNotStarted", this.agentVersion));
- throw Components.results.NS_ERROR_FAILURE;
- }
-
- command += " --sh --daemon --write-env-file '"+envFile.path+"'";
- command += " --default-cache-ttl " + (this.getMaxIdleMinutes()*60);
- command += " --max-cache-ttl 999999"; // ca. 11 days
-
- var exitCode = this.ipcService.execPipe(command, false, "", "", 0,
- envList, envList.length,
- outStrObj, outLenObj, errStrObj, errLenObj);
-
- CONSOLE_LOG("enigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
- if (exitCode == 0) {
- var outStr = outStrObj.value;
- this.gpgAgentInfo.envStr = extractAgentInfo(outStrObj.value);
- }
- else {
- ERROR_LOG("enigmail.js: detectGpgAgent: gpg-agent output: "+errStrObj.value+"\n");
- this.alertMsg(domWindow, EnigGetString("gpgAgentNotStarted", this.agentVersion));
- throw Components.results.NS_ERROR_FAILURE;
- }
- }
- }
- DEBUG_LOG("enigmail.js: detectGpgAgent: GPG_AGENT_INFO='"+this.gpgAgentInfo.envStr+"'\n");
-}
-
-Enigmail.prototype.getAgentPath =
-function () {
- var p = "";
- try {
- p=this.prefBranch.getCharPref("agentAdditionalParam").replace(/([\\\`])/g, "\\$1");
- }
- catch (ex) {}
- return this.agentPath + " --charset utf8 " + p;
-}
-
-
-Enigmail.prototype.passwdCommand =
-function () {
-
- var command="";
-
- try {
- var gpgVersion = this.agentVersion.match(/^\d+\.\d+/);
- if (this.useGpgAgent()) {
- command = " --use-agent "
- }
- else {
- if (! gEnigmailSvc.prefBranch.getBoolPref("noPassphrase")) {
- command = " --passphrase-fd 0";
- if (gpgVersion && gpgVersion[0] >= "1.1") {
- command += " --no-use-agent ";
- }
- }
- }
- } catch (ex) {}
-
- return command;
-}
-
-Enigmail.prototype.fixExitCode =
-function (exitCode, statusFlags) {
- if ((this.agentType == "gpg") && (exitCode == 256)) {
- WARNING_LOG("enigmail.js: Enigmail.fixExitCode: Using gpg and exit code is 256. You seem to use cygwin-gpg, activating countermeasures.\n");
- if (statusFlags & (nsIEnigmail.BAD_PASSPHRASE | nsIEnigmail.UNVERIFIED_SIGNATURE)) {
- WARNING_LOG("enigmail.js: Enigmail.fixExitCode: Changing exitCode 256->2\n");
- exitCode = 2;
- } else {
- WARNING_LOG("enigmail.js: Enigmail.fixExitCode: Changing exitCode 256->0\n");
- exitCode = 0;
- }
- }
- if (((this.agentVersion >= "1.3") && (this.agentVersion < "1.4.1" )) && (this.isDosLike)) {
- if ((exitCode == 2) && (!(statusFlags & (nsIEnigmail.BAD_PASSPHRASE |
- nsIEnigmail.UNVERIFIED_SIGNATURE |
- nsIEnigmail.MISSING_PASSPHRASE |
- nsIEnigmail.BAD_ARMOR |
- nsIEnigmail.DECRYPTION_INCOMPLETE |
- nsIEnigmail.DECRYPTION_FAILED |
- nsIEnigmail.NO_PUBKEY |
- nsIEnigmail.NO_SECKEY)))) {
- WARNING_LOG("enigmail.js: Enigmail.fixExitCode: Using gpg version "+this.agentVersion+", activating countermeasures for file renaming bug.\n");
- exitCode = 0;
- }
- }
- return exitCode;
-}
-
-
-Enigmail.prototype.simpleExecCmd =
-function (command, exitCodeObj, errorMsgObj) {
- WRITE_LOG("enigmail.js: Enigmail.simpleExecCmd: command = "+command+"\n");
-
- var envList = [];
- envList = envList.concat(gEnvList);
-
- var prefix = this.getLogDirectoryPrefix();
- if (prefix && (gLogLevel >= 4)) {
-
- WriteFileContents(prefix+"enigcmd.txt", command.replace(/\\\\/g, "\\")+"\n");
- WriteFileContents(prefix+"enigenv.txt", envList.join(",")+"\n");
-
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: copied command line/env/input to files "+prefix+"enigcmd.txt/enigenv.txt/eniginp.txt\n");
- }
-
- var outObj = new Object();
- var errObj = new Object();
- var outLenObj = new Object();
- var errLenObj = new Object();
-
- CONSOLE_LOG("\nenigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
- try {
- var useShell = false;
- exitCodeObj.value = gEnigmailSvc.ipcService.execPipe(command,
- useShell,
- "",
- "", 0,
- envList, envList.length,
- outObj, outLenObj,
- errObj, errLenObj);
- } catch (ex) {
- exitCodeObj.value = -1;
- }
-
- var outputData = "";
- var errOutput = "";
-
- if (outObj.value)
- outputData = outObj.value;
-
- if (errObj.value)
- errorMsgObj.value = errObj.value;
-
- if (prefix && (gLogLevel >= 4)) {
- WriteFileContents(prefix+"enigout.txt", outputData);
- WriteFileContents(prefix+"enigerr.txt", errOutput);
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: copied command out/err data to files "+prefix+"enigout.txt/enigerr.txt\n");
- }
-
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: exitCode = "+exitCodeObj.value+"\n");
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: errOutput = "+errOutput+"\n");
-
- exitCodeObj.value = exitCodeObj.value;
-
- this.stillActive();
-
- return outputData;
-}
-
-
-Enigmail.prototype.execCmd =
-function (command, passphrase, input, exitCodeObj, statusFlagsObj,
- statusMsgObj, errorMsgObj) {
- WRITE_LOG("enigmail.js: Enigmail.execCmd: command = "+command+"\n");
-
- if ((typeof input) != "string") input = "";
- var prependPassphrase = ((typeof passphrase) == "string");
-
- var envList = [];
- envList = envList.concat(gEnvList);
-
- var preInput;
-
- if (prependPassphrase) {
- envList.push("PGPPASSFD=0");
- preInput = passphrase;
- input = "\n" + input;
-
- } else {
- preInput = "";
- }
-
- var prefix = this.getLogDirectoryPrefix();
- if (prefix && (gLogLevel >= 4)) {
-
- if (prependPassphrase) {
- // Obscure passphrase
- WriteFileContents(prefix+"eniginp.txt", "<passphrase>"+input);
- } else {
- WriteFileContents(prefix+"eniginp.txt", input);
- }
-
- WriteFileContents(prefix+"enigcmd.txt", command.replace(/\\\\/g, "\\")+"\n");
- WriteFileContents(prefix+"enigenv.txt", envList.join(",")+"\n");
-
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: copied command line/env/input to files "+prefix+"enigcmd.txt/enigenv.txt/eniginp.txt\n");
- }
-
- var outObj = new Object();
- var errObj = new Object();
- var outLenObj = new Object();
- var errLenObj = new Object();
- var blockSeparationObj = new Object();
-
- CONSOLE_LOG("\nenigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
- try {
- var useShell = false;
- exitCodeObj.value = gEnigmailSvc.ipcService.execPipe(command,
- useShell,
- preInput,
- input, input.length,
- envList, envList.length,
- outObj, outLenObj,
- errObj, errLenObj);
- } catch (ex) {
- exitCodeObj.value = -1;
- }
-
- var outputData = "";
- var errOutput = "";
-
- if (outObj.value)
- outputData = outObj.value;
-
- if (errObj.value)
- errOutput = errObj.value;
-
- if (prefix && (gLogLevel >= 4)) {
- WriteFileContents(prefix+"enigout.txt", outputData);
- WriteFileContents(prefix+"enigerr.txt", errOutput);
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: copied command out/err data to files "+prefix+"enigout.txt/enigerr.txt\n");
- }
-
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: exitCode = "+exitCodeObj.value+"\n");
- DEBUG_LOG("enigmail.js: Enigmail.execCmd: errOutput = "+errOutput+"\n");
-
-
- errorMsgObj.value = this.parseErrorOutput(errOutput, statusFlagsObj, statusMsgObj, blockSeparationObj);
- exitCodeObj.value = this.fixExitCode(exitCodeObj.value, statusFlagsObj.value);
-
- if (blockSeparationObj.value.indexOf(" ") > 0) {
- exitCodeObj.value = 2;
- }
-
- CONSOLE_LOG(errorMsgObj.value+"\n");
-
- this.stillActive();
-
- return outputData;
-}
-
-
-Enigmail.prototype.execStart =
-function (command, needPassphrase, domWindow, prompter, listener,
- noProxy, statusFlagsObj) {
- WRITE_LOG("enigmail.js: Enigmail.execStart: command = "+command+", needPassphrase="+needPassphrase+", domWindow="+domWindow+", prompter="+prompter+", listener="+listener+", noProxy="+noProxy+"\n");
-
- statusFlagsObj.value = 0;
-
- var envList = [];
- envList = envList.concat(gEnvList);
-
- var passphrase = null;
- var useAgentObj = {value: false};
-
- if (needPassphrase) {
- command += this.passwdCommand();
-
- var passwdObj = new Object();
-
- if (!GetPassphrase(domWindow, passwdObj, useAgentObj, 0)) {
- ERROR_LOG("enigmail.js: Enigmail.execStart: Error - no passphrase supplied\n");
-
- statusFlagsObj.value |= nsIEnigmail.MISSING_PASSPHRASE;
- return null;
- }
-
- passphrase = passwdObj.value;
- }
-
- var prefix = this.getLogDirectoryPrefix();
- if (prefix && (gLogLevel >= 4)) {
-
- WriteFileContents(prefix+"enigcmd.txt", command.replace(/\\\\/g, "\\")+"\n");
- WriteFileContents(prefix+"enigenv.txt", envList.join(",")+"\n");
-
- DEBUG_LOG("enigmail.js: Enigmail.execStart: copied command line/env to files "+prefix+"enigcmd.txt/enigenv.txt\n");
- }
-
- CONSOLE_LOG("\nenigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
- var pipetrans = Components.classes[NS_PIPETRANSPORT_CONTRACTID].createInstance();
-
- pipetrans = pipetrans.QueryInterface(Components.interfaces.nsIPipeTransport);
- DEBUG_LOG("enigmail.js: Enigmail.execStart: pipetrans = " + pipetrans + "\n");
-
- try {
- var ipcBuffer = Components.classes[NS_IPCBUFFER_CONTRACTID].createInstance(Components.interfaces.nsIIPCBuffer);
- ipcBuffer.open(ERROR_BUFFER_SIZE, false);
-
- var mergeStderr = false;
- pipetrans.initCommand(command, envList, envList.length,
- 0, "", noProxy, mergeStderr,
- ipcBuffer);
-
- if (listener) {
- pipetrans.asyncRead(listener, null, 0, -1, 0);
- }
-
- if (needPassphrase && ! useAgentObj.value) {
- // Write to child STDIN
- // (ignore errors, because child may have exited already, closing STDIN)
- try {
- if (passphrase) {
- pipetrans.writeSync(passphrase, passphrase.length);
- }
- pipetrans.writeSync("\n", 1);
- } catch (ex) {}
- }
-
- return pipetrans;
-
- } catch (ex) {
- CONSOLE_LOG("enigmail.js: Enigmail.execStart: Error - Failed to start PipeTransport\n");
- return null;
- }
-}
-
-
-Enigmail.prototype.parseErrorOutput =
-function (errOutput, statusFlagsObj, statusMsgObj, blockSeparationObj) {
-
- WRITE_LOG("enigmail.js: Enigmail.parseErrorOutput:\n");
- var errLines = errOutput.split(/\r?\n/);
-
- // Discard last null string, if any
- if ((errLines.length > 1) && !errLines[errLines.length-1])
- errLines.pop();
-
- var errArray = new Array();
- var statusArray = new Array();
- var errCode = 0;
-
- var statusPat = /^\[GNUPG:\] /;
- var statusFlags = 0;
-
- for (var j=0; j<errLines.length; j++) {
- if (errLines[j].search(statusPat) == 0) {
- var statusLine = errLines[j].replace(statusPat,"");
- statusArray.push(statusLine);
-
- var matches = statusLine.match(/^(\w+)\b/);
-
- if (matches && (matches.length > 1)) {
- var flag = gStatusFlags[matches[1]];
-
- if (flag == nsIEnigmail.NODATA) {
- // Recognize only "NODATA 1"
- if (statusLine.search(/NODATA 1\b/) < 0)
- flag = 0;
- }
- else if (flag == nsIEnigmail.NO_SC_AVAILABLE) {
- var a = statusLine.split(/ +/);
- errCode = Number(a[1]);
- }
-
- if (flag)
- statusFlags |= flag;
-
- //DEBUG_LOG("enigmail.js: Enigmail.parseErrorOutput: status match '+matches[1]+"\n");
- }
-
- } else {
- errArray.push(errLines[j]);
- }
- }
-
- // detect forged message insets
-
- if (! blockSeparationObj) {
- blockSeparationObj = new Object();
- }
- blockSeparationObj.value = "";
-
- var plaintextCount=0;
- var withinCryptoMsg = false;
- var cryptoStartPat = /^BEGIN_DECRYPTION/;
- var cryptoEndPat = /^END_DECRYPTION/;
- var plaintextPat = /^PLAINTEXT /;
- var plaintextLengthPat = /^PLAINTEXT_LENGTH /;
- for (j=0; j<statusArray.length; j++) {
- if (statusArray[j].search(cryptoStartPat) == 0) {
- withinCryptoMsg = true;
- }
- else if (withinCryptoMsg && statusArray[j].search(cryptoEndPat) == 0) {
- withinCryptoMsg = false;
- }
- else if (statusArray[j].search(plaintextPat) == 0) {
- ++plaintextCount;
- if ((statusArray.length > j+1) && (statusArray[j+1].search(plaintextLengthPat) == 0)) {
- matches = statusArray[j+1].match(/(\w+) (\d+)/);
- if (matches.length>=3) {
- blockSeparationObj.value += (withinCryptoMsg ? "1" : "0") + ":"+matches[2]+" ";
- }
- }
- else {
- // strange: we got PLAINTEXT XX, but not PLAINTEXT_LENGTH XX
- blockSeparationObj.value += (withinCryptoMsg ? "1" : "0") + ":0 ";
- }
- }
- }
-
- if (plaintextCount > 1) statusFlags |= (nsIEnigmail.PARTIALLY_PGP | nsIEnigmail.DECRYPTION_FAILED | nsIEnigmail.BAD_SIGNATURE);
-
- blockSeparationObj.value = blockSeparationObj.value.replace(/ $/, "");
- statusFlagsObj.value = statusFlags;
- statusMsgObj.value = statusArray.join("\n");
- var errorMsg = errArray.join("\n");
-
- if ((statusFlags & nsIEnigmail.NO_SC_AVAILABLE) && errCode >0) {
- switch (errCode) {
- case 4:
- errorMsg = EnigGetString("sc.noCardAvailable");
- break;
- case 5:
- errorMsg = EnigGetString("sc.noReaderAvailable");
- break;
- }
- }
-
-
- DEBUG_LOG("enigmail.js: Enigmail.parseErrorOutput: statusFlags = "+bytesToHex(pack(statusFlags,4))+"\n");
- //DEBUG_LOG("enigmail.js: Enigmail.parseErrorOutput: statusMsg = "+statusMsgObj.value+"\n");
-
- return errorMsg;
-}
-
-Enigmail.prototype.execEnd =
-function (pipeTransport, statusFlagsObj, statusMsgObj, cmdLineObj, errorMsgObj, blockSeparationObj) {
-
- WRITE_LOG("enigmail.js: Enigmail.execEnd: \n");
-
- // Extract command line
- try {
- var request = pipeTransport.QueryInterface(Components.interfaces.nsIRequest);
-
- cmdLineObj.value = request.name;
- } catch (ex) {
- cmdLineObj.value = "unknown-command";
- }
-
- // Extract exit code and error output from pipeTransport
- var exitCode = pipeTransport.exitCode();
-
- var errListener = pipeTransport.console.QueryInterface(Components.interfaces.nsIIPCBuffer);
-
- var errOutput = errListener.getData();
-
- // Terminate pipeTransport
- errListener.shutdown();
-
- pipeTransport.terminate();
-
- var prefix = this.getLogDirectoryPrefix();
- if (prefix && (gLogLevel >= 4)) {
- WriteFileContents(prefix+"enigerr.txt", errOutput);
- DEBUG_LOG("enigmail.js: Enigmail.execEnd: copied command err output to file "+prefix+"enigerr.txt\n");
- }
-
- DEBUG_LOG("enigmail.js: Enigmail.execEnd: exitCode = "+exitCode+"\n");
- DEBUG_LOG("enigmail.js: Enigmail.execEnd: errOutput = "+errOutput+"\n");
-
-
- errorMsgObj.value = this.parseErrorOutput(errOutput, statusFlagsObj, statusMsgObj, blockSeparationObj);
-
- if (errOutput.search(/jpeg image of size \d+/)>-1) {
- statusFlagsObj.value |= nsIEnigmail.PHOTO_AVAILABLE;
- }
- if (blockSeparationObj && blockSeparationObj.value.indexOf(" ") > 0) {
- exitCode = 2;
- }
-
- CONSOLE_LOG(errorMsgObj.value+"\n");
-
- //DEBUG_LOG("enigmail.js: Enigmail.execEnd: statusFlags = "+bytesToHex(pack(statusFlags,4))+"\n");
- //DEBUG_LOG("enigmail.js: Enigmail.execEnd: statusMsg = "+statusMsgObj.value+"\n");
-
- this.stillActive();
-
- return exitCode;
-}
-
-
-// Remove all quoted strings (and angle brackets) from a list of email
-// addresses, returning a list of pure email address
-function EnigStripEmail(mailAddrs) {
-
- var qStart, qEnd;
- while ((qStart = mailAddrs.indexOf('"')) != -1) {
- qEnd = mailAddrs.indexOf('"', qStart+1);
- if (qEnd == -1) {
- ERROR_LOG("enigmail.js: EnigStripEmail: Unmatched quote in mail address: "+mailAddrs+"\n");
- mailAddrs=mailAddrs.replace(/\"/g, "");
- break;
- }
-
- mailAddrs = mailAddrs.substring(0,qStart) + mailAddrs.substring(qEnd+1);
- }
-
- // Eliminate all whitespace, just to be safe
- mailAddrs = mailAddrs.replace(/\s+/g,"");
-
- // Extract pure e-mail address list (stripping out angle brackets)
- mailAddrs = mailAddrs.replace(/(^|,)[^,]*<([^>]+)>[^,]*/g,"$1$2");
-
- return mailAddrs;
-}
-
-
-Enigmail.prototype.stripWhitespace = function(sendFlags) {
- var stripThem=false;
- if ((sendFlags & nsIEnigmail.SEND_SIGNED) &&
- (!(sendFlags & nsIEnigmail.SEND_ENCRYPTED))) {
- if (this.agentVersion >= "1.4.0" && this.agentVersion < "1.4.1") {
- stripThem = true;
- }
- }
-
- return stripThem;
-}
-
-
-Enigmail.prototype.encryptMessage =
-function (parent, uiFlags, hashAlgorithm, plainText, fromMailAddr, toMailAddr,
- sendFlags, exitCodeObj, statusFlagsObj, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.encryptMessage: "+plainText.length+" bytes from "+fromMailAddr+" to "+toMailAddr+" ("+sendFlags+")\n");
-
- exitCodeObj.value = -1;
- statusFlagsObj.value = 0;
- errorMsgObj.value = "";
-
- var hashAlgo = gMimeHashAlgorithms[this.prefBranch.getIntPref("mimeHashAlgorithm")];
-
- if (hashAlgo == null) {
- hashAlgo = hashAlgorithm;
- }
-
- if (!plainText) {
- DEBUG_LOG("enigmail.js: Enigmail.encryptMessage: NO ENCRYPTION!\n");
- exitCodeObj.value = 0;
- return plainText;
- }
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return "";
- }
-
- var defaultSend = sendFlags & nsIEnigmail.SEND_DEFAULT;
- var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
- var encryptMsg = sendFlags & nsIEnigmail.SEND_ENCRYPTED;
-
- if (encryptMsg) {
- // First convert all linebreaks to newlines
- plainText = plainText.replace(/\r\n/g, "\n");
- plainText = plainText.replace(/\r/g, "\n");
-
- // Using platform-specific linebreaks confuses some windows mail clients,
- // so we convert everything to windows like good old PGP worked anyway.
- plainText = plainText.replace(/\n/g, "\r\n");
- }
-
- var noProxy = true;
- var startErrorMsgObj = new Object();
-
- var ipcBuffer = Components.classes[NS_IPCBUFFER_CONTRACTID].createInstance(Components.interfaces.nsIIPCBuffer);
- var bufferSize = ((plainText.length + 20000)/1024).toFixed(0)*1024;
- if (MSG_BUFFER_SIZE > bufferSize)
- bufferSize=MSG_BUFFER_SIZE;
-
- ipcBuffer.open(bufferSize, false);
-
- var pipeTrans = this.encryptMessageStart(parent, null, uiFlags,
- fromMailAddr, toMailAddr,
- hashAlgo, sendFlags, ipcBuffer,
- noProxy, startErrorMsgObj);
-
- if (!pipeTrans) {
- errorMsgObj.value = startErrorMsgObj.value;
-
- return "";
- }
-
- // Write to child STDIN
- // (ignore errors, because child may have exited already, closing STDIN)
- try {
- pipeTrans.writeSync(plainText, plainText.length);
- } catch (ex) {}
-
- // Wait for child STDOUT to close
- pipeTrans.join();
-
- var cipherText = ipcBuffer.getData();
- ipcBuffer.shutdown();
-
- var exitCode = this.encryptMessageEnd(parent, null, uiFlags, sendFlags,
- plainText.length, pipeTrans,
- statusFlagsObj, errorMsgObj);
-
- exitCodeObj.value = exitCode;
-
- if ((exitCodeObj.value == 0) && !cipherText)
- exitCodeObj.value = -1;
-
- if (exitCodeObj.value == 0) {
- // Normal return
- return cipherText;
- }
-
- // Error processing
- ERROR_LOG("enigmail.js: Enigmail.encryptMessage: Error in command execution\n");
-
- return "";
-}
-
-
-Enigmail.prototype.encryptMessageEnd =
-function (parent, prompter, uiFlags, sendFlags, outputLen, pipeTransport,
- statusFlagsObj, errorMsgObj)
-{
- DEBUG_LOG("enigmail.js: Enigmail.encryptMessageEnd: uiFlags="+uiFlags+", sendFlags="+bytesToHex(pack(sendFlags,4))+", outputLen="+outputLen+", pipeTransport="+pipeTransport+"\n");
-
- var pgpMime = uiFlags & nsIEnigmail.UI_PGP_MIME;
-
- statusFlagsObj.value = 0;
- errorMsgObj.value = "";
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return -1;
- }
-
- // Terminate job and parse error output
- var statusMsgObj = new Object();
- var cmdLineObj = new Object();
- var cmdErrorMsgObj = new Object();
-
- var exitCode = this.execEnd(pipeTransport, statusFlagsObj, statusMsgObj, cmdLineObj, cmdErrorMsgObj);
- var statusMsg = statusMsgObj.value;
- exitCode = this.fixExitCode(exitCode, statusFlagsObj.value);
- if ((exitCode == 0) && !outputLen) {
- exitCode = -1;
- }
-
- if (exitCode == 0) {
- // Normal return
- errorMsgObj.value = cmdErrorMsgObj.value;
- return 0;
- }
-
- // Error processing
- ERROR_LOG("enigmail.js: Enigmail.encryptMessageEnd: Error in command execution\n");
-
- var defaultSend = sendFlags & nsIEnigmail.SEND_DEFAULT;
- var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
- var encryptMsg = sendFlags & nsIEnigmail.SEND_ENCRYPTED;
-
- if ( (statusFlagsObj.value & nsIEnigmail.BAD_PASSPHRASE) ||
- ((this.agentType == "pgp") && signMsg && (exitCode != 21)) ) {
- // "Unremember" passphrase on error return
- this.clearCachedPassphrase();
- }
-
- if (statusFlagsObj.value & nsIEnigmail.BAD_PASSPHRASE) {
- errorMsgObj.value = EnigGetString("badPhrase");
- }
- else if (statusFlagsObj.value & nsIEnigmail.INVALID_RECIPIENT) {
- errorMsgObj.value = statusMsg;
-
- }
- else {
- errorMsgObj.value = EnigGetString("badCommand");
- }
-
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value += "\n\n" + this.agentType + " "+EnigGetString("cmdLine");
- errorMsgObj.value += "\n" + cmdLineObj.value;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
-
- if (pgpMime && errorMsgObj.value) {
- if (prompter)
- prompter.alert(EnigGetString("enigAlert"), errorMsgObj.value);
- else
- this.alertMsg(parent, errorMsgObj.value);
- }
-
- return exitCode;
-}
-
-var gPGPHashNum = {md5:1, sha1:2, ripemd160:3, sha256:4, sha384:5, sha512:6};
-
-Enigmail.prototype.getEncryptCommand =
-function (fromMailAddr, toMailAddr, hashAlgorithm, sendFlags, isAscii, errorMsgObj) {
- try {
- fromMailAddr = EnigStripEmail(fromMailAddr);
- toMailAddr = EnigStripEmail(toMailAddr);
-
- } catch (ex) {
- errorMsgObj.value = EnigGetString("invalidEmail");
- return null;
- }
-
- var defaultSend = sendFlags & nsIEnigmail.SEND_DEFAULT;
- var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
- var encryptMsg = sendFlags & nsIEnigmail.SEND_ENCRYPTED;
- var usePgpMime = sendFlags & nsIEnigmail.SEND_PGP_MIME;
-
- var useDefaultComment = false;
- try {
- useDefaultComment = this.prefBranch.getBoolPref("useDefaultComment")
- } catch(ex) { }
-
- var hushMailSupport = false;
- try {
- hushMailSupport = this.prefBranch.getBoolPref("hushMailSupport")
- } catch(ex) { }
-
- var detachedSig = (usePgpMime || (sendFlags & nsIEnigmail.SEND_ATTACHMENT)) && signMsg && !encryptMsg;
-
- var toAddrList = toMailAddr.split(/\s*,\s*/);
- var k;
-
- var encryptCommand = this.getAgentPath();
-
- encryptCommand += GPG_BATCH_OPTS;
-
- if (!useDefaultComment)
- encryptCommand += " --comment "+this.quoteSign+GPG_COMMENT_OPT.replace(/\%s/, this.vendor)+this.quoteSign;
-
- var angledFromMailAddr = ((fromMailAddr.search(/^0x/) == 0) || hushMailSupport)
- ? fromMailAddr : "<" + fromMailAddr + ">";
- angledFromMailAddr = angledFromMailAddr.replace(/([\"\'\`])/g, "\\$1");
-
- if (signMsg && hashAlgorithm) {
- encryptCommand += " --digest-algo "+hashAlgorithm;
- }
-
- if (encryptMsg) {
- switch (isAscii) {
- case ENC_TYPE_MSG:
- encryptCommand += " -a -t";
- break;
- case ENC_TYPE_ATTACH_ASCII:
- encryptCommand += " -a";
- }
-
- encryptCommand += " -e";
-
- if (signMsg)
- encryptCommand += " -s";
-
- if (sendFlags & nsIEnigmail.SEND_ALWAYS_TRUST) {
- if (this.agentVersion >= "1.4") {
- encryptCommand += " --trust-model always"
- }
- else {
- encryptCommand += " --always-trust";
- }
- }
- if ((sendFlags & nsIEnigmail.SEND_ENCRYPT_TO_SELF) && fromMailAddr)
- encryptCommand += " --encrypt-to " + angledFromMailAddr;
-
- for (k=0; k<toAddrList.length; k++) {
- toAddrList[k] = toAddrList[k].replace(/\'/g, "\\'");
- encryptCommand += (hushMailSupport || (toAddrList[k].search(/^0x/) == 0)) ? " -r "+ toAddrList[k]
- :" -r <" + toAddrList[k] + ">";
- }
-
- } else if (detachedSig) {
- encryptCommand += " -s -b";
-
- switch (isAscii) {
- case ENC_TYPE_MSG:
- encryptCommand += " -a -t";
- break;
- case ENC_TYPE_ATTACH_ASCII:
- encryptCommand += " -a";
- }
-
- } else if (signMsg) {
- encryptCommand += " -t --clearsign";
- }
-
- if (fromMailAddr) {
- encryptCommand += " -u " + angledFromMailAddr;
- }
-
- return encryptCommand;
-}
-
-Enigmail.prototype.determineHashAlgorithm =
-function (prompter, uiFlags, fromMailAddr, hashAlgoObj) {
- DEBUG_LOG("enigmail.js: Enigmail.determineHashAlgorithm: from "+fromMailAddr+"\n");
-
- var exitCodeObj = new Object();
- var statusFlagsObj = new Object();
- var errorMsgObj = new Object();
-
- var sendFlags = nsIEnigmail.SEND_TEST | nsIEnigmail.SEND_SIGNED;
-
- var hashAlgo = gMimeHashAlgorithms[this.prefBranch.getIntPref("mimeHashAlgorithm")];
-
- if (!this.initialized) {
- DEBUG_LOG("enigmail.js: Enigmail.determineHashAlgorithm: Enigmail not initialized\n")
- this.alertMsg(null, EnigGetString("notInit"));
- return 2;
- }
-
- var passwdObj = new Object();
- var useAgentObj = new Object();
- // Get the passphrase and remember it for the next 2 subsequent calls to gpg
- if (!GetPassphrase(null, passwdObj, useAgentObj, 2)) {
- ERROR_LOG("enigmail.js: Enigmail.determineHashAlgorithm: Error - no passphrase supplied\n");
-
- return 3;
- }
-
- var noProxy = true;
- var testUiFlags = nsIEnigmail.UI_TEST;
-
- var ipcBuffer = Components.classes[NS_IPCBUFFER_CONTRACTID].createInstance(Components.interfaces.nsIIPCBuffer);
- var bufferSize = 10240;
-
- ipcBuffer.open(bufferSize, false);
-
- var pipeTrans = this.encryptMessageStart(null, prompter, testUiFlags,
- fromMailAddr, "",
- hashAlgo, sendFlags, ipcBuffer,
- noProxy, errorMsgObj);
- if (!pipeTrans) {
- return 1;
- }
-
- var plainText = "Dummy Test";
-
- // Write to child STDIN
- // (ignore errors, because child may have exited already, closing STDIN)
- try {
- pipeTrans.writeSync(plainText, plainText.length);
- } catch (ex) {}
-
- // Wait for child STDOUT to close
- pipeTrans.join();
-
- var msgText = ipcBuffer.getData();
- ipcBuffer.shutdown();
-
- var exitCode = this.encryptMessageEnd(null, prompter, testUiFlags, sendFlags,
- plainText.length, pipeTrans,
- statusFlagsObj, errorMsgObj);
-
- if ((exitCode == 0) && !msgText) exitCode = 1;
- // if (exitCode > 0) exitCode = -exitCode;
-
- if (exitCode != 0) {
- // Abormal return
- if (statusFlagsObj.value & nsIEnigmail.BAD_PASSPHRASE) {
- // "Unremember" passphrase on error return
- this.clearCachedPassphrase();
- errorMsgObj.value = EnigGetString("badPhrase");
- }
- this.alertMsg(null, errorMsgObj.value);
- return exitCode;
- }
-
- var m = msgText.match(/^(Hash: )(.*)$/m);
- if (m.length > 2 && m[1] == "Hash: ") {
- var hashAlgorithm = m[2].toLowerCase();
- for (var i=1; i < gMimeHashAlgorithms.length; i++) {
- if (gMimeHashAlgorithms[i] == hashAlgorithm) {
- DEBUG_LOG("enigmail.js: Enigmail.determineHashAlgorithm: found hashAlgorithm "+hashAlgorithm+"\n");
- hashAlgoObj.value = hashAlgorithm;
- return 0;
- }
- }
- }
-
- return 2;
-}
-
-
-Enigmail.prototype.encryptMessageStart =
-function (parent, prompter, uiFlags, fromMailAddr, toMailAddr,
- hashAlgorithm, sendFlags, listener, noProxy, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.encryptMessageStart: prompter="+prompter+", uiFlags="+uiFlags+", from "+fromMailAddr+" to "+toMailAddr+", hashAlgorithm="+hashAlgorithm+" ("+bytesToHex(pack(sendFlags,4))+")\n");
-
- var pgpMime = uiFlags & nsIEnigmail.UI_PGP_MIME;
-
- errorMsgObj.value = "";
-
- if (!sendFlags) {
- DEBUG_LOG("enigmail.js: Enigmail.encryptMessageStart: NO ENCRYPTION!\n");
- errorMsgObj.value = EnigGetString("notRequired");
- return null;
- }
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return null;
- }
-
- if (this.keygenProcess) {
- errorMsgObj.value = EnigGetString("notComplete");
- return null;
- }
-
- var encryptCommand = this.getEncryptCommand(fromMailAddr, toMailAddr, hashAlgorithm, sendFlags, ENC_TYPE_MSG, errorMsgObj);
- if (! encryptCommand)
- return null;
-
- var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
-
- var statusFlagsObj = new Object();
- var pipetrans = this.execStart(encryptCommand, signMsg, parent, prompter,
- listener, noProxy, statusFlagsObj);
-
- if (statusFlagsObj.value & nsIEnigmail.MISSING_PASSPHRASE) {
- ERROR_LOG("enigmail.js: Enigmail.encryptMessageStart: Error - no passphrase supplied\n");
-
- errorMsgObj.value = null;
- }
-
- if (pgpMime && errorMsgObj.value) {
- if (prompter)
- prompter.alert(EnigGetString("enigAlert"), errorMsgObj.value);
- else
- this.alertMsg(parent, errorMsgObj.value);
- }
-
- return pipetrans;
-}
-
-
-// Locates STRing in TEXT occurring only at the beginning of a line
-function IndexOfArmorDelimiter(text, str, offset) {
- //DEBUG_LOG("enigmail.js: IndexOfArmorDelimiter: "+str+", "+offset+"\n");
-
- while (offset < text.length) {
-
- var loc = text.indexOf(str, offset);
-
- if ((loc < 1) || (text.charAt(loc-1) == "\n"))
- return loc;
-
- offset = loc + str.length;
- }
-
- return -1;
-}
-
-// Locates offsets bracketing PGP armored block in text,
-// starting from given offset, and returns block type string.
-// beginIndex = offset of first character of block
-// endIndex = offset of last character of block (newline)
-// If block is not found, the null string is returned;
-
-Enigmail.prototype.locateArmoredBlock =
-function (text, offset, indentStr, beginIndexObj, endIndexObj,
- indentStrObj) {
- DEBUG_LOG("enigmail.js: Enigmail.locateArmoredBlock: "+offset+", '"+indentStr+"'\n");
-
- beginIndexObj.value = -1;
- endIndexObj.value = -1;
-
- var beginIndex = IndexOfArmorDelimiter(text, indentStr+"-----BEGIN PGP ", offset);
-
- if (beginIndex == -1) {
- var blockStart=text.indexOf("-----BEGIN PGP ")
- if (blockStart>=0) {
- var indentStart=text.search(/\n.*\-\-\-\-\-BEGIN PGP /)+1;
- indentStrObj.value=text.substring(indentStart, blockStart);
- indentStr=indentStrObj.value;
- beginIndex = IndexOfArmorDelimiter(text, indentStr+"-----BEGIN PGP ", offset);
- }
- }
-
- if (beginIndex == -1)
- return "";
-
- // Locate newline at end of armor header
- offset = text.indexOf("\n", beginIndex);
-
- if (offset == -1)
- return "";
-
- var endIndex = IndexOfArmorDelimiter(text, indentStr+"-----END PGP ", offset);
-
- if (endIndex == -1)
- return "";
-
- // Locate newline at end of PGP block
- endIndex = text.indexOf("\n", endIndex);
-
- if (endIndex == -1) {
- // No terminating newline
- endIndex = text.length - 1;
- }
-
- var blockHeader = text.substr(beginIndex, offset-beginIndex+1);
-
- var blockRegex = new RegExp("^" + indentStr +
- "-----BEGIN PGP (.*)-----\\s*\\r?\\n");
-
- var matches = blockHeader.match(blockRegex);
-
- var blockType = "";
- if (matches && (matches.length > 1)) {
- blockType = matches[1];
- DEBUG_LOG("enigmail.js: Enigmail.locateArmoredBlock: blockType="+blockType+"\n");
- }
-
- if (blockType == "UNVERIFIED MESSAGE") {
- // Skip any unverified message block
- return this.locateArmoredBlock(text, endIndex+1, indentStr,
- beginIndexObj, endIndexObj, indentStrObj);
- }
-
- beginIndexObj.value = beginIndex;
- endIndexObj.value = endIndex;
-
- return blockType;
-}
-
-
-Enigmail.prototype.extractSignaturePart =
-function (signatureBlock, part) {
- DEBUG_LOG("enigmail.js: Enigmail.extractSignaturePart: part="+part+"\n");
-
- // Search for blank line
- var offset = signatureBlock.search(/\n\s*\r?\n/);
- if (offset == -1)
- return "";
-
- offset = signatureBlock.indexOf("\n", offset+1);
- if (offset == -1)
- return "";
-
- var beginIndex = signatureBlock.indexOf("-----BEGIN PGP SIGNATURE-----",
- offset+1);
- if (beginIndex == -1)
- return "";
-
- if (part == nsIEnigmail.SIGNATURE_TEXT) {
- var signedText = signatureBlock.substr(offset+1, beginIndex-offset-1);
-
- // Unescape leading dashes
- signedText = signedText.replace(/^- -/, "-");
- signedText = signedText.replace(/\n- -/g, "\n-");
- signedText = signedText.replace(/\r- -/g, "\r-");
-
- return signedText;
- }
-
- // Locate newline at end of armor header
- offset = signatureBlock.indexOf("\n", beginIndex);
-
- if (offset == -1)
- return "";
-
- var endIndex = signatureBlock.indexOf("-----END PGP SIGNATURE-----", offset);
- if (endIndex == -1)
- return "";
-
- var signBlock = signatureBlock.substr(offset, endIndex-offset);
-
- // Search for blank line
- var armorIndex = signBlock.search(/\n\s*\r?\n/);
- if (armorIndex == -1)
- return "";
-
- if (part == nsIEnigmail.SIGNATURE_HEADERS) {
- return signBlock.substr(1, armorIndex);
- }
-
- armorIndex = signBlock.indexOf("\n", armorIndex+1);
- if (armorIndex == -1)
- return "";
-
- if (part == nsIEnigmail.SIGNATURE_ARMOR) {
- var armorData = signBlock.substr(armorIndex, endIndex-armorIndex);
- armorData = armorData.replace(/\s*/g, "");
- return armorData;
- }
-
- return "";
-}
-
-
-Enigmail.prototype.decryptMessage =
-function (parent, uiFlags, cipherText, signatureObj, exitCodeObj,
- statusFlagsObj, keyIdObj, userIdObj, sigDetailsObj, errorMsgObj,
- blockSeparationObj) {
- DEBUG_LOG("enigmail.js: Enigmail.decryptMessage: "+cipherText.length+" bytes, "+uiFlags+"\n");
-
- if (! cipherText)
- return "";
-
- var interactive = uiFlags & nsIEnigmail.UI_INTERACTIVE;
- var allowImport = uiFlags & nsIEnigmail.UI_ALLOW_KEY_IMPORT;
- var unverifiedEncryptedOK = uiFlags & nsIEnigmail.UI_UNVERIFIED_ENC_OK;
- var oldSignature = signatureObj.value;
-
- DEBUG_LOG("enigmail.js: Enigmail.decryptMessage: oldSignature="+oldSignature+"\n");
-
- signatureObj.value = "";
- exitCodeObj.value = -1;
- statusFlagsObj.value = 0;
- keyIdObj.value = "";
- userIdObj.value = "";
- errorMsgObj.value = "";
-
- var beginIndexObj = new Object();
- var endIndexObj = new Object();
- var indentStrObj = new Object();
- var blockType = this.locateArmoredBlock(cipherText, 0, "",
- beginIndexObj, endIndexObj, indentStrObj);
-
- if (!blockType || blockType == "SIGNATURE") {
- errorMsgObj.value = EnigGetString("noPGPblock");
- statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
- return "";
- }
-
- var publicKey = (blockType == "PUBLIC KEY BLOCK");
-
- var verifyOnly = (blockType == "SIGNED MESSAGE");
-
- var pgpBlock = cipherText.substr(beginIndexObj.value,
- endIndexObj.value - beginIndexObj.value + 1);
-
- if (indentStrObj.value) {
- RegExp.multiline = true;
- var indentRegexp = new RegExp("^"+indentStrObj.value, "g");
- pgpBlock = pgpBlock.replace(indentRegexp, "");
- RegExp.multiline = false;
- }
-
- var head = cipherText.substr(0, beginIndexObj.value);
- var tail = cipherText.substr(endIndexObj.value+1,
- cipherText.length - endIndexObj.value - 1);
-
- if (publicKey) {
- if (!allowImport) {
- errorMsgObj.value = EnigGetString("decryptToImport");
- statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
- statusFlagsObj.value |= nsIEnigmail.INLINE_KEY;
-
- return "";
- }
-
- // Import public key
- var importFlags = nsIEnigmail.UI_INTERACTIVE;
- exitCodeObj.value = this.importKey(parent, importFlags, pgpBlock, "",
- errorMsgObj);
- if (exitCodeObj.value == 0) {
- statusFlagsObj.value |= nsIEnigmail.IMPORTED_KEY;
- }
- return "";
- }
-
- var newSignature = "";
-
- if (verifyOnly) {
- newSignature = this.extractSignaturePart(pgpBlock,
- nsIEnigmail.SIGNATURE_ARMOR);
-
- if (oldSignature && (newSignature != oldSignature)) {
- ERROR_LOG("enigmail.js: Enigmail.decryptMessage: Error - signature mismatch "+newSignature+"\n");
- errorMsgObj.value = EnigGetString("sigMismatch");
- statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
-
- return "";
- }
- }
-
- var noOutput = false;
- var noProxy = true;
- var startErrorMsgObj = new Object();
-
- var readBytes = MSG_BUFFER_SIZE;
- if (verifyOnly && pgpBlock.length > MSG_BUFFER_SIZE) {
- readBytes = ((pgpBlock.length+1500)/1024).toFixed(0)*1024;
- }
- if (readBytes > MAX_MSG_BUFFER_SIZE) {
- errorMsgObj.value = EnigGetString("messageSizeError");
- statusFlagsObj.value |= nsIEnigmail.OVERFLOWED;
- exitCodeObj.value = 1;
- return "";
- }
-
- const maxTries = 2;
- var tryCount = 0;
- while (tryCount < maxTries) {
- tryCount++;
-
- var ipcBuffer = Components.classes[NS_IPCBUFFER_CONTRACTID].createInstance(Components.interfaces.nsIIPCBuffer);
- ipcBuffer.open(readBytes, false);
-
- var pipeTrans = this.decryptMessageStart(parent, null, verifyOnly, noOutput,
- ipcBuffer, noProxy, startErrorMsgObj);
-
- if (!pipeTrans) {
- errorMsgObj.value = startErrorMsgObj.value;
- statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
-
- return "";
- }
-
- // Write to child STDIN
- // (ignore errors, because child may have exited already, closing STDIN)
- try {
- pipeTrans.writeSync(pgpBlock, pgpBlock.length);
- } catch (ex) {}
-
- // Wait for child STDOUT to close
- pipeTrans.join();
-
- var overflowed = ipcBuffer.overflowed;
- var plainText = ipcBuffer.getData();
- if (ipcBuffer.overflowed && plainText.length < ipcBuffer.totalBytes) {
- readBytes = ((ipcBuffer.totalBytes+1500)/1024).toFixed(0)*1024;
- WRITE_LOG("enigmail.js: Enigmail.decryptMessage: decrypted text too big for standard buffer, retrying with buffer size="+readBytes+"\n");
- }
- else {
- tryCount = maxTries;
- }
-
- ipcBuffer.shutdown();
- ipcBuffer = null; // make sure the object gets freed
-
- var exitCode = this.decryptMessageEnd(uiFlags, plainText.length, pipeTrans,
- verifyOnly, noOutput,
- statusFlagsObj, keyIdObj, userIdObj, sigDetailsObj,
- errorMsgObj, blockSeparationObj);
- exitCodeObj.value = exitCode;
- }
-
- if ((head.search(/\S/) >= 0) ||
- (tail.search(/\S/) >= 0)) {
- statusFlagsObj.value |= nsIEnigmail.PARTIALLY_PGP;
- }
-
-
- if (exitCodeObj.value == 0) {
- // Normal return
-
- var doubleDashSeparator = false;
- try {
- doubleDashSeparator = this.prefBranch.getBoolPref("doubleDashSeparator")
- } catch(ex) { }
-
- if (doubleDashSeparator && (plainText.search(/(\r|\n)-- +(\r|\n)/) < 0) ) {
- // Workaround for MsgCompose stripping trailing spaces from sig separator
- plainText = plainText.replace(/(\r|\n)--(\r|\n)/, "$1-- $2");
- }
-
- statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
-
- if (verifyOnly && indentStrObj.value) {
- RegExp.multiline = true;
- plainText = plainText.replace(/^/g, indentStrObj.value)
- RegExp.multiline = false;
- }
- return plainText;
- }
-
- var pubKeyId = keyIdObj.value;
-
- if (statusFlagsObj.value & nsIEnigmail.BAD_SIGNATURE) {
- if (verifyOnly && indentStrObj.value) {
- // Probably replied message that could not be verified
- errorMsgObj.value = EnigGetString("unverifiedReply")+"\n\n"+errorMsgObj.value;
- return "";
- }
-
- // Return bad signature (for checking later)
- signatureObj.value = newSignature;
-
- } else if (pubKeyId &&
- (statusFlagsObj.value & nsIEnigmail.UNVERIFIED_SIGNATURE)) {
-
- var innerKeyBlock;
- if (verifyOnly) {
- // Search for indented public key block in signed message
- var innerBlockType = this.locateArmoredBlock(pgpBlock, 0, "- ",
- beginIndexObj, endIndexObj,
- indentStrObj);
-
- if (innerBlockType == "PUBLIC KEY BLOCK") {
-
- innerKeyBlock = pgpBlock.substr(beginIndexObj.value,
- endIndexObj.value - beginIndexObj.value + 1);
-
- innerKeyBlock = innerKeyBlock.replace(/- -----/g, "-----");
-
- statusFlagsObj.value |= nsIEnigmail.INLINE_KEY;
- DEBUG_LOG("enigmail.js: Enigmail.decryptMessage: innerKeyBlock found\n");
- }
- }
-
- if (allowImport) {
-
- var importedKey = false;
-
- if (innerKeyBlock) {
- var importErrorMsgObj = new Object();
- var importFlags2 = nsIEnigmail.UI_INTERACTIVE;
- var exitStatus = this.importKey(parent, importFlags2, innerKeyBlock,
- pubKeyId, importErrorMsgObj);
-
- importedKey = (exitStatus == 0);
-
- if (exitStatus > 0) {
- this.alertMsg(parent, EnigGetString("cantImport")+importErrorMsgObj.value);
- }
- }
-
- if (importedKey) {
- // Recursive call; note that nsIEnigmail.UI_ALLOW_KEY_IMPORT is unset
- // to break the recursion
- var uiFlagsDeep = interactive ? nsIEnigmail.UI_INTERACTIVE : 0;
- signatureObj.value = "";
- return this.decryptMessage(parent, uiFlagsDeep, pgpBlock,
- signatureObj, exitCodeObj, statusFlagsObj,
- keyIdObj, userIdObj, sigDetailsObj, errorMsgObj);
- }
-
- }
-
- if (plainText && !unverifiedEncryptedOK) {
- // Append original PGP block to unverified message
- plainText = "-----BEGIN PGP UNVERIFIED MESSAGE-----\r\n" + plainText +
- "-----END PGP UNVERIFIED MESSAGE-----\r\n\r\n" + pgpBlock;
- }
-
- }
-
- return verifyOnly ? "" : plainText;
-}
-
-
-Enigmail.prototype.decryptMessageStart =
-function (parent, prompter, verifyOnly, noOutput,
- listener, noProxy, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.decryptMessageStart: prompter="+prompter+", verifyOnly="+verifyOnly+", noOutput="+noOutput+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return null;
- }
-
- if (this.keygenProcess) {
- errorMsgObj.value = EnigGetString("notComplete");
- return null;
- }
-
- var decryptCommand = this.getAgentPath() + GPG_BATCH_OPTS;
-
- var keyserver = this.prefBranch.getCharPref("autoKeyRetrieve");
- if (keyserver != "") {
- decryptCommand += " --keyserver-options auto-key-retrieve";
- var srvProxy = this.getHttpProxy(keyserver);
- if (srvProxy && this.agentVersion>="1.4" ) {
- decryptCommand += ",http-proxy="+srvProxy;
- }
- decryptCommand += " --keyserver "+keyserver;
- }
-
- if (noOutput) {
- decryptCommand += " --verify";
-
- } else {
- decryptCommand += " -d";
- }
-
- var statusFlagsObj = new Object();
- var pipetrans = this.execStart(decryptCommand, !verifyOnly, parent, prompter,
- listener, noProxy, statusFlagsObj);
-
- if (statusFlagsObj.value & nsIEnigmail.MISSING_PASSPHRASE) {
- ERROR_LOG("enigmail.js: Enigmail.decryptMessageStart: Error - no passphrase supplied\n");
-
- errorMsgObj.value = EnigGetString("noPassphrase");
- return null;
- }
-
- return pipetrans;
-}
-
-
-Enigmail.prototype.decryptMessageEnd =
-function (uiFlags, outputLen, pipeTransport, verifyOnly, noOutput,
- statusFlagsObj, keyIdObj, userIdObj, sigDetailsObj, errorMsgObj, blockSeparationObj) {
- DEBUG_LOG("enigmail.js: Enigmail.decryptMessageEnd: uiFlags="+uiFlags+", outputLen="+outputLen+", pipeTransport="+pipeTransport+", verifyOnly="+verifyOnly+", noOutput="+noOutput+"\n");
-
- var interactive = uiFlags & nsIEnigmail.UI_INTERACTIVE;
- var pgpMime = uiFlags & nsIEnigmail.UI_PGP_MIME;
- var allowImport = uiFlags & nsIEnigmail.UI_ALLOW_KEY_IMPORT;
- var unverifiedEncryptedOK = uiFlags & nsIEnigmail.UI_UNVERIFIED_ENC_OK;
- var j;
-
- statusFlagsObj.value = 0;
- errorMsgObj.value = "";
- blockSeparationObj.value = "";
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return -1;
- }
-
- // Terminate job and parse error output
- var statusMsgObj = new Object();
- var cmdLineObj = new Object();
- var cmdErrorMsgObj = new Object();
-
- var exitCode = this.execEnd(pipeTransport, statusFlagsObj, statusMsgObj, cmdLineObj, cmdErrorMsgObj, blockSeparationObj);
-
- if (pgpMime) {
- statusFlagsObj.value |= verifyOnly ? nsIEnigmail.PGP_MIME_SIGNED
- : nsIEnigmail.PGP_MIME_ENCRYPTED;
- }
-
- var statusMsg = statusMsgObj.value;
- exitCode = this.fixExitCode(exitCode, statusFlagsObj.value);
- if ((exitCode == 0) && !noOutput && !outputLen &&
- ((statusFlagsObj.value & (gStatusFlags.DECRYPTION_OKAY | gStatusFlags.GOODSIG)) == 0)) {
- exitCode = -1;
- }
-
- if (exitCode == 0) {
- // Normal return
- var errLines, goodSignPat, badSignPat, keyExpPat;
-
- if (statusMsg) {
- errLines = statusMsg.split(/\r?\n/);
-
- goodSignPat = /GOODSIG (\w{16}) (.*)$/i;
- badSignPat = /BADSIG (\w{16}) (.*)$/i;
- keyExpPat = /EXPKEYSIG (\w{16}) (.*)$/i
- revKeyPat = /REVKEYSIG (\w{16}) (.*)$/i;
- validSigPat = /VALIDSIG (\w+) (.*) (\d+) (.*)/i;
-
- } else {
- errLines = cmdErrorMsgObj.value.split(/\r?\n/);
-
- goodSignPat = /Good signature from (user )?"(.*)"\.?/i;
- badSignPat = /BAD signature from (user )?"(.*)"\.?/i;
- keyExpPat = /This key has expired/i;
- revKeyPat = /This key has been revoked/i;
- validSigPat = /dummy-not-used/i;
- }
-
- errorMsgObj.value = "";
-
- var matches;
-
- var signed = false;
- var goodSignature;
-
- var userId = "";
- var keyId = "";
- var sigDetails = "";
-
- for (j=0; j<errLines.length; j++) {
- matches = errLines[j].match(badSignPat);
-
- if (matches && (matches.length > 2)) {
- signed = true;
- goodSignature = false;
- userId = matches[2];
- keyId = matches[1];
- break;
- }
-
- matches = errLines[j].match(revKeyPat);
-
- if (matches && (matches.length > 2)) {
- signed = true;
- goodSignature = true;
- userId = matches[2];
- keyId = matches[1];
- break;
- }
-
- matches = errLines[j].match(goodSignPat);
-
- if (matches && (matches.length > 2)) {
- signed = true;
- goodSignature = true;
- userId = matches[2];
- keyId = matches[1];
- break;
- }
-
- matches = errLines[j].match(keyExpPat);
-
- if (matches && (matches.length > 2)) {
- signed = true;
- goodSignature = true;
- userId = matches[2];
- keyId = matches[1];
-
- break;
- }
- }
-
- if (goodSignature) {
- for (var j=0; j<errLines.length; j++) {
- matches = errLines[j].match(validSigPat);
-
- if (matches && (matches.length > 2)) {
- sigDetails = errLines[j].substr(9);
- break;
- }
- }
- }
-
- try {
- if (userId && keyId && this.prefBranch.getBoolPref("displaySecondaryUid")) {
- uids = this.getKeyDetails(keyId, true);
- if (uids) {
- userId = uids;
- }
- }
- }
- catch (ex) {}
-
- if (userId) {
- userId = EnigConvertToUnicode(userId, "UTF-8");
- }
-
- userIdObj.value = userId;
- keyIdObj.value = keyId;
- sigDetailsObj.value = sigDetails;
-
- if (signed) {
- var trustPrefix = "";
-
- if (statusFlagsObj.value & nsIEnigmail.UNTRUSTED_IDENTITY) {
- trustPrefix += EnigGetString("prefUntrusted")+" ";
- }
-
- if (statusFlagsObj.value & nsIEnigmail.REVOKED_KEY) {
- trustPrefix += EnigGetString("prefRevoked")+" ";
- }
-
- if (statusFlagsObj.value & nsIEnigmail.EXPIRED_KEY_SIGNATURE) {
- trustPrefix += EnigGetString("prefExpiredKey")+" ";
-
- } else if (statusFlagsObj.value & nsIEnigmail.EXPIRED_SIGNATURE) {
- trustPrefix += EnigGetString("prefExpired")+" ";
- }
-
- if (goodSignature) {
- errorMsgObj.value = trustPrefix + EnigGetString("prefGood",userId) /* + ", " +
- EnigGetString("keyId") + " 0x" + keyId.substring(8,16); */
-
- if (this.agentType != "gpg") {
- // Trust all good signatures, if not GPG
- statusFlagsObj.value |= nsIEnigmail.GOOD_SIGNATURE | nsIEnigmail.TRUSTED_IDENTITY;
- }
-
- } else {
- errorMsgObj.value = trustPrefix + EnigGetString("prefBad",userId) /*+ ", " +
- EnigGetString("keyId") + " 0x" + keyId.substring(8,16); */
- if (!exitCode)
- exitCode = 1;
-
- if (this.agentType != "gpg")
- statusFlagsObj.value |= nsIEnigmail.BAD_SIGNATURE;
- }
- }
-
- if (!verifyOnly && (this.agentType != "gpg")) {
- statusFlagsObj.value |= nsIEnigmail.DECRYPTION_OKAY;
- }
-
- return exitCode;
- }
-
- if ((statusFlagsObj.value & nsIEnigmail.BAD_PASSPHRASE) ||
- ((this.agentType == "pgp") && !verifyOnly && (exitCode != 30)) ) {
- // "Unremember" passphrase on decryption failure
- this.clearCachedPassphrase();
- }
-
- var pubKeyId;
-
- if (statusFlagsObj.value & nsIEnigmail.UNVERIFIED_SIGNATURE) {
- // Unverified signature
- var matchb = statusMsg.match(/(^|\n)NO_PUBKEY (\w{8})(\w{8})/);
-
- if (matchb && (matchb.length > 3)) {
- pubKeyId = "0x" + matchb[3];
- DEBUG_LOG("enigmail.js: Enigmail.decryptMessageEnd: NO_PUBKEY "+pubKeyId+"\n");
- keyIdObj.value = matchb[2]+matchb[3];
- }
- if (statusFlagsObj.value & nsIEnigmail.DECRYPTION_OKAY) {
- exitCode=0;
- }
-
- }
-
- if (this.agentType != "gpg") {
- // Not GPG
-
- if (verifyOnly) {
- // Assume bad signature is reason for failure
- statusFlagsObj.value |= nsIEnigmail.BAD_SIGNATURE;
-
- } else {
- statusFlagsObj.value |= outputLen ? nsIEnigmail.DECRYPTION_OKAY
- : nsIEnigmail.DECRYPTION_FAILED;
- }
- }
-
- if (exitCode != 0) {
- // Error processing
- ERROR_LOG("enigmail.js: Enigmail.decryptMessageEnd: Error in command execution\n");
- }
-
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value = this.agentType + " " + EnigGetString("cmdLine");
- errorMsgObj.value += "\n" + cmdLineObj.value;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
-
- return exitCode;
-}
-
-
-// ExitCode == 0 => success
-// ExitCode > 0 => error
-// ExitCode == -1 => Cancelled by user
-Enigmail.prototype.receiveKey =
-function (recvFlags, keyserver, keyId, requestObserver, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.receiveKey: "+keyId+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return null;
- }
-
- if (this.agentType != "gpg") {
- errorMsgObj.value = EnigGetString("failOnlyGPG");
- return null;
- }
-
- if (!keyserver) {
- errorMsgObj.value = EnigGetString("failNoServer");
- return null;
- }
-
- if (!keyId && ! (recvFlags & nsIEnigmail.REFRESH_KEY)) {
- errorMsgObj.value = EnigGetString("failNoID");
- return null;
- }
-
- var envList = [];
- envList = envList.concat(gEnvList);
-
- var proxyHost = this.getHttpProxy(keyserver);
- var command = this.getAgentPath();
-
- if (! (recvFlags & nsIEnigmail.SEARCH_KEY)) command += GPG_BATCH_OPTS;
-
- if (proxyHost) {
- command += " --keyserver-options honor-http-proxy";
- envList.push("http_proxy="+proxyHost);
- }
- command += " --keyserver " + keyserver;
-
- if (recvFlags & nsIEnigmail.DOWNLOAD_KEY) {
- command += " --recv-keys " + keyId;
- }
- else if (recvFlags & nsIEnigmail.SEARCH_KEY) {
- command += " --search-keys " + keyId;
- }
- else if (recvFlags & nsIEnigmail.UPLOAD_KEY) {
- command += " --send-keys " + keyId;
- }
- else if (recvFlags & nsIEnigmail.REFRESH_KEY) {
- command += " --refresh-keys";
- }
-
- var exitCodeObj = new Object();
- var statusFlagsObj = new Object();
- var statusMsgObj = new Object();
- var cmdLineObj = new Object();
-
- CONSOLE_LOG("enigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
- var pipeConsole = Components.classes[NS_PIPECONSOLE_CONTRACTID].createInstance(Components.interfaces.nsIPipeConsole);
- // Create joinable console
- pipeConsole.open(20, 80, true);
-
- var ipcRequest = null;
- try {
- ipcRequest = gEnigmailSvc.ipcService.execAsync(command,
- false,
- "",
- "",
- 0,
- envList, envList.length,
- pipeConsole,
- pipeConsole,
- requestObserver);
- } catch (ex) {
- ERROR_LOG("enigmail.js: Enigmail.receiveKey: execAsync failed\n");
- }
-
- if (!ipcRequest) {
- ERROR_LOG("enigmail.js: Enigmail.receiveKey: execAsync failed somehow\n");
- return null;
- }
-
- return ipcRequest;
-}
-
-
-function GetPasswdForHost(hostname, userObj, passwdObj) {
- return -1;
- var passwordmanager = Components.classes["@mozilla.org/passwordmanager;1"].getService(Components.interfaces.nsIPasswordManager);
- var enumerator = passwordmanager.enumerator;
-
- while (enumerator.hasMoreElements()) {
- var nextPassword;
- try {
- nextPassword = enumerator.getNext();
- } catch(e) {
- // user supplied invalid database key
- return -1;
- }
- nextPassword = nextPassword.QueryInterface(Components.interfaces.nsIPassword);
- // try/catch in case decryption fails (invalid signon entry)
- try {
- var passwdHost = nextPassword.host.replace(/^.*:\/\//, "");
- if (passwdHost == hostname) {
- userObj.value = nextPassword.user;
- passwdObj.value = nextPassword.password;
- return 0;
- }
- } catch (e) {
- // password cannot be decrypted
- }
- }
- return 1;
-}
-
-
-
-Enigmail.prototype.getHttpProxy =
-function (hostName) {
- var proxyHost = null;
- //try {
- if (this.prefBranch.getBoolPref("respectHttpProxy")) {
- // determine proxy host
- var prefsSvc = Components.classes[NS_PREFS_SERVICE_CID].getService(Components.interfaces.nsIPrefService);
- var prefRoot = prefsSvc.getBranch(null);
- var useProxy = prefRoot.getIntPref("network.proxy.type");
- if (useProxy==1) {
- var proxyHostName = prefRoot.getCharPref("network.proxy.http");
- var proxyHostPort = prefRoot.getIntPref("network.proxy.http_port");
- var noProxy = prefRoot.getCharPref("network.proxy.no_proxies_on").split(/[ ,]/);
- for (var i=0; i<noProxy.length; i++) {
- var proxySearch=new RegExp(noProxy[i].replace(/\./, "\\.")+"$", "i");
- if (noProxy[i] && hostName.search(proxySearch)>=0) {
- i=noProxy.length+1;
- proxyHostName=null;
- }
- }
-
- if (proxyHostName) {
- var userObj = new Object();
- var passwdObj = new Object();
- if (GetPasswdForHost(proxyHostName, userObj, passwdObj) == 0) {
- proxyHostName = userObj.value+":"+passwdObj.value+"@"+proxyHostName;
- }
- }
- if (proxyHostName && proxyHostPort) {
- proxyHost="http://"+proxyHostName+":"+proxyHostPort;
- }
- }
- }
- //}
- //catch (ex) {}
- return proxyHost;
-}
-
-Enigmail.prototype.searchKey =
-function (recvFlags, protocol, keyserver, port, keyValue, requestObserver, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.searchKey: "+keyValue+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return null;
- }
-
- if (this.agentType != "gpg") {
- errorMsgObj.value = EnigGetString("failOnlyGPG");
- return null;
- }
-
- if (!keyserver) {
- errorMsgObj.value = EnigGetString("failNoServer");
- return null;
- }
-
- if (!keyValue) {
- errorMsgObj.value = EnigGetString("failNoID");
- return null;
- }
-
- var envList = [];
- envList = envList.concat(gEnvList);
-
- var proxyHost = null;
- if (protocol=="hkp") {
- proxyHost = this.getHttpProxy(keyserver);
- }
-
- if (this.agentVersion < "1.4") {
- var baseCommand = "gpgkeys_" + protocol;
- if (this.isDosLike) {
- baseCommand+=".exe";
- }
-
- var baseDir = Components.classes[NS_LOCAL_FILE_CONTRACTID].createInstance(nsILocalFile);
- baseDir.initWithPath(this.agentPath);
- var command = null;
-
- // try to locate gpgkeys_*
- if (baseDir)
- baseDir = baseDir.parent;
- if (baseDir) {
- var theCommand=baseDir.clone();
-
- // first the same dir as gpg executable
- theCommand.append(baseCommand);
- if (theCommand.exists() && theCommand.isExecutable())
- command = theCommand.path;
-
- if (! command) {
- // then lib
- theCommand.append("lib");
- theCommand.append(baseCommand);
- if (theCommand.exists() && theCommand.isExecutable())
- command = theCommand.path;
- }
-
- if (!command) {
- if (baseDir.parent) {
- baseDir=baseDir.parent;
- theCommand=baseDir.clone();
- // then ..\lib\gnupg or ../lib/gnupg
- theCommand.append("lib");
- theCommand.append("gnupg");
- theCommand.append(baseCommand);
- if (theCommand.exists() && theCommand.isExecutable()) {
- command = theCommand.path;
- }
- else {
- theCommand=baseDir.clone();
- // then ..\libexec\gnupg or ../libexec/gnupg
- theCommand.append("libexec");
- theCommand.append("gnupg");
- theCommand.append(baseCommand);
- if (theCommand.exists() && theCommand.isExecutable())
- command = theCommand.path;
- }
- }
- }
- }
-
- if (! command) {
- // no gpgkeys_* found
- return null;
- }
-
- command=command.replace(/\\\\/g, "\\").replace(/\\/g, "\\\\");
-
- // call gpgkeys to check the version number
-
- var outObj = new Object();
- var outLenObj = new Object();
- var errObj = new Object();
- var errLenObj = new Object();
- var testCmd = command + " -V"
-
- CONSOLE_LOG("\nenigmail> "+testCmd.replace(/\\\\/g, "\\")+"\n");
-
- try {
- var exitCode = this.ipcService.execPipe(testCmd,
- false,
- "",
- "", 0,
- envList, envList.length,
- outObj, outLenObj,
- errObj, errLenObj);
- }
- catch (ex) {
- CONSOLE_LOG(testCmd.replace(/\\\\/g, "\\")+" failed\n");
- return null;
- }
-
- if (exitCode !=0) {
- CONSOLE_LOG(testCmd.replace(/\\\\/g, "\\")+" not found\n");
- return null;
- }
-
- CONSOLE_LOG(outObj.value+"\n");
-
- var ver = outObj.value.split(/[\n\r]+/);
- if (Number(ver[0])==0 || Number(ver[0])==1) {
- var inputData="VERSION "+ver[0]+"\nHOST "+keyserver+"\nPORT "+port+"\n";
- }
- else {
- return null;
- }
- if (proxyHost) {
- inputData+="OPTION honor-http-proxy\n";
- envList.push("http_proxy="+proxyHost);
- }
-
- if (recvFlags & nsIEnigmail.SEARCH_KEY) {
- inputData+="COMMAND search\n\n"+keyValue+"\n\n";
- }
- else if (recvFlags & nsIEnigmail.DOWNLOAD_KEY) {
- inputData+="COMMAND get\n\n+"+keyValue+"\n\n";
- }
- }
- else {
- // GnuPG >= v1.4.0
- command = this.getAgentPath() + " --command-fd 0 --no-tty --batch --fixed-list --with-colons"
- if (proxyHost) command+=" --keyserver-options http-proxy="+proxyHost
- command +=" --keyserver ";
- if (! protocol) protocol="hkp";
- command += protocol + "://" + keyserver;
- if (port) command += ":"+port;
-
- if (recvFlags & nsIEnigmail.SEARCH_KEY) {
- command += " --search-keys ";
- inputData = "quit\n";
- }
- else if (recvFlags & nsIEnigmail.DOWNLOAD_KEY) {
- command+=" --status-fd 1 --recv-keys ";
- inputData = "";
- }
- command += keyValue
- }
-
- var pipeConsole = Components.classes[NS_PIPECONSOLE_CONTRACTID].createInstance(Components.interfaces.nsIPipeConsole);
- // Create joinable console
- pipeConsole.open(5000, 0, true);
-
- var errorConsole = Components.classes[NS_PIPECONSOLE_CONTRACTID].createInstance(Components.interfaces.nsIPipeConsole);
- errorConsole.open(20, 0, true);
-
- CONSOLE_LOG("enigmail> "+command.replace(/\\\\/g, "\\")+"\n");
-
-
- var ipcRequest = null;
- try {
- ipcRequest = gEnigmailSvc.ipcService.execAsync(command,
- false,
- "",
- inputData,
- inputData.length,
- envList, envList.length,
- pipeConsole,
- errorConsole,
- requestObserver);
- } catch (ex) {
- ERROR_LOG("enigmail.js: Enigmail.searchKey: execAsync failed\n");
- }
-
- if (!ipcRequest) {
- ERROR_LOG("enigmail.js: Enigmail.searchKey: execAsync failed somehow\n");
- return null;
- }
-
- return ipcRequest;
-}
-
-
-Enigmail.prototype.extractKey =
-function (parent, exportFlags, userId, outputFile, exitCodeObj, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.extractKey: "+userId+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return "";
- }
-
- var command = this.getAgentPath();
- command += GPG_BATCH_OPTS + " -a --export ";
- command += userId;
-
- var statusFlagsObj = new Object();
- var statusMsgObj = new Object();
- var cmdErrorMsgObj = new Object();
-
- var keyBlock = this.execCmd(command, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, cmdErrorMsgObj);
-
- if ((exitCodeObj.value == 0) && !keyBlock)
- exitCodeObj.value = -1;
-
- if (exitCodeObj.value != 0) {
- errorMsgObj.value = EnigGetString("failKeyExtract");
-
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value += "\n" + command;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
-
- return "";
- }
-
- if (exportFlags & nsIEnigmail.EXTRACT_SECRET_KEY) {
- command = this.getAgentPath();
- command += GPG_BATCH_OPTS + " -a --export-secret-keys ";
- command += userId;
-
- var secKeyBlock = this.execCmd(command, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, cmdErrorMsgObj);
-
- if ((exitCodeObj.value == 0) && !secKeyBlock)
- exitCodeObj.value = -1;
-
- if (exitCodeObj.value != 0) {
- errorMsgObj.value = EnigGetString("failKeyExtract");
-
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value += "\n" + command;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
-
- return "";
- }
-
- if (keyBlock.substr(-1,1).search(/[\r\n]/)<0) keyBlock += "\n"
- keyBlock+=secKeyBlock;
- }
-
- if (outputFile) {
- if (! WriteFileContents(outputFile, keyBlock, DEFAULT_FILE_PERMS)) {
- exitCodeObj.value = -1;
- errorMsgObj.value = EnigGetString("fileWriteFailed", outputFile);
- }
- return "";
- }
- return keyBlock;
-}
-
-
-// ExitCode == 0 => success
-// ExitCode > 0 => error
-// ExitCode == -1 => Cancelled by user
-Enigmail.prototype.importKey =
-function (parent, uiFlags, msgText, keyId, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.importKey: id="+keyId+", "+uiFlags+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return 1;
- }
-
- var beginIndexObj = new Object();
- var endIndexObj = new Object();
- var indentStrObj = new Object();
- var blockType = this.locateArmoredBlock(msgText, 0, "",
- beginIndexObj, endIndexObj,
- indentStrObj);
-
- if (!blockType) {
- errorMsgObj.value = EnigGetString("noPGPblock");
- return 1;
- }
-
- if (blockType != "PUBLIC KEY BLOCK") {
- errorMsgObj.value = EnigGetString("notFirstBlock");
- return 1;
- }
-
- var pgpBlock = msgText.substr(beginIndexObj.value,
- endIndexObj.value - beginIndexObj.value + 1);
-
- var interactive = uiFlags & nsIEnigmail.UI_INTERACTIVE;
-
- if (interactive) {
- var confirmMsg = EnigGetString("importKeyConfirm");
-
- if (!this.confirmMsg(parent, confirmMsg)) {
- errorMsgObj.value = EnigGetString("failCancel");
- return -1;
- }
- }
-
- var command = this.getAgentPath();
-
- if (this.agentType == "pgp") {
- command += PGP_BATCH_OPTS + " -ft -ka";
-
- } else {
- command += GPG_BATCH_OPTS + " --import";
- }
-
- var exitCodeObj = new Object();
- var statusFlagsObj = new Object();
- var statusMsgObj = new Object();
-
- var output = this.execCmd(command, null, pgpBlock,
- exitCodeObj, statusFlagsObj, statusMsgObj, errorMsgObj);
-
- var statusMsg = statusMsgObj.value;
-
- var pubKeyId;
-
- if (exitCodeObj.value == 0) {
- // Normal return
- this.invalidateUserIdList();
- if (statusMsg && (statusMsg.search("IMPORTED ") > -1)) {
- var matches = statusMsg.match(/(^|\n)IMPORTED (\w{8})(\w{8})/);
-
- if (matches && (matches.length > 3)) {
- pubKeyId = "0x" + matches[3];
- DEBUG_LOG("enigmail.js: Enigmail.importKey: IMPORTED "+pubKeyId+"\n");
- }
- }
- }
-
- return exitCodeObj.value;
-}
-
-Enigmail.prototype.importKeyFromFile =
-function (parent, fileName, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.importKeyFromFile: fileName="+fileName+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return 1;
- }
-
- fileName=fileName.replace(/\\/g, "\\\\");
-
- var command = this.getAgentPath();
-
- command += GPG_BATCH_OPTS + " --import '"+fileName+"'";
-
- var statusFlagsObj = new Object();
- var statusMsgObj = new Object();
- var exitCodeObj = new Object();
-
- var output = this.execCmd(command, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, errorMsgObj);
-
- var statusMsg = statusMsgObj.value;
-
- var pubKeyId;
-
- if (exitCodeObj.value == 0) {
- // Normal return
- this.invalidateUserIdList();
- if (statusMsg && (statusMsg.search("IMPORTED ") > -1)) {
- var matches = statusMsg.match(/(^|\n)IMPORTED (\w{8})(\w{8})/);
-
- if (matches && (matches.length > 3)) {
- pubKeyId = "0x" + matches[3];
- DEBUG_LOG("enigmail.js: Enigmail.importKey: IMPORTED "+pubKeyId+"\n");
- }
- }
- }
-
- return exitCodeObj.value;
-}
-
-Enigmail.prototype.generateKey =
-function (parent, name, comment, email, expiryDate, keyLength, keyType,
- passphrase, requestObserver) {
- WRITE_LOG("enigmail.js: Enigmail.generateKey: \n");
-
- if (this.keygenProcess || (this.agentType != "gpg"))
- throw Components.results.NS_ERROR_FAILURE;
-
- var pipeConsole = Components.classes[NS_PIPECONSOLE_CONTRACTID].createInstance(Components.interfaces.nsIPipeConsole);
-
- // Create joinable console
- pipeConsole.open(100, 80, true);
-
- var command = this.getAgentPath() + GPG_BATCH_OPTS + " --gen-key";
-
- pipeConsole.write(command.replace(/\\\\/g, "\\")+"\n");
- CONSOLE_LOG(command.replace(/\\\\/g, "\\")+"\n");
-
- var inputData = "%echo Generating key\nKey-Type: "
-
- switch (keyType) {
- case KEYTYPE_DSA:
- inputData += "DSA\nKey-Length: 1024\nSubkey-Type: 16\nSubkey-Length: ";
- break;
- case KEYTYPE_RSA:
- inputData += "RSA\nKey-Usage: sign,auth\nKey-Length: "+keyLength;
- inputData += "\nSubkey-Type: RSA\nSubkey-Usage: encrypt\nSubkey-Length: ";
- break;
- default:
- return null;
- }
-
- inputData += keyLength+"\n";
- inputData += "Name-Real: "+name+"\n";
- if (comment)
- inputData += "Name-Comment: "+comment+"\n";
- inputData += "Name-Email: "+email+"\n";
- inputData += "Expire-Date: "+String(expiryDate)+"\n";
-
- pipeConsole.write(EnigConvertToUnicode(inputData, "utf-8")+"\n");
- CONSOLE_LOG(inputData+" \n");
-
- if (passphrase.length)
- inputData += "Passphrase: "+passphrase+"\n";
-
- inputData += "%commit\n%echo done\n";
-
- var ipcRequest = null;
- try {
- var useShell = false;
- ipcRequest = gEnigmailSvc.ipcService.execAsync(command,
- useShell,
- "",
- inputData,
- inputData.length,
- [], 0,
- pipeConsole,
- pipeConsole,
- requestObserver);
- } catch (ex) {
- }
-
- if (!ipcRequest) {
- ERROR_LOG("enigmail.js: Enigmail.generateKey: execAsync failed\n");
- return null;
- }
-
- this.keygenRequest = ipcRequest;
-
- DEBUG_LOG("enigmail.js: Enigmail.generateKey: ipcRequest = "+ipcRequest+"\n");
-
- return ipcRequest;
-}
-
-
-Enigmail.prototype.createMessageURI =
-function (originalUrl, contentType, contentCharset, contentData, persist) {
- DEBUG_LOG("enigmail.js: Enigmail.createMessageURI: "+originalUrl+
- ", "+contentType+", "+contentCharset+"\n");
-
- var messageId = "msg" + Math.floor(Math.random()*1.0e9);
-
- this._messageIdList[messageId] = {originalUrl:originalUrl,
- contentType:contentType,
- contentCharset:contentCharset,
- contentData:contentData,
- persist:persist};
-
- return "enigmail:message?id="+messageId;
-}
-
-
-function ExtractMessageId(uri) {
- var messageId = "";
-
- var matches = uri.match(/^enigmail:message\?id=(.+)/);
-
- if (matches && (matches.length > 1)) {
- messageId = matches[1];
- }
-
- return messageId;
-}
-
-
-Enigmail.prototype.deleteMessageURI =
-function (uri) {
- DEBUG_LOG("enigmail.js: Enigmail.deleteMessageURI: "+uri+"\n");
-
- var messageId = ExtractMessageId(uri);
-
- if (!messageId)
- return false;
-
- return (delete this._messageIdList[messageId]);
-}
-
-
-function IPCContext()
-{
-}
-
-IPCContext.prototype = {
-
- command: "",
- pipeTransport: null,
- stdoutConsole: null,
- stderrConsole: null,
-
- QueryInterface: function (iid) {
- if (!iid.equals(Components.interfaces.nsIIPCContext) &&
- !iid.equals(Components.interfaces.nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
- return this;
- }
-}
-
-const ENIGMAIL_PANEL_URL = "chrome://enigmail/content/enigmailPanel.xul";
-
-Enigmail.prototype.selectPanel =
-function (url) {
- WRITE_LOG("enigmail.js: Enigmail.selectPanel: "+url+"\n");
-
- var wm = Components.classes[WMEDIATOR_CONTRACTID].getService(Components.interfaces.nsIWindowMediator);
- var navWindowList = wm.getEnumerator("navigator:browser");
-
- var retval = false;
- while (navWindowList.hasMoreElements()) {
-
- var navWindow =navWindowList.getNext();
- DEBUG_LOG("enigmail.js: navWindow="+navWindow+"\n");
-
- var href = navWindow._content.location.href;
- DEBUG_LOG("enigmail.js: href="+href+"\n");
-
- if (href.toLowerCase().indexOf(url.toLowerCase()) != 0)
- continue;
-
- var enigmailPanel = navWindow.document.getElementById("urn:sidebar:3rdparty-panel:"+ENIGMAIL_PANEL_URL);
- DEBUG_LOG("enigmail.js: panel="+enigmailPanel+"\n");
-
- if (!enigmailPanel) {
- // Add panel
- enigmailAddPanel();
-
- enigmailPanel = navWindow.document.getElementById("urn:sidebar:3rdparty-panel:"+ENIGMAIL_PANEL_URL);
- DEBUG_LOG("enigmail.js: panel="+enigmailPanel+"\n");
-
- if (!enigmailPanel) {
- DEBUG_LOG("enigmail.js: Added panel not found in document!\n");
- return false;
- }
- }
-
- navWindow.SidebarSelectPanel(enigmailPanel, true, true);
- retval = true;
- }
-
- return retval;
-}
-
-// Chrome sidebar panel adding code
-
-function enigmailAddPanel() {
- DEBUG_LOG("enigmail.js: Adding Enigmail panel\n");
- var sidebarObj = new chromeSidebar();
- sidebarObj.addPanel("Enigmail", ENIGMAIL_PANEL_URL, "");
-}
-
-const PANELS_RDF_FILE = "UPnls"; /* directory services property to find panels.rdf */
-
-const CONTAINER_CONTRACTID = "@mozilla.org/rdf/container;1";
-const DIR_SERV_CONTRACTID = "@mozilla.org/file/directory_service;1"
-const NETSEARCH_CONTRACTID = "@mozilla.org/rdf/datasource;1?name=internetsearch"
-const RDF_CONTRACTID = "@mozilla.org/rdf/rdf-service;1";
-
-const nsIRDFService = Components.interfaces.nsIRDFService;
-const nsIRDFContainer = Components.interfaces.nsIRDFContainer;
-const nsIRDFRemoteDataSource = Components.interfaces.nsIRDFRemoteDataSource;
-
-function chromeSidebar()
-{
- this.rdf = Components.classes[RDF_CONTRACTID].getService(nsIRDFService);
- this.datasource_uri = getSidebarDatasourceURI(PANELS_RDF_FILE);
- DEBUG_LOG("enigmail.js: datasource_uri is" + this.datasource_uri + "\n");
- this.resource = 'urn:sidebar:current-panel-list';
- this.datasource = this.rdf.GetDataSource(this.datasource_uri);
-}
-
-chromeSidebar.prototype.nc = "http://home.netscape.com/NC-rdf#";
-
-function sidebarURLSecurityCheck(url)
-{
- if (url.search(/(^chrome:|^http:|^ftp:|^https:)/) == -1)
- throw "Script attempted to add sidebar panel from illegal source";
-}
-
-chromeSidebar.prototype.isPanel =
-function (aContentURL)
-{
- var container =
- Components.classes[CONTAINER_CONTRACTID].createInstance(nsIRDFContainer);
-
- /* Create a resource for the new panel and add it to the list */
- var panel_resource =
- this.rdf.GetResource("urn:sidebar:3rdparty-panel:" + aContentURL);
-
- return (container.IndexOf(panel_resource) != -1);
-}
-
-/* decorate prototype to provide ``class'' methods and property accessors */
-chromeSidebar.prototype.addPanel =
-function (aTitle, aContentURL, aCustomizeURL)
-{
- DEBUG_LOG("enigmail.js: addPanel(" + aTitle + ", " + aContentURL + ", " +
- aCustomizeURL + ")" + "\n");
-
- sidebarURLSecurityCheck(aContentURL);
-
- // Create a "container" wrapper around the current panels to
- // manipulate the RDF:Seq more easily.
- var panel_list = this.datasource.GetTarget(this.rdf.GetResource(this.resource), this.rdf.GetResource(chromeSidebar.prototype.nc+"panel-list"), true);
- if (panel_list) {
- panel_list.QueryInterface(Components.interfaces.nsIRDFResource);
- } else {
- // Datasource is busted. Start over.
- DEBUG_LOG("enigmail.js: Sidebar datasource is busted\n");
- }
-
- var container = Components.classes[CONTAINER_CONTRACTID].createInstance(nsIRDFContainer);
- container.Init(this.datasource, panel_list);
-
- /* Create a resource for the new panel and add it to the list */
- var panel_resource =
- this.rdf.GetResource("urn:sidebar:3rdparty-panel:" + aContentURL);
- var panel_index = container.IndexOf(panel_resource);
- if (panel_index != -1)
- {
- DEBUG_LOG("enigmail.js: addPanel(): panel already in list"+"\n");
- return;
- }
-
- /* Now make some sidebar-ish assertions about it... */
- this.datasource.Assert(panel_resource,
- this.rdf.GetResource(this.nc + "title"),
- this.rdf.GetLiteral(aTitle),
- true);
- this.datasource.Assert(panel_resource,
- this.rdf.GetResource(this.nc + "content"),
- this.rdf.GetLiteral(aContentURL),
- true);
- if (aCustomizeURL)
- this.datasource.Assert(panel_resource,
- this.rdf.GetResource(this.nc + "customize"),
- this.rdf.GetLiteral(aCustomizeURL),
- true);
-
- container.AppendElement(panel_resource);
-
- // Use an assertion to pass a "refresh" event to all the sidebars.
- // They use observers to watch for this assertion (in sidebarOverlay.js).
- this.datasource.Assert(this.rdf.GetResource(this.resource),
- this.rdf.GetResource(this.nc + "refresh"),
- this.rdf.GetLiteral("true"),
- true);
- this.datasource.Unassert(this.rdf.GetResource(this.resource),
- this.rdf.GetResource(this.nc + "refresh"),
- this.rdf.GetLiteral("true"));
-
- /* Write the modified panels out. */
- this.datasource.QueryInterface(nsIRDFRemoteDataSource).Flush();
-
- DEBUG_LOG("enigmail.js: Panel successfully added to sidebar\n");
-}
-
-function getSidebarDatasourceURI(panels_file_id)
-{
- try
- {
- /* use the fileLocator to look in the profile directory
- * to find 'panels.rdf', which is the
- * database of the user's currently selected panels. */
- var directory_service = Components.classes[DIR_SERV_CONTRACTID].getService();
- if (directory_service)
- directory_service = directory_service.QueryInterface(Components.interfaces.nsIProperties);
-
- /* if <profile>/panels.rdf doesn't exist, get will copy
- *bin/defaults/profile/panels.rdf to <profile>/panels.rdf */
- var sidebar_file = directory_service.get(panels_file_id, Components.interfaces.nsIFile);
-
- if (!sidebar_file.exists())
- {
- /* this should not happen, as GetFileLocation() should copy
- * defaults/panels.rdf to the users profile directory */
- DEBUG_LOG("enigmail.js: sidebar file does not exist" + "\n");
- return null;
- }
-
- DEBUG_LOG("enigmail.js: sidebar uri is " + sidebar_file.URL + "\n");
- return sidebar_file.URL;
- }
- catch (ex)
- {
- /* this should not happen */
- DEBUG_LOG("enigmail.js: caught " + ex + " getting sidebar datasource uri" + "\n");
- return null;
- }
-}
-
-// retrieves a localized string from the enigmail.properties stringbundle
-function EnigGetString(aStr) {
- var restCount = arguments.length - 1;
- if(!gEnigStrBundle) {
- try {
- var strBundleService = Components.classes[ENIG_STRINGBUNDLE_CONTRACTID].getService();
- strBundleService = strBundleService.QueryInterface(nsIEnigStrBundle);
- gEnigStrBundle = strBundleService.createBundle("chrome://enigmail/locale/enigmail.properties");
- } catch (ex) {
- ERROR_LOG("enigmailCommon.js: Error in instantiating stringBundleService\n");
- }
- }
- if(gEnigStrBundle) {
- try {
- if(restCount > 0) {
- var subPhrases = new Array();
- for (var i = 1; i < arguments.length; i++) {
- subPhrases.push(arguments[i]);
- }
- return gEnigStrBundle.formatStringFromName(aStr, subPhrases, subPhrases.length);
- }
- else {
- return gEnigStrBundle.GetStringFromName(aStr);
- }
- } catch (ex) {
- ERROR_LOG("enigmailCommon.js: Error in querying stringBundleService for string '"+aStr+"'\n");
- }
- }
- return null;
-}
-
-Enigmail.prototype.invalidateUserIdList =
-function () {
- // clean the userIdList to force reloading the list at next usage
- this.userIdList= null;
-}
-
-// returns the output of -with-colons --list[-secret]-keys
-Enigmail.prototype.getUserIdList =
-function (secretOnly, refresh, exitCodeObj, statusFlagsObj, errorMsgObj) {
-
- if (secretOnly || refresh || this.userIdList == null) {
- var gpgCommand = this.getAgentPath() + GPG_BATCH_OPTS;
-
- if (secretOnly) {
- gpgCommand += " --with-fingerprint --fixed-list-mode --with-colons --list-secret-keys"; }
- else {
- gpgCommand += " --with-fingerprint --fixed-list-mode --with-colons --list-keys";
- }
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return "";
- }
-
- statusFlagsObj.value = 0;
-
- var statusMsgObj = new Object();
- var cmdErrorMsgObj = new Object();
-
- var listText = this.execCmd(gpgCommand, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, cmdErrorMsgObj);
-
- if (exitCodeObj.value != 0) {
- errorMsgObj.value = EnigGetString("badCommand");
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value += "\n" + gpgCommand;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
-
- return "";
- }
-
- listText=listText.replace(/(\r\n|\r)/g, "\n");
- if (secretOnly) {
- return listText;
- }
- this.userIdList = listText;
- }
- else {
- exitCodeObj.value=0;
- statusFlagsObj.value=0;
- errorMsgObj.value="";
- }
-
- return this.userIdList;
-}
-
-// returns the output of -with-colons --list-sig
-Enigmail.prototype.getKeySig =
-function (keyId, exitCodeObj, errorMsgObj) {
-
- var gpgCommand = this.getAgentPath() + GPG_BATCH_OPTS + " --fixed-list-mode --with-colons --with-fingerprint --list-sig "+keyId;
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return "";
- }
-
- var statusFlagsObj = new Object();
- var statusMsgObj = new Object();
- var cmdErrorMsgObj = new Object();
-
- var listText = this.execCmd(gpgCommand, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, cmdErrorMsgObj);
-
- if (exitCodeObj.value != 0) {
- errorMsgObj.value = EnigGetString("badCommand");
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value += "\n" + gpgCommand;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
-
- return "";
- }
- return listText;
-}
-
-// get key details.
-// if uidOnly is true, returns just a list of uid's
-Enigmail.prototype.getKeyDetails = function (keyId, uidOnly) {
- var gpgCommand = this.getAgentPath() + GPG_BATCH_OPTS
- gpgCommand += " --fixed-list-mode --with-colons --list-keys " + keyId;
- var statusMsgObj = new Object();
- var cmdErrorMsgObj = new Object();
- var statusFlagsObj = new Object();
- var exitCodeObj = new Object();
-
- var listText = this.execCmd(gpgCommand, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, cmdErrorMsgObj);
- if (exitCodeObj.value != 0) {
- return "";
- }
- listText=listText.replace(/(\r\n|\r)/g, "\n");
-
- if (uidOnly) {
- var userList="";
- var keyArr=listText.split(/\n/);
- for (var i=0; i<keyArr.length; i++) {
- switch (keyArr[i].substr(0,4)) {
- case "uid:" :
- userList += keyArr[i].split(/:/)[9] + "\n";
- }
- }
- return userList;
- }
-
- return listText;
-}
-
-Enigmail.prototype.encryptAttachment =
-function (parent, fromMailAddr, toMailAddr, sendFlags, inFile, outFile,
- exitCodeObj, statusFlagsObj, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.encryptAttachment\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return "";
- }
-
- statusFlagsObj.value = 0;
- sendFlags |= nsIEnigmail.SEND_ATTACHMENT;
-
- var asciiArmor = false;
- try {
- asciiArmor = this.prefBranch.getBoolPref("inlineAttachAsciiArmor");
- } catch (ex) {}
- var asciiFlags = (asciiArmor ? ENC_TYPE_ATTACH_ASCII : ENC_TYPE_ATTACH_BINARY);
-
- var gpgCommand = this.getEncryptCommand(fromMailAddr, toMailAddr, "", sendFlags, asciiFlags, errorMsgObj);
-
- if (! gpgCommand)
- return null;
-
- var passphrase = null;
- var signMessage = (sendFlags & nsIEnigmail.SEND_SIGNED);
-
- if (signMessage ) {
- gpgCommand += this.passwdCommand();
-
- var passwdObj = new Object();
- var useAgentObj = new Object();
-
- if (!GetPassphrase(parent, passwdObj, useAgentObj, 0)) {
- ERROR_LOG("enigmail.js: Enigmail.encryptAttachment: Error - no passphrase supplied\n");
-
- statusFlagsObj.value |= nsIEnigmail.MISSING_PASSPHRASE;
- return null;
- }
-
- passphrase = passwdObj.value;
- }
-
- // escape the backslashes (mainly for Windows) and the ' character
- inFile = inFile.replace(/([\\\"\'\`])/g, "\\$1");
- outFile = outFile.replace(/([\\\"\'\`])/g, "\\$1");
-
- gpgCommand += " --yes -o " + this.quoteSign + outFile + this.quoteSign;
- gpgCommand += " "+this.quoteSign + inFile + this.quoteSign;
-
- var statusMsgObj = new Object();
- var cmdErrorMsgObj = new Object();
-
- var msg = this.execCmd(gpgCommand, passphrase, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, cmdErrorMsgObj);
-
- if (exitCodeObj.value != 0) {
-
- if (cmdErrorMsgObj.value) {
- errorMsgObj.value = gpgCommand;
- errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
- }
- else {
- errorMsgObj.value = "An unknown error has occurred";
- }
-
- return "";
- }
-
- return msg;
-}
-
-
-Enigmail.prototype.decryptAttachment =
-function (parent, outFileName, displayName, inputBuffer,
- exitCodeObj, statusFlagsObj, errorMsgObj) {
- WRITE_LOG("enigmail.js: Enigmail.decryptAttachment: parent="+parent+", outFileName="+outFileName+"\n");
-
- var dataLength = new Object();
- var byteData = inputBuffer.getByteData(dataLength);
- var attachmentHead = byteData.substr(0,200);
- if (attachmentHead.match(/\-\-\-\-\-BEGIN PGP \w+ KEY BLOCK\-\-\-\-\-/)) {
- // attachment appears to be a PGP key file
-
- if (this.confirmMsg(parent, EnigGetString("attachmentPgpKey", displayName))) {
- exitCodeObj.value = this.importKey(parent, 0, byteData, "", errorMsgObj);
- statusFlagsObj.value = gStatusFlags.IMPORTED;
- }
- else {
- exitCodeObj.value = 0;
- statusFlagsObj.value = nsIEnigmail.DISPLAY_MESSAGE;
- }
- return true;
- }
-
- var command = this.getAgentPath();
-
- outFileName = outFileName.replace(/([\\\"\'\`])/g, "\\$1");
- //replace(/\\/g, "\\\\").replace(/'/g, "\\'");;
-
- command += GPG_BATCH_OPTS + " -o " + this.quoteSign + outFileName + this.quoteSign;
- command+= " --yes " + this.passwdCommand() + " -d ";
-
-
- statusFlagsObj.value = 0;
-
- var passphrase = null;
- var passwdObj = new Object();
- var useAgentObj = new Object();
-
- if (!GetPassphrase(parent, passwdObj, useAgentObj, 0)) {
- ERROR_LOG("enigmail.js: Enigmail.decryptAttachment: Error - no passphrase supplied\n");
-
- statusFlagsObj.value |= nsIEnigmail.MISSING_PASSPHRASE;
- return null;
- }
-
- passphrase = passwdObj.value;
-
- var noProxy = true;
-
- var ipcBuffer = Components.classes[NS_IPCBUFFER_CONTRACTID].createInstance(Components.interfaces.nsIIPCBuffer);
- ipcBuffer.open(MSG_BUFFER_SIZE, false);
-
- var pipeTrans = this.execStart(command, false, parent, 0,
- ipcBuffer, noProxy, statusFlagsObj);
-
-
- if (!pipeTrans) {
- return false;
- }
-
- try {
- if (! useAgentObj.value) {
- if (passphrase.length > 0) {
- pipeTrans.writeSync(passphrase, passphrase.length);
- }
-
- pipeTrans.writeSync("\n", 1);
- }
- pipeTrans.writeSync(byteData, dataLength.value);
-
- }
- catch (ex) {
- return false;
- }
- // Wait for child STDOUT to close
- pipeTrans.join();
-
- exitCodeObj.value = pipeTrans.exitCode();
-
- var statusMsgObj = new Object();
- var cmdLineObj = new Object();
-
- try {
- this.execEnd(pipeTrans, statusFlagsObj, statusMsgObj, cmdLineObj, errorMsgObj);
- }
- catch (ex) {};
-
- return true;
-
-}
-
-Enigmail.prototype.getCardStatus =
-function(exitCodeObj, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.getCardStatus\n");
- var command = this.getAgentPath();
-
- command += " --status-fd 2 --fixed-list-mode --with-colons --card-status";
- var statusMsgObj = new Object();
- var statusFlagsObj = new Object();
-
- var outputTxt = this.execCmd(command, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, errorMsgObj);
-
- if ((exitCodeObj.value == 0) && !outputTxt) {
- exitCodeObj.value = -1;
- return "";
- }
-
- return outputTxt;
-}
-
-Enigmail.prototype.showKeyPhoto =
-function(keyId, photoNumber, exitCodeObj, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.showKeyPhoto, keyId="+keyId+" photoNumber="+photoNumber+"\n");
- var command = this.getAgentPath();
-
- command += " --no-secmem-warning --no-verbose --no-auto-check-trustdb --batch --no-tty --status-fd 1 --attribute-fd 2";
- command += " --fixed-list-mode --list-keys "+keyId;
-
- var photoDataObj = new Object();
-
- var outputTxt = this.simpleExecCmd(command, exitCodeObj, photoDataObj);
-
- if ((exitCodeObj.value == 0) && !outputTxt) {
- exitCodeObj.value = -1;
- return "";
- }
-
- if (/*this.agentVersion<"1.5" &&*/ this.isDosLike) {
- // workaround for error in gpg
- photoDataObj.value=photoDataObj.value.replace(/\r\n/g, "\n");
- }
-
-// [GNUPG:] ATTRIBUTE A053069284158FC1E6770BDB57C9EB602B0717E2 2985
- var foundPicture = -1;
- var skipData = 0;
- var imgSize = -1;
- var statusLines = outputTxt.split(/[\n\r+]/);
-
- for (var i=0; i < statusLines.length; i++) {
- var matches = statusLines[i].match(/\[GNUPG:\] ATTRIBUTE ([A-F\d]+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+)/)
- if (matches && matches[3]=="1") {
- // attribute is an image
- ++foundPicture;
- if (foundPicture == photoNumber) {
- imgSize = Number(matches[2]);
- break;
- }
- else {
- skipData += Number(matches[2]);
- }
- }
- }
-
- if (foundPicture>=0 && foundPicture == photoNumber) {
- var pictureData = photoDataObj.value.substr(16+skipData, imgSize);
- if (! pictureData.length)
- return "";
- try {
- var flags = NS_WRONLY | NS_CREATE_FILE | NS_TRUNCATE;
-
- var ds = Components.classes[DIR_SERV_CONTRACTID].getService();
- var dsprops = ds.QueryInterface(Components.interfaces.nsIProperties);
- var picFile = dsprops.get("TmpD", Components.interfaces.nsIFile);
-
- picFile.append(keyId+".jpg");
- picFile.createUnique(picFile.NORMAL_FILE_TYPE, DEFAULT_FILE_PERMS);
-
- var fileStream = Components.classes[NS_LOCALFILEOUTPUTSTREAM_CONTRACTID].createInstance(Components.interfaces.nsIFileOutputStream);
- fileStream.init(picFile, flags, DEFAULT_FILE_PERMS, 0);
- if (fileStream.write(pictureData, pictureData.length) != pictureData.length)
- throw Components.results.NS_ERROR_FAILURE;
-
- fileStream.flush();
- fileStream.close();
- }
- catch (ex) {
- exitCodeObj.value = -1;
- return "";
- }
- }
- return picFile.path;
-}
-
-
-// Methods for handling Per-Recipient Rules
-
-Enigmail.prototype.getRulesFile = function () {
- DEBUG_LOG("enigmail.js: getRulesFile\n");
- var ds = Components.classes[DIR_SERV_CONTRACTID].getService();
- var dsprops = ds.QueryInterface(Components.interfaces.nsIProperties);
- var rulesFile = dsprops.get("ProfD", Components.interfaces.nsILocalFile);
- rulesFile.append("pgprules.xml");
- return rulesFile;
-}
-
-Enigmail.prototype.loadRulesFile = function () {
- DEBUG_LOG("enigmail.js: loadRulesFile\n");
- var flags = NS_RDONLY;
- var rulesFile = this.getRulesFile();
- if (rulesFile.exists()) {
- fileContents = EnigReadFile(rulesFile);
-
- if (fileContents.length==0 || fileContents.search(/^\s*$/)==0) {
- return false;
- }
-
- var domParser=Components.classes[NS_DOMPARSER_CONTRACTID].createInstance(Components.interfaces.nsIDOMParser);
- this.rulesList = domParser.parseFromString(fileContents, "text/xml");
-
- return true;
- }
- return false;
-}
-
-Enigmail.prototype.saveRulesFile = function () {
- DEBUG_LOG("enigmail.js: saveRulesFile\n");
-
- var flags = NS_WRONLY | NS_CREATE_FILE | NS_TRUNCATE;
- var domSerializer=Components.classes[NS_DOMSERIALIZER_CONTRACTID].createInstance(Components.interfaces.nsIDOMSerializer);
- var rulesFile = this.getRulesFile();
- if (rulesFile) {
- if (this.rulesList) {
- // the rule list is not empty -> write into file
- return WriteFileContents(rulesFile.path,
- domSerializer.serializeToString(this.rulesList.firstChild),
- DEFAULT_FILE_PERMS);
- }
- else {
- // empty rule list -> delete rules file
- try {
- rulesFile.remove(false);
- }
- catch (ex) {}
- return true;
- }
- }
- else
- return false;
-}
-
-Enigmail.prototype.getRulesData = function (rulesListObj) {
- DEBUG_LOG("enigmail.js: getRulesData\n");
- var ret=true;
- if (! this.rulesList) {
- ret=this.loadRulesFile();
- }
- if (this.rulesList) {
- rulesListObj.value = this.rulesList;
- return ret;
- }
-
- rulesListObj.value = null;
- return false;
-}
-
-Enigmail.prototype.addRule = function (appendToEnd, toAddress, keyList, sign, encrypt, pgpMime, flags) {
- DEBUG_LOG("enigmail.js: addRule\n");
- if (! this.rulesList) {
- var domParser=Components.classes[NS_DOMPARSER_CONTRACTID].createInstance(Components.interfaces.nsIDOMParser);
- this.rulesList = domParser.parseFromString("<pgpRuleList/>", "text/xml");
- }
- var negate = (flags & 1);
- var rule=this.rulesList.createElement("pgpRule");
- rule.setAttribute("email", toAddress);
- rule.setAttribute("keyId", keyList);
- rule.setAttribute("sign", sign);
- rule.setAttribute("encrypt", encrypt);
- rule.setAttribute("pgpMime", pgpMime);
- rule.setAttribute("negateRule", flags);
- var origFirstChild = this.rulesList.firstChild.firstChild;
-
- if (origFirstChild && (! appendToEnd)) {
- this.rulesList.firstChild.insertBefore(rule, origFirstChild);
- this.rulesList.firstChild.insertBefore(this.rulesList.createTextNode(this.isDosLike ? "\r\n" : "\n"), origFirstChild);
- }
- else {
- this.rulesList.firstChild.appendChild(rule);
- this.rulesList.firstChild.appendChild(this.rulesList.createTextNode(this.isDosLike ? "\r\n" : "\n"));
- }
-
-}
-
-Enigmail.prototype.clearRules = function () {
- this.rulesList = null;
-}
-
-
-
-function KeyEditor(pipeTrans, reqObserver) {
- this._pipeTrans = pipeTrans;
- this._reqObserver = reqObserver;
-}
-
-KeyEditor.prototype = {
- _pipeTrans: null,
- _txt: null,
- _req: null,
-
- nextLine: function() {
- return this._txt;
- },
-
- writeLine: function (inputData) {
- this._pipeTrans.writeSync(inputData+"\n", inputData.length+1);
- },
-
- nextLine: function() {
- var txt="";
- while (txt.indexOf("[GNUPG:]") < 0) {
- txt = this._pipeTrans.readLine(-1);
- if (this._reqObserver) {
- var newTxt = this._reqObserver.onDataAvailable(txt);
- if (newTxt) {
- txt = newTxt;
- }
- }
- }
- this._txt = txt;
- return this._txt;
- },
-
- doCheck: function(inputType, promptVal) {
- var a=this._txt.split(/ /);
- return ((a[1] == inputType) && (a[2] == promptVal))
- },
-
- getText: function() {
- return this._txt;
- },
-
- keyEditorMainLoop: function (callbackFunc, inputData, errorMsgObj) {
- // main method that loops over the requests & responses of the
- // GnuPG key editor
- var txt="";
- var r = { quitNow: false,
- exitCode: -1 };
- errorMsgObj.value=EnigGetString("undefinedError");
-
- while (! r.quitNow) {
- while ((txt.indexOf("[GNUPG:] GET_") < 0) && (! r.quitNow)) {
- try {
- txt = this.nextLine();
- DEBUG_LOG(txt+"\n");
- if (txt.indexOf("KEYEXPIRED") > 0) {
- errorMsgObj.value=EnigGetString("noSignKeyExpired");
- r.exitCode=-1;
- }
- if (txt.indexOf("[GNUPG:] BAD_PASSPHRASE")>=0) {
- r.exitCode=-2;
- }
- if (txt.indexOf("[GNUPG:] NO_CARD_AVAILABLE")>=0) {
- errorMsgObj.value=EnigGetString("noCardAvailable");
- r.exitCode=-3;
- }
- if (txt.indexOf("[GNUPG:] ENIGMAIL_FAILURE")==0) {
- r.exitCode = -3;
- r.quitNow = true;
- errorMsgObj.value = txt.substr(26);
- }
- if (txt.indexOf("[GNUPG:] ALREADY_SIGNED")>=0) {
- errorMsgObj.value=EnigGetString("keyAlreadySigned");
- r.exitCode=-1;
- }
- }
- catch (ex) {
- txt="";
- r.quitNow=true;
- }
- }
-
- if (! r.quitNow) {
- if (callbackFunc) {
- callbackFunc(inputData, this, r);
- if (r.exitCode == 0) {
- this.writeLine(r.writeTxt);
- }
- else {
- errorMsgObj.value = r.errorMsg;
- }
- }
- else {
- r.quitNow=true;
- r.exitCode = 0;
- }
- }
- if (! r.quitNow) {
- try{
- txt = this.nextLine();
- DEBUG_LOG(txt+"\n");
- }
- catch(ex) {
- r.quitNow=true;
- }
- }
- }
-
- try {
- this.writeLine("save");
- txt = this.nextLine();
- DEBUG_LOG(txt+"\n");
- }
- catch (ex) {
- DEBUG_LOG("no more data\n");
- }
-
- return r.exitCode;
- },
-
- QueryInterface: function (iid) {
- if (!iid.equals(Components.interfaces.nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
- return this;
- }
-}
-
-Enigmail.prototype.signKey =
-function (parent, userId, keyId, signLocally, trustLevel, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.signKey: trustLevel="+trustLevel+", userId="+userId+", keyId="+keyId+"\n");
- var r = this.editKey(parent, true, userId, keyId,
- (signLocally ? "lsign" : "sign"),
- { trustLevel: trustLevel},
- signKeyCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-Enigmail.prototype.setKeyTrust =
-function (parent, keyId, trustLevel, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.setKeyTrust: trustLevel="+trustLevel+", keyId="+keyId+"\n");
-
- return this.editKey(parent, false, null, keyId, "trust",
- { trustLevel: trustLevel},
- keyTrustCallback,
- null,
- errorMsgObj);
-}
-
-Enigmail.prototype.genRevokeCert =
-function (parent, keyId, outFile, reasonCode, reasonText, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.genRevokeCert: keyId="+keyId+"\n");
-
- var r= this.editKey(parent, true, null, keyId, "revoke",
- { outFile: outFile,
- reasonCode: reasonCode,
- reasonText: EnigConvertFromUnicode(reasonText) },
- revokeCertCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-Enigmail.prototype.addUid =
-function (parent, keyId, name, email, comment, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.addUid: keyId="+keyId+", name="+name+", email="+email+"\n");
- var r= this.editKey(parent, true, null, keyId, "adduid",
- { email: email,
- name: name,
- comment: comment,
- nameAsked: 0,
- emailAsked: 0 },
- addUidCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-Enigmail.prototype.deleteKey =
-function (parent, keyId, deleteSecretKey, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.addUid: keyId="+keyId+", deleteSecretKey="+deleteSecretKey+"\n");
-
- var cmd = (deleteSecretKey ? "--delete-secret-and-public-key" : "--delete-key");
- var r= this.editKey(parent, false, null, keyId, cmd,
- {},
- deleteKeyCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-Enigmail.prototype.changePassphrase =
-function (parent, keyId, oldPw, newPw, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.changePassphrase: keyId="+keyId+"\n");
-
- var pwdObserver = new enigChangePasswdObserver();
- var r= this.editKey(parent, false, null, keyId, "passwd",
- { oldPw: oldPw,
- newPw: newPw,
- step: 0,
- observer: pwdObserver },
- changePassphraseCallback,
- pwdObserver,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-
-Enigmail.prototype.simpleChangePassphrase =
-function (parent, keyId, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.simpleChangePassphrase: keyId="+keyId+"\n");
-
- var command = this.getAgentPath();
-
- command += GPG_BATCH_OPTS + " --edit-key " + keyId +" passwd"
-
- var exitCodeObj = new Object();
- var statusFlagsObj = new Object();
- var statusMsgObj = new Object();
-
- var msg = this.execCmd(command, null, "",
- exitCodeObj, statusFlagsObj, statusMsgObj, errorMsgObj);
-
- if (statusFlagsObj.value & (gStatusFlags.BAD_PASSPHRASE |
- gStatusFlags.SC_OP_FAILURE |
- gStatusFlags.NODATA |
- gStatusFlags.MISSING_PASSPHRASE |
- gStatusFlags.CARDCTRL)) {
- exitCodeObj.value = 1;
- }
-
- return exitCodeObj.value;
-}
-
-Enigmail.prototype.revokeSubkey =
-function (parent, keyId, subkeys, reasonCode, reasonText, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.revokeSubkey: keyId="+keyId+"\n");
-
- var r= this.editKey(parent, true, null, keyId, "",
- { step: 0,
- subkeys: subkeys.split(/,/),
- reasonCode: reasonCode,
- reasonText: EnigConvertFromUnicode(reasonText) },
- revokeSubkeyCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-
-Enigmail.prototype.enableDisableKey =
-function (parent, keyId, disableKey, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.addUid: keyId="+keyId+", disableKey="+disableKey+"\n");
-
- var cmd = (disableKey ? "disable" : "enable");
- var r= this.editKey(parent, false, null, keyId, cmd,
- {},
- null,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-Enigmail.prototype.setPrimaryUid =
-function (parent, keyId, idNumber, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.setPrimaryUid: keyId="+keyId+", idNumber="+idNumber+"\n");
- var r = this.editKey(parent, true, null, keyId, "",
- { idNumber: idNumber,
- step: 0 },
- setPrimaryUidCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-
-Enigmail.prototype.deleteUid =
-function (parent, keyId, idNumber, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.deleteUid: keyId="+keyId+", idNumber="+idNumber+"\n");
- var r = this.editKey(parent, true, null, keyId, "",
- { idNumber: idNumber,
- step: 0 },
- deleteUidCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-
-Enigmail.prototype.revokeUid =
-function (parent, keyId, idNumber, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.revokeUid: keyId="+keyId+", idNumber="+idNumber+"\n");
- var r = this.editKey(parent, true, null, keyId, "",
- { idNumber: idNumber,
- step: 0 },
- revokeUidCallback,
- null,
- errorMsgObj);
- this.stillActive();
-
- return r;
-}
-
-
-function enigCardAdminObserver(guiObserver, isDosLike) {
- this._guiObserver = guiObserver;
- this.isDosLike = isDosLike;
-}
-
-enigCardAdminObserver.prototype =
-{
- _guiObserver: null,
- _failureCode: 0,
-
- QueryInterface : function(iid)
- {
- if (iid.equals(Components.interfaces.nsIEnigMimeReadCallback) ||
- iid.equals(Components.interfaces.nsISupports) )
- return this;
-
- throw Components.results.NS_NOINTERFACE;
- },
-
- onDataAvailable: function (data) {
- var ret="";
- DEBUG_LOG("enigmail.js: enigCardAdminObserver.onDataAvailable: data="+data+"\n");
- if (this.isDosLike && data.indexOf("[GNUPG:] BACKUP_KEY_CREATED") == 0) {
- data=data.replace(/\//g, "\\");
- }
- if (this._failureCode) {
- ret = "[GNUPG:] ENIGMAIL_FAILURE "+data;
- }
- if (data.indexOf("[GNUPG:] SC_OP_FAILURE")>=0) {
- this._failureCode = 1;
- }
- if (this._guiObserver) {
- this._guiObserver.onDataAvailable(data);
- }
- return ret;
- }
-}
-
-function enigChangePasswdObserver() {}
-
-enigChangePasswdObserver.prototype =
-{
- _failureCode: 0,
- passphraseStatus: 0,
-
- QueryInterface : function(iid)
- {
- if (iid.equals(Components.interfaces.nsIEnigMimeReadCallback) ||
- iid.equals(Components.interfaces.nsISupports) )
- return this;
-
- throw Components.results.NS_NOINTERFACE;
- },
-
- onDataAvailable: function (data) {
- var ret="";
- DEBUG_LOG("enigmail.js: enigChangePasswdObserver.onDataAvailable: data="+data+"\n");
- if (this._failureCode) {
- ret = "[GNUPG:] ENIGMAIL_FAILURE "+data;
- }
- if (data.indexOf("[GNUPG:] GOOD_PASSPHRASE")>=0) {
- this.passphraseStatus = 1;
- }
- else if (data.indexOf("[GNUPG:] BAD_PASSPHRASE")>=0) {
- this.passphraseStatus = -1;
- }
- return ret;
- }
-}
-
-Enigmail.prototype.genCardKey =
-function (parent, name, email, comment, expiry, backupPasswd, requestObserver, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.genCardKey: \n");
- var generateObserver = new enigCardAdminObserver(requestObserver, this.isDosLike);
- var r = this.editKey(parent, false, null, "", "--with-colons --card-edit",
- { step: 0,
- name: EnigConvertFromUnicode(name),
- email: email,
- comment: EnigConvertFromUnicode(comment),
- expiry: expiry,
- backupPasswd: backupPasswd,
- backupKey: (backupPasswd.length > 0 ? "Y" : "N"),
- parent: parent },
- genCardKeyCallback,
- generateObserver,
- errorMsgObj);
- return r;
-}
-
-Enigmail.prototype.cardAdminData =
-function (parent, name, firstname, lang, sex, url, login, forcepin, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.cardAdminData: parent="+parent+", name="+name+", firstname="+firstname+", lang="+lang+", sex="+sex+", url="+url+", login="+login+", forcepin="+forcepin+"\n");
- var adminObserver = new enigCardAdminObserver(null, this.isDosLike);
- var r = this.editKey(parent, false, null, "", "--with-colons --card-edit",
- { step: 0,
- name: name,
- firstname: firstname,
- lang: lang,
- sex: sex,
- url: url,
- login: login,
- forcepin: forcepin },
- cardAdminDataCallback,
- adminObserver,
- errorMsgObj);
- return r;
-}
-
-Enigmail.prototype.cardChangePin =
-function (parent, action, oldPin, newPin, adminPin, pinObserver, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.cardChangePin: parent="+parent+", action="+action+"\n");
- var adminObserver = new enigCardAdminObserver(pinObserver, this.isDosLike);
- var r = this.editKey(parent, false, null, "", "--with-colons --card-edit",
- { step: 0,
- pinStep: 0,
- action: action,
- oldPin: oldPin,
- newPin: newPin,
- adminPin: adminPin },
- cardChangePinCallback,
- adminObserver,
- errorMsgObj);
- return r;
-}
-
-
-Enigmail.prototype.editKey =
-function (parent, needPassphrase, userId, keyId, editCmd, inputData, callbackFunc, requestObserver, errorMsgObj) {
- DEBUG_LOG("enigmail.js: Enigmail.editKey: parent="+parent+", editCmd="+editCmd+"\n");
-
- if (!this.initialized) {
- errorMsgObj.value = EnigGetString("notInit");
- return -1;
- }
-
- if (this.agentType != "gpg") {
- errorMsgObj.value = EnigGetString("failOnlyGPG");
- return -1;
- }
-
- errorMsgObj.value = "";
- var command = this.getAgentPath();
-
- var statusFlags = new Object();
-
- var passphrase = "";
- var useAgentObj = new Object();
-
- if (needPassphrase) {
- command += this.passwdCommand();
-
- var passwdObj = new Object();
-
- if (!GetPassphrase(parent, passwdObj, useAgentObj, 0)) {
- ERROR_LOG("enigmail.js: Enigmail.execStart: Error - no passphrase supplied\n");
-
- errorMsgObj.value = EnigGetString("noPassphrase");
- return -1;
- }
-
- passphrase = passwdObj.value;
- }
- else
- {
- useAgentObj.value = true;
- }
-
- command += " --no-tty --status-fd 1 --logger-fd 1 --command-fd 0"
- if (userId) command += " -u " + userId;
- if (editCmd == "revoke") {
- // escape backslashes and ' characters
- command += " -a -o "+this.quoteSign;
- command += inputData.outFile.replace(/([\\\"\'\`])/g, "\\$1");
- //replace(/\\/g, "\\\\").replace(/'/g, "\\'");
- command += this.quoteSign+" --gen-revoke " + keyId;
- }
- else if (editCmd.indexOf("--")==0) {
- command += " "+editCmd + " " + keyId;
- }
- else {
- command += " --ask-cert-level --edit-key " + keyId + " " + editCmd;
- }
- command = command.replace(/ *$/, "");
- var pipeTrans = this.execStart(command, false, parent, null, null,
- true, statusFlags);
- if (! pipeTrans) return -1;
-
- if (! useAgentObj.value) {
- try {
- if (passphrase) {
- pipeTrans.writeSync(passphrase, passphrase.length);
- }
- pipeTrans.writeSync("\n", 1);
- } catch (ex) {}
- }
-
-
- var returnCode=-1;
- try {
- var keyEdit = new KeyEditor(pipeTrans, requestObserver);
- returnCode = keyEdit.keyEditorMainLoop(callbackFunc, inputData, errorMsgObj);
- } catch (ex) {
- DEBUG_LOG("enigmail.js: Enigmail.editKey: caught exception from writing to pipeTrans\n");
- }
-
- var mimeSvc = Components.classes[NS_ENIGMIMESERVICE_CONTRACTID].getService(Components.interfaces.nsIEnigMimeService);
-
- var exitCode = -1;
- switch(returnCode) {
- case 0:
- for (var retryCount = 100; retryCount > 0; retryCount--) {
- if (pipeTrans.isAttached()) {
- DEBUG_LOG("enigmail.js: Enigmail.editKey: sleeping 100 ms\n");
- mimeSvc.sleep(100);
- }
- else {
- retryCount = -1;
- }
- }
- try{
- exitCode = pipeTrans.exitCode();
- } catch (ex) {
- DEBUG_LOG("enigmail.js: Enigmail.editKey: caught exception from pipeTrans\n");
- }
- break;
- case -2:
- errorMsgObj.value=EnigGetString("badPhrase");
- this.clearCachedPassphrase();
- default:
- exitCode = returnCode;
- }
-
- DEBUG_LOG("enigmail.js: Enigmail.editKey: GnuPG terminated with code="+exitCode+"\n");
- return exitCode;
-}
-
-
-function signKeyCallback(inputData, keyEdit, ret) {
-
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_BOOL, "sign_uid.okay" )) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_BOOL, "keyedit.sign_all.okay" )) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_LINE, "sign_uid.expire" )) {
- ret.exitCode = 0;
- ret.writeTxt = "0";
- }
- else if (keyEdit.doCheck(GET_LINE, "trustsig_prompt.trust_value" )) {
- ret.exitCode = 0;
- ret.writeTxt = "0";
- }
- else if (keyEdit.doCheck(GET_LINE, "trustsig_prompt.trust_depth" )) {
- ret.exitCode = 0;
- ret.writeTxt = "";}
- else if (keyEdit.doCheck(GET_LINE, "trustsig_prompt.trust_regexp" )) {
- ret.exitCode = 0;
- ret.writeTxt = "0";}
- else if (keyEdit.doCheck(GET_LINE, "siggen.valid" )) {
- ret.exitCode = 0;
- ret.writeTxt = "0";
- }
- else if (keyEdit.doCheck(GET_BOOL, "sign_uid.local_promote_okay" )) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_LINE, "sign_uid.class" )) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.trustLevel;
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else if (keyEdit.doCheck(GET_LINE, "keyedit.prompt")) {
- ret.quitNow = true;
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-function keyTrustCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "edit_ownertrust.value" )) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.trustLevel;
- }
- else if (keyEdit.doCheck(GET_BOOL, "edit_ownertrust.set_ultimate.okay")) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_LINE, "keyedit.prompt")) {
- ret.quitNow = true;
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-
-function addUidCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "keygen.name" )) {
- ++inputData.nameAsked;
- if (inputData.nameAsked==1) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.name;
- }
- else {
- ret.exitCode=-1;
- ret.quitNow=true;
- ret.errorMsg="Invalid name (too short)";
- }
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.email")) {
- ++inputData.emailAsked;
- if (inputData.emailAsked==1) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.email;
- }
- else {
- ret.exitCode=-1;
- ret.quitNow=true;
- ret.errorMsg="Invalid email";
- }
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.comment")) {
- ret.exitCode = 0;
- if (inputData.comment) {
- ret.writeTxt = inputData.comment;
- }
- else {
- ret.writeTxt="";
- }
- }
- else if (keyEdit.doCheck(GET_LINE, "keyedit.prompt")) {
- ret.quitNow = true;
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-
-function revokeCertCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "ask_revocation_reason.code" )) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.reasonCode;
- }
- else if (keyEdit.doCheck(GET_LINE, "ask_revocation_reason.text" )) {
- ret.exitCode = 0;
- ret.writeTxt = "";
- }
- else if (keyEdit.doCheck(GET_BOOL, "gen_revoke.okay")) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_BOOL, "ask_revocation_reason.okay" )) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_BOOL, "openfile.overwrite.okay" )) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else if (keyEdit.doCheck(GET_LINE, "keyedit.prompt")) {
- ret.quitNow = true;
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-function revokeSubkeyCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "keyedit.prompt")) {
- if (inputData.step < inputData.subkeys.length) {
- ret.exitCode = 0;
- ret.writeTxt = "key "+inputData.subkeys[inputData.step];
- ++inputData.step;
- }
- else if (inputData.step == inputData.subkeys.length) {
- ret.exitCode = 0;
- ret.writeTxt = "revkey";
- ++inputData.step;
- }
- else {
- if (inputData.step == (inputData.subkeys.length+1)) {
- ret.exitCode = 0;
- }
- else {
- ret.exitCode = -1;
- }
- ret.quitNow = true;
- }
- }
- else if (keyEdit.doCheck(GET_BOOL, "keyedit.revoke.subkey.okay")) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_LINE, "ask_revocation_reason.code" )) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.reasonCode;
- }
- else if (keyEdit.doCheck(GET_LINE, "ask_revocation_reason.text" )) {
- ret.exitCode = 0;
- ret.writeTxt = "";
- }
- else if (keyEdit.doCheck(GET_BOOL, "ask_revocation_reason.okay" )) {
- ++inputData.step;
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-function setPrimaryUidCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "keyedit.prompt" )) {
- ++inputData.step;
- switch (inputData.step) {
- case 1:
- ret.exitCode = 0;
- ret.writeTxt = "uid "+inputData.idNumber;
- break;
- case 2:
- ret.exitCode = 0;
- ret.writeTxt = "primary";
- break;
- case 3:
- ret.exitCode = 0;
- ret.quitNow=true;
- break;
- default:
- ret.exitCode = -1;
- ret.quitNow=true;
- }
-
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-
-function changePassphraseCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_HIDDEN, "passphrase.enter")) {
- switch (inputData.observer.passphraseStatus) {
- case 0:
- ret.writeTxt = inputData.oldPw;
- ret.exitCode = 0;
- break;
- case 1:
- ret.writeTxt = inputData.newPw;
- ret.exitCode = 0;
- break;
- case -1:
- ret.exitCode = -2;
- ret.quitNow=true;
- break;
- }
- }
- else if (keyEdit.doCheck(GET_BOOL, "change_passwd.empty.okay")) {
- ret.writeTxt = "Y";
- ret.exitCode = 0;
- }
- else if (keyEdit.doCheck(GET_LINE, "keyedit.prompt")) {
- ret.quitNow = true;
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-
-function deleteUidCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "keyedit.prompt" )) {
- ++inputData.step;
- switch (inputData.step) {
- case 1:
- ret.exitCode = 0;
- ret.writeTxt = "uid "+inputData.idNumber;
- break;
- case 2:
- ret.exitCode = 0;
- ret.writeTxt = "deluid";
- break;
- case 4:
- ret.exitCode = 0;
- ret.quitNow=true;
- break;
- default:
- ret.exitCode = -1;
- ret.quitNow=true;
- }
- }
- else if (keyEdit.doCheck(GET_BOOL, "keyedit.remove.uid.okay" )) {
- ++inputData.step;
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-
-function revokeUidCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "keyedit.prompt" )) {
- ++inputData.step;
- switch (inputData.step) {
- case 1:
- ret.exitCode = 0;
- ret.writeTxt = "uid "+inputData.idNumber;
- break;
- case 2:
- ret.exitCode = 0;
- ret.writeTxt = "revuid";
- break;
- case 7:
- ret.exitCode = 0;
- ret.quitNow=true;
- break;
- default:
- ret.exitCode = -1;
- ret.quitNow=true;
- }
- }
- else if (keyEdit.doCheck(GET_BOOL, "keyedit.revoke.uid.okay" )) {
- ++inputData.step;
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_LINE, "ask_revocation_reason.code")) {
- ++inputData.step;
- ret.exitCode = 0;
- ret.writeTxt = "0"; // no reason specified
- }
- else if (keyEdit.doCheck(GET_LINE, "ask_revocation_reason.text")) {
- ++inputData.step;
- ret.exitCode = 0;
- ret.writeTxt = "";
- }
- else if (keyEdit.doCheck(GET_BOOL, "ask_revocation_reason.okay")) {
- ++inputData.step;
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-
-function deleteKeyCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_BOOL, "delete_key.secret.okay")) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_BOOL, "keyedit.remove.subkey.okay")) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_BOOL, "delete_key.okay" )) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-function GetPin(domWindow, promptMsg, ret) {
- DEBUG_LOG("enigmail.js: GetPin: \n");
-
- var passwdObj = {value: ""};
- var dummyObj = {};
-
- var success = false;
-
- var promptService = Components.classes[NS_PROMPTSERVICE_CONTRACTID].getService(Components.interfaces.nsIPromptService);
- success = promptService.promptPassword(domWindow,
- EnigGetString("Enigmail"),
- promptMsg,
- passwdObj,
- null,
- dummyObj);
-
- if (!success) {
- ret.errorMsg = EnigGetString("noPassphrase");
- ret.quitNow=true;
- return false;
- }
-
- DEBUG_LOG("enigmail.js: GetPin: got pin\n");
- ret.writeTxt = passwdObj.value;
-
- return true;
-}
-
-function genCardKeyCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- var pinObj={};
-
- if (keyEdit.doCheck(GET_LINE, "cardedit.prompt")) {
- if (inputData.step == 0) {
- ret.exitCode = 0;
- ret.writeTxt = "admin";
- }
- else if (inputData.step == 1) {
- ret.exitCode = 0;
- ret.writeTxt = "generate";
- }
- else {
- ret.exitCode = 0;
- ret.quitNow=true;
- ret.writeTxt = "quit";
- }
- ++inputData.step;
- }
- else if (keyEdit.doCheck(GET_LINE, "cardedit.genkeys.backup_enc") ||
- keyEdit.doCheck(GET_BOOL, "cardedit.genkeys.backup_enc")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.backupKey;
- }
- else if (keyEdit.doCheck(GET_BOOL, "cardedit.genkeys.replace_keys")) {
- ret.exitCode = 0;
- ret.writeTxt = "Y";
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.enter")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.backupPasswd;
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.valid")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.expiry;
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.name")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.name;
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.email")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.email;
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.comment")) {
- ret.exitCode = 0;
- if (inputData.comment) {
- ret.writeTxt = inputData.comment;
- }
- else {
- ret.writeTxt="";
- }
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-function cardAdminDataCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- var pinObj={};
-
- if (keyEdit.doCheck(GET_LINE, "cardedit.prompt")) {
- ++inputData.step;
- ret.exitCode = 0;
- switch(inputData.step) {
- case 1:
- ret.writeTxt = "admin";
- break;
- case 2:
- ret.writeTxt = "name";
- break;
- case 3:
- ret.writeTxt = "lang";
- break;
- case 4:
- ret.writeTxt = "sex";
- break;
- case 5:
- ret.writeTxt = "url";
- break;
- case 6:
- ret.writeTxt = "login";
- break;
- case 7:
- if (inputData.forcepin != 0) {
- ret.writeTxt = "forcesig";
- break;
- }
- default:
- ret.writeTxt = "quit";
- ret.quitNow=true;
- break;
- }
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterAdminPin"), ret);
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- GetPin(inputData.parent, EnigGetString("enterCardPin"), ret);
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.smartcard.surname")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.firstname;
- }
- else if (keyEdit.doCheck(GET_LINE, "keygen.smartcard.givenname")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.name;
- }
- else if (keyEdit.doCheck(GET_LINE, "cardedit.change_sex")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.sex;
- }
- else if (keyEdit.doCheck(GET_LINE, "cardedit.change_lang")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.lang;
- }
- else if (keyEdit.doCheck(GET_LINE, "cardedit.change_url")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.url;
- }
- else if (keyEdit.doCheck(GET_LINE, "cardedit.change_login")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.login;
- }
- else {
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- ret.exitCode=-1;
- }
-}
-
-function cardChangePinCallback(inputData, keyEdit, ret) {
- ret.writeTxt = "";
- ret.errorMsg = "";
-
- if (keyEdit.doCheck(GET_LINE, "cardedit.prompt")) {
- ++inputData.step;
- ret.exitCode=0;
- switch (inputData.step) {
- case 1:
- ret.writeTxt = "admin";
- break;
- case 2:
- ret.writeTxt = "passwd";
- break;
- default:
- ret.writeTxt = "quit";
- ret.exitCode = 0;
- ret.quitNow=true;
- break;
- }
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.ask")) {
- ret.exitCode=0;
- ret.writeTxt = inputData.adminPin;
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.ask")) {
- ret.exitCode=0;
- ret.writeTxt = inputData.oldPin;
- }
- else if (keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.new.ask") ||
- keyEdit.doCheck(GET_HIDDEN, "passphrase.pin.repeat") ||
- keyEdit.doCheck(GET_HIDDEN, "passphrase.ask") ||
- keyEdit.doCheck(GET_HIDDEN, "passphrase.adminpin.new.ask")) {
- ret.exitCode = 0;
- ret.writeTxt = inputData.newPin;
- }
- else if (keyEdit.doCheck(GET_LINE, "cardutil.change_pin.menu")) {
- ret.exitCode=0;
- ++inputData.pinStep;
- if (inputData.pinStep == 1) {
- ret.writeTxt = inputData.action.toString();
- }
- else {
- ret.writeTxt = "Q";
- }
- }
- else {
- ret.exitCode=-1;
- ret.quitNow=true;
- ERROR_LOG("Unknown command prompt: "+keyEdit.getText()+"\n");
- }
-}
-
-const EnigCmdLineHandler = {
- /* nsISupports */
- QueryInterface: function (iid) {
- if (iid.equals(nsICommandLineHandler) ||
- iid.equals(Components.interfaces.nsIFactory) ||
- iid.equals(nsISupports))
- return this;
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
- },
-
- /* nsICommandLineHandler */
- handle: function(cmdLine) {
- if (cmdLine.handleFlag("pgpkeyman", false)) {
- cmdLine.preventDefault = true; // do not open main app window
-
- var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
- .getService(Components.interfaces.nsIWindowWatcher);
- wwatch.openWindow(null, "chrome://enigmail/content/enigmailKeyManager.xul", "_blank",
- "chrome,dialog=no,all", cmdLine);
- }
- },
-
- helpInfo: " -pgpkeyman Open the OpenPGP key management.\n",
-
- /* nsIFactory */
-
- createInstance: function (outer, iid) {
- if (outer != null)
- throw Components.results.NS_ERROR_NO_AGGREGATION;
-
- return this.QueryInterface(iid);
- },
-
- lockFactory: function (lock) {}
-};
-
-
-function enigExtractHashAlgo(msgTxt) {
- DEBUG_LOG("enigmailMsgComposeOverlay.js: enigExtractHashAlgo\n");
-
- var m = msgTxt.match(/^(Hash: )(.*)$/m);
- if (m.length > 2 && m[1] == "Hash: ") {
- var hashAlgorithm = m[2].toLowerCase();
- for (var i=1; i < gMimeHashAlgorithms.length; i++) {
- if (gMimeHashAlgorithms[i] == hashAlgorithm) {
- DEBUG_LOG("enigmailMsgComposeOverlay.js: enigExtractHashAlgo: found hashAlgorithm "+hashAlgorithm+"\n");
- return hashAlgorithm;
- }
- }
- }
-
- DEBUG_LOG("enigmailMsgComposeOverlay.js: enigExtractHashAlgo: no hashAlgorithm found\n");
- return null;
-}
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/Makefile.in
^
|
@@ -32,7 +32,7 @@
#
XPI_MODULE = enigmail
-XPI_MODULE_VERS = 0.95.6
+XPI_MODULE_VERS = 0.95.7
DEPTH = ../../..
topsrcdir = @top_srcdir@
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/build/Makefile.in
^
|
@@ -38,7 +38,7 @@
# Specify these as parameters to the make command
XPI_MODULE = enigmime
-XPI_MODULE_VERS = 0.95.6.0
+XPI_MODULE_VERS = 0.95.7.0
DEPTH = ../../../..
topsrcdir = @top_srcdir@
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/build/enigmime.spec
^
|
@@ -1,5 +1,5 @@
Name: mozilla-enigmime
-Version: 0.95.6.0
+Version: 0.95.7.0
Release: 1
Requires: mozilla = 1.0.1, mozilla-mail = 1.0.1, mozilla-psm = 1.0.1
Summary: MIME and Inter-Process Communication for Enigmail/Mozilla
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/build/install.js
^
|
@@ -2,9 +2,9 @@
var err;
-err = initInstall("Enigmime v0.95.6.0", // name for install UI
+err = initInstall("Enigmime v0.95.7.0", // name for install UI
"/enigmime", // registered name
- "0.95.6.0"); // package version
+ "0.95.7.0"); // package version
logComment("initInstall: " + err);
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/build/install.rdf
^
|
@@ -5,7 +5,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>{847b3a02-7ab1-11d4-8f02-006008948af5}</em:id>
- <em:version>0.95.6.0</em:version>
+ <em:version>0.95.7.0</em:version>
<!-- Target Applications this extension can install into,
with minimum and maximum supported versions. -->
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/build/nsEnigModule.h
^
|
@@ -38,6 +38,6 @@
#ifndef _nsEnigModule_h_
#define _nsEnigModule_h_
-#define ENIGMIME_VERSION "0.95.6.0"
+#define ENIGMIME_VERSION "0.95.7.0"
#endif
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/build/package/contents.rdf
^
|
@@ -9,7 +9,7 @@
<!-- enigmail package information -->
<RDF:Description about="urn:mozilla:package:enigmime"
- chrome:displayName="Enigmime v0.95.6.0"
+ chrome:displayName="Enigmime v0.95.7.0"
chrome:author="Team Enigmail"
chrome:authorURL="http://enigmail.mozdev.org/"
chrome:name="enigmime"
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/genxpi
^
|
@@ -116,7 +116,7 @@
platformNode = APP_PLATFORM_MAC;
else if (!platformStr.search(/^Win/))
platformNode = APP_PLATFORM_WIN;
- else if (!platformStr.search(/Linux/))
+ else if (platformStr.search(/Linux/) >= 0)
platformNode = APP_PLATFORM_LINUX;
else if (!platformStr.search(/^OS\/2/))
platformNode = APP_PLATFORM_OS2;
@@ -171,6 +171,8 @@
case APP_PLATFORM_OS2:
addDirectory("", "platform/"+ABI_PLATFORM_OS2+"/components", fComponents, "");
break;
+ default:
+ addDirectory("", "platform/${platform}/components", fComponents, "");
}
err = getLastError();
@@ -267,6 +269,20 @@
}
EOT
+cat << EOT > ${targetDir}/components/gpg-wrapper.sh
+#!/bin/sh
+
+GPG="\$1"
+shift
+
+\$GPG "\$@"
+exitCode=\$?
+
+sleep 2
+exit $exitCode
+EOT
+
+chmod 755 ${targetDir}/components/gpg-wrapper.sh
cd ${srcDir}/package
enigmimeDll=${libPrefix}enigmime${dllSuffix}
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar
^
|
+(directory)
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/am-enigprefs.properties
^
|
@@ -0,0 +1,2 @@
+# Strings used in the Mozill AccountManager
+prefPanel-enigprefs=خصوصية OpenPGP
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/contents.rdf
^
|
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
+
+ <!-- list all the packages being supplied by this jar -->
+ <RDF:Seq about="urn:mozilla:locale:root">
+ <RDF:li resource="urn:mozilla:locale:ar"/>
+ </RDF:Seq>
+
+ <!-- locale information -->
+ <RDF:Description about="urn:mozilla:locale:ar" chrome:name="ar">
+
+ <chrome:packages>
+ <RDF:Seq about="urn:mozilla:locale:ar:packages">
+ <RDF:li resource="urn:mozilla:locale:ar:enigmail"/>
+ </RDF:Seq>
+ </chrome:packages>
+
+ </RDF:Description>
+
+</RDF:RDF>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/enigmail.dtd
^
|
@@ -0,0 +1,636 @@
+<!ENTITY enigmail.label "Enigmail">
+<!ENTITY enigmail.openpgp.label "OpenPGP">
+
+<!ENTITY enigmail.keyUserId.label "الحساب / هوية المستخدم">
+<!ENTITY enigmail.keygenTitle.label "ولِّد مفتاح OpenPGP">
+<!ENTITY enigmail.useForSigning.label "استخدم المفتاح المُولّد للهوية المختارة">
+<!ENTITY enigmail.keyComment.label "التعليق">
+<!ENTITY enigmail.keyNoPassphrase.label "لا كلمة سر">
+<!ENTITY enigmail.keyPassphrase.label "كلمة السر">
+<!ENTITY enigmail.keyPassphraseRepeat.label "كلمة السر (أعد)">
+<!ENTITY enigmail.generateKey.label "ولِّد المفتاح">
+<!ENTITY enigmail.generateKey.tooltip "يولِّد مفتاحا جديدا متوافقا مع OpenPGP للتعمية و/أو التوقيع">
+<!ENTITY enigmail.cancelKey.label "الغِ">
+<!ENTITY enigmail.cancelKey.tooltip "الغِ توليد المفتاح">
+<!ENTITY enigmail.keyGen.expiry.title "انتهاء المفتاح">
+<!ENTITY enigmail.keyGen.expire.label "تنتهي صلاحية المفتاح بعد">
+<!ENTITY enigmail.keyGen.days.label "أيّام">
+<!ENTITY enigmail.keyGen.months.label "أشهُر">
+<!ENTITY enigmail.keyGen.years.label "سنوات">
+<!ENTITY enigmail.keyGen.noExpiry.label "ليس للمفتاح مدة صلاحية محددة">
+<!ENTITY enigmail.keyGen.keySize.label "طول المفتاح">
+<!ENTITY enigmail.keyGen.console.label "مرقاب توليد المفاتيح">
+<!ENTITY enigmail.keyGen.keyType.label "نوع المفتاح">
+<!ENTITY enigmail.keyGen.keyType.dsa "DSA والجمل">
+<!ENTITY enigmail.keyGen.keyType.rsa "RSA">
+
+<!ENTITY enigmail.preferences.label "تفضيلات OpenPGP">
+
+<!ENTITY enigmail.passwordSettings.label "إعدادات كلمة السر">
+<!ENTITY enigmail.userNoPassphrase.label "لا تسأل أبدا عن كلمة السر">
+<!ENTITY enigmail.userNoPassphrase.tooltip "أشِّره إن كان مفتاح OpenPGP الخاص بك غير محمي بعبارة سر.">
+<!ENTITY enigmail.expertUser.label "اعرض تضبيطات الخبراء">
+<!ENTITY enigmail.expertUser.tooltip "فعّله إن أردت أن ترى عناصر قائمة وخيارات المستخدمين المتقدمين.">
+
+<!ENTITY enigmail.defaultEncryptionOption.label "اضبط خيارات التعمية البدئية">
+<!ENTITY enigmail.usePGPMimeOption.label "اختر خيار PGP/MIME">
+<!ENTITY enigmail.mimeHashAlgorithm.label "خوارزمية التلبيد">
+
+<!ENTITY enigmail.prefs.pathsTitle.label "الملفات والأدلة">
+<!ENTITY enigmail.prefs.overrideGpg.label "افرض">
+<!ENTITY enigmail.prefs.overrideGpg.tooltip "انقر لتحدد مكان GnuPG">
+
+
+<!ENTITY enigmail.agentPath.label "مسار ملف GnuPG التنفيذي">
+<!ENTITY enigmail.agentAdditionalParam.label "معاملات إضافية تمرر إلى GnuPG">
+<!ENTITY enigmail.agentAdditionalParam.tooltip "حدد الخيارات التي سيستخدمها GnuPG.">
+
+<!ENTITY enigmail.mime_parts_on_demand.label "نزِّل المرفقات فقط عند فتحها (IMAP فقط)">
+<!ENTITY enigmail.allowEmptySubject.label "لا تحذّرني عندما يكون حقل الموضوع خاويا">
+<!ENTITY enigmail.allowEmptySubject.tooltip "أشره لتعطيل التنويه عند الإرسال دون ترويسة الموضوع (غير محبذ).">
+
+
+<!ENTITY enigmail.maxIdleMinutesHead.label "تذكر كلمة السر لمدة">
+<!ENTITY enigmail.maxIdleMinutesTail.label "دقائق من السكون">
+<!ENTITY enigmail.maxIdleMinutes.tooltip "يحفظ كلمات السر في الذاكرة لوقت محدود.">
+
+<!ENTITY enigmail.resetPrefsButton.label "صفّر">
+<!ENTITY enigmail.resetPrefs.tooltip "اضبط كل تفضيلات OpenPGP إلى القيم البدئية.">
+<!ENTITY enigmail.prefsHelpButton.label "مساعدة">
+
+<!ENTITY enigmail.upgradeButton.label "حدِّث Enigmail">
+<!ENTITY enigmail.uninstallButton.label "أزِل Enigmail">
+
+<!ENTITY enigmail.basic.label "أساسية">
+<!ENTITY enigmail.sending.label "الإرسال">
+<!ENTITY enigmail.keySel.label "اختيار المفاتيح">
+<!ENTITY enigmail.pgpMime.label "PGP/MIME">
+<!ENTITY enigmail.advancedPrefsButton.label "متقدمة">
+<!ENTITY enigmail.debug.label "التنقيح">
+
+<!ENTITY enigmail.basicPrefs.label "التضبيطات الأساسية">
+
+<!ENTITY enigmail.whenSending.label "عند إرسال البريد">
+<!ENTITY enigmail.moreOptions.label "خيارات أخرى">
+
+<!ENTITY enigmail.encryptToSelf.label "أضف مفتاحي لقائمة المستلمين">
+<!ENTITY enigmail.encryptToSelf.tooltip "بتفعيله سيكون بوسعك دائما تظهير الرسائل التي أرسلتها.">
+<!ENTITY enigmail.alwaysTrustSend.label "ثِق دائما في مفاتيح الآخرين">
+<!ENTITY enigmail.alwaysTrustSend.tooltip "لا تستخدم شبكة الثقة لتحديد صلاحية المفاتيح">
+<!ENTITY enigmail.useNonDefaultComment.label "أضف تعليق Enigmail في توقيع OpenPGP">
+
+<!ENTITY enigmail.keyserver.label "خادوم المفاتيح">
+<!ENTITY enigmail.keyserverDlg.label "اختر خادوم مفاتيح">
+<!ENTITY enigmail.keyservers.label "حدد خادوما للبحث عن المفاتيح وتحديثها">
+<!ENTITY enigmail.keyservers.sample "مثال: sks.dnsalias.net، pgp.mit.edu، ldap://certserver.pgp.com">
+
+<!ENTITY enigmail.searchForKey.label "ابحث عن مفتاح">
+
+
+<!ENTITY enigmail.disableSMIMEui.label "اخفِ أزرار/قوائم SMIME">
+<!ENTITY enigmail.doubleDashSeparator.label "'--' فاصل التوقيع">
+<!ENTITY enigmail.useGpgAgent.label "استخدم gpg-agent لعبارات السر">
+<!ENTITY enigmail.noHushMailSupport.label "ضع '<' و '>' حول عنوان البريد">
+
+<!ENTITY enigmail.keepSettingsForReply.tooltip "عمِّ الردود على البريد المعمّى عند الإمكان">
+<!ENTITY enigmail.doubleDashSeparator.tooltip "وضع شرطتين وحدهما في سطر يعني كتلة توقيع">
+<!ENTITY enigmail.useGpgAgent.tooltip "استخدم gpg-agent جزء من (GnuPG 2) لكل إدخال عبارات السر">
+<!ENTITY enigmail.noHushMailSupport.tooltip "يضع '<' و '>' لتحديد عناوين البريد لأجل GnuPG. عطِّله إذا كان للمستلمين مفاتيح Hushmail قديمة.">
+<!ENTITY enigmail.mime_parts_on_demand.tooltip "عطل هذا إذا كنت تستلم رسائل PGP/MIME في مجلدات IMAP.">
+<!ENTITY enigmail.disableSMIMEui.tooltip "أزل زر S/MIME من شريط أدوات محرر الرسائل">
+
+<!ENTITY enigmail.logdirectory.label "دليل السجل">
+<!ENTITY enigmail.testemail.label "بريد اختبار">
+<!ENTITY enigmail.test.label "اختبر">
+
+<!ENTITY enigmail.decryptbutton.label "ظهِّر">
+<!ENTITY enigmail.decryptbutton.tip "ظهِّر أو تحقق من الرسالة باستخدام OpenPGP (Enigmail)">
+
+<!ENTITY enigmail.messengermenu.accesskey "n">
+
+<!ENTITY enigmail.decryptverify.label "ظهِّر/تحقق">
+<!ENTITY enigmail.importpublickey.label "استورد مفتاحا علنيا">
+<!ENTITY enigmail.savedecrypted.label "احفظ الرسالة المُظهَّرة">
+
+<!ENTITY enigmail.autoDecrypt.label "ظهِّر/تحقق من الرسائل تلقائيا">
+<!ENTITY enigmail.clearPassphrase.label "احذف كلمة السر المحفوظة">
+<!ENTITY enigmail.editRules.label "حرر قواعد المستلمين">
+
+<!ENTITY enigmail.prefs.label "التفضيلات">
+<!ENTITY enigmail.advprefs.label "التفضيلات المتقدمة">
+
+<!ENTITY enigmail.debugMenu.label "تنقيح OpenPGP">
+<!ENTITY enigmail.viewconsole.label "اعرض المرقاب">
+<!ENTITY enigmail.viewdebuglog.label "اعرض ملف السجل">
+
+<!ENTITY enigmail.generatekey.label "ولِّد مفتاحا">
+<!ENTITY enigmail.upgrade.label "حدِّث">
+<!ENTITY enigmail.help.label "مساعدة">
+<!ENTITY enigmail.about.title "عن OpenPGP">
+<!ENTITY enigmail.about.label "عن OpenPGP">
+<!ENTITY enigmail.reload.label "أعد تحميل الرسالة">
+<!ENTITY enigmail.browse.label "تصفّح...">
+<!ENTITY enigmail.sendersKeyMenu.label "مفتاح المُرسِل">
+<!ENTITY enigmail.adminSmartCard.label "أدِر البطاقات الذكية (SmartCard)...">
+
+
+<!ENTITY enigmail.decryptverify.accesskey "س">
+<!ENTITY enigmail.importpublickey.accesskey "و">
+<!ENTITY enigmail.savedecrypted.accesskey "ح">
+<!ENTITY enigmail.reload.accesskey "ح">
+<!ENTITY enigmail.adminSmartCard.accesskey "د">
+
+<!ENTITY enigmail.autoDecrypt.accesskey "ق">
+<!ENTITY enigmail.debugMenu.accesskey "G">
+
+<!ENTITY enigmail.clearPassphrase.accesskey "م">
+<!ENTITY enigmail.editRules.accesskey "ع">
+
+<!ENTITY enigmail.prefs.accesskey "ف">
+<!ENTITY enigmail.viewconsole.accesskey "ك">
+<!ENTITY enigmail.viewdebuglog.accesskey "ج">
+
+<!ENTITY enigmail.generatekey.accesskey "و">
+<!ENTITY enigmail.upgrade.accesskey "ح">
+<!ENTITY enigmail.help.accesskey "م">
+<!ENTITY enigmail.about.accesskey "ع">
+<!ENTITY enigmail.sendersKeyMenu.accesskey "م">
+
+<!ENTITY enigmail.securitybutton.label "OpenPGP">
+<!ENTITY enigmail.securitybutton.tip "إعدادات خصوصية OpenPGP (Enigmail)">
+
+<!ENTITY enigmail.signedsend.label "وقّع الرسالة">
+<!ENTITY enigmail.encryptedsend.label "عمِّ الرسالة">
+<!ENTITY enigmail.disableRules.label "تجاهل قواعد المستلمين">
+
+<!ENTITY enigmail.composeOptionsMenu.label "خيارات التحرير البدئية">
+
+<!ENTITY enigmail.pgpAccountSettings.label "خيارات التوقيع/التعمية...">
+<!ENTITY enigmail.mimeOptionsMenu.label "خيارات PGP/MIME...">
+<!ENTITY enigmail.sendOptionsMenu.label "خيارات الإرسال...">
+<!ENTITY enigmail.defaultKeySelOpts.label "خيارات اختيار المفتاح...">
+<!ENTITY enigmail.sendPGPMime.label "استخدم PGP/MIME لهذه الرسالة">
+
+<!ENTITY enigmail.undoencryption.label "تراجع عن التعمية">
+<!ENTITY enigmail.insertkey.label "أدرج مفتاحا علنيا">
+<!ENTITY enigmail.attachkey.label "أرفِق مفتاحا علنيا...">
+<!ENTITY enigmail.attachmykey.label "أرفِق مفتاحي العلني">
+
+<!ENTITY enigmail.composemenu.accesskey "n">
+
+<!ENTITY enigmail.signedsend.accesskey "ق">
+<!ENTITY enigmail.signedsend.key "S">
+<!ENTITY enigmail.encryptedsend.accesskey "ع">
+<!ENTITY enigmail.encryptedsend.key "P">
+<!ENTITY enigmail.disableRules.accesskey "ت">
+
+<!ENTITY enigmail.composeOptionsMenu.accesskey "ت">
+<!ENTITY enigmail.sendOptionsMenu.accesskey "س">
+<!ENTITY enigmail.defaultKeySelOpts.accesskey "ف">
+<!ENTITY enigmail.pgpAccountSettings.accesskey "ق">
+<!ENTITY enigmail.mimeOptionsMenu.accesskey "P">
+<!ENTITY enigmail.sendPGPMime.accesskey "P">
+
+<!ENTITY enigmail.undoencryption.accesskey "ع">
+<!ENTITY enigmail.insertkey.accesskey "ف">
+<!ENTITY enigmail.attachkey.accesskey "ر">
+<!ENTITY enigmail.attachmykey.accesskey "ي">
+
+<!ENTITY enigmail.defaultEncryption.label "عمِّ الرسائل بدئيا">
+<!ENTITY enigmail.defaultEncryptionSign.label "وقع بدئيا الرسائل المعماة">
+<!ENTITY enigmail.defaultSignPlainMsg.label "وقع بدئيا الرسائل غير المعماة">
+
+<!ENTITY enigmail.defaultEncryptionNone.label "لا تعمّ بدئيا">
+<!ENTITY enigmail.defaultNotSignedsend.label "لا توقع الرسائل بدئيا">
+
+<!ENTITY enigmail.recipientsSelectionOption.label "كيف تُختار المفاتيح؟">
+<!ENTITY enigmail.perRecipientRules.label "بالقواعد المحددة مسبقا فقط">
+<!ENTITY enigmail.perRecipientRules.tooltip "اختر المفاتيح طبقا للقواعد؛ واعرض انشاء قواعد للمستلمين الذين لا قواعد لهم.">
+<!ENTITY enigmail.perRecipientRulesAndEmail.label "بالقواعد وعناوين البريد">
+<!ENTITY enigmail.perRecipientRulesAndEmail.tooltip "اختر المفاتيح يدويا إن لم يستطع OpenPGP أن يحدد بعد تطبيق القواعد وفحص عناوين البريد.">
+<!ENTITY enigmail.perEmailAddress.label "بعناوين البريد">
+<!ENTITY enigmail.perEmailAddress.tooltip "اختر المفاتيح يدويا إن لم يستطع OpenPGP أن يحدد بعد فحص عناوين البريد (لن تُطبق أي قواعد).">
+<!ENTITY enigmail.askRecipientsAlways.label "يدويّا">
+<!ENTITY enigmail.askRecipientsAlways.tooltip "لن يحاول OpenPGP أبدا تحديد لأي المفاتيح يعمي. القرار راجع لك دائما.">
+<!ENTITY enigmail.neverAsk.label "لا اختيار يدوي للمفاتيح">
+<!ENTITY enigmail.neverAsk.tooltip "إذا لم يُعثر على مفاتيح مناسبة لكل المُستلمين، أرسل تلقائيا الرسائل بغير تعمية (خطر).">
+<!ENTITY enigmail.defineRules.label "حرر القواعد...">
+<!ENTITY enigmail.defineRules.tooltip "انقر لتستعرض أو تضيف أو تحذف أو تحرر قواعد اختيار المفاتيح.">
+
+<!ENTITY enigmail.usePGPMimeAlways.label "استخدم PGP/MIME دائما">
+<!ENTITY enigmail.usePGPMimePossible.label "اسمح باستخدام PGP/MIME">
+<!ENTITY enigmail.usePGPMimeNever.label "لا تستخدم PGP/MIME أبدا">
+
+<!ENTITY enigmail.keepSettingsForReply.label "عمِّ الردود على الرسائل المعماة">
+<!ENTITY enigmail.confirmBeforeSend.label "أكِّد دائما قبل الإرسال">
+<!ENTITY enigmail.confirmBeforeSend.tooltip "اشّره لتستعرض معلومات عن التوقيع/التعمية قبل إرسال أي رسالة">
+<!ENTITY enigmail.wrapHtmlBeforeSend.label "أعد تسطير رسائل HTML الموقعة قبل الإرسال">
+<!ENTITY enigmail.wrapHtmlBeforeSend.tooltip "يعيد ترتيب النص للتأكد أن التوقيع سيظل سليما.">
+<!ENTITY enigmail.autoKeyRetrieve.label "نزِّل تلقائيا المفاتيح المطلوبة للتحقق من التوقيعات">
+<!ENTITY enigmail.autoKeyRetrieve2.label "من خادوم المفاتيح التالي:">
+<!ENTITY enigmail.resetRememberedValues.label "صفّر التحذيرات">
+<!ENTITY enigmail.resetRememberedValues.tooltip "يعيد عرض كل حوارات التحذير والأسئلة التي صُرفت في الماضي">
+
+<!ENTITY enigmail.defaultEncryptionSign.accesskey "ع">
+<!ENTITY enigmail.defaultEncryptionOnly.accesskey "c">
+<!ENTITY enigmail.defaultEncryptionNone.accesskey "ل">
+
+<!ENTITY enigmail.usePGPMimeAlways.accesskey "د">
+<!ENTITY enigmail.usePGPMimePossible.accesskey "س">
+<!ENTITY enigmail.usePGPMimeNever.accesskey "ب">
+
+<!ENTITY enigmail.defaultSignMsg.accesskey "S">
+<!ENTITY enigmail.defaultNotSignedsend.accesskey "ع">
+<!ENTITY enigmail.confirmBeforeSend.accesskey "د">
+
+<!ENTITY enigmail.keygen.desc "<a class='enigmailStrong'> ملاحظة: قد يستغرق توليد المفتاح بضع دقائق ليتم.</a> لا تغلق التطبيق أثناء توليد المفتاح. التصفح بنشاط أو إجراء عمليات تستخدم القرص بكثافة مفيد لملئ 'وعاء العشوائية' وسيُسرِّع التوليد. ستبلّغ عندما يتم التوليد.">
+
+<!ENTITY enigmail.console.label "اعرض مرقاب OpenPGP">
+<!ENTITY enigmail.console.tooltip "يعرض مرقاب OpenPGP">
+
+<!ENTITY enigmail.uninstall.label "أزِل Enigmail">
+<!ENTITY enigmail.uninstall.tooltip "يزيل Enigmail">
+
+<!ENTITY enigmail.selectpanel.label "اختر لسان OpenPGP">
+<!ENTITY enigmail.selectpanel.tooltip "يختار لسان OpenPGP">
+
+<!ENTITY enigmail.userSelectionList.label "اختيار مفتاح OpenPGP">
+<!ENTITY enigmail.usersNotFound.label "المستلمون غير صحيحون أو غير موثوق بهم أو لم يُعثر عليهم">
+<!ENTITY enigmail.keyExpiry.label "الانتهاء">
+<!ENTITY enigmail.keyTrust.label "الثقة">
+<!ENTITY enigmail.keySelection.label "الاختيار">
+<!ENTITY enigmail.keyId.label "معرِّف (ID) المفتاح">
+<!ENTITY enigmail.userSelPlainText.label "أرسل البريد غير معمّى">
+<!ENTITY enigmail.userSelPlainTextNotSigned.label "أرسل البريد غير معمّى وغير موقّع">
+<!ENTITY enigmail.userSelPlainText.accesskey "س">
+<!ENTITY enigmail.displayNoLonger.label "لا تعرض هذا التنويه ثانية في حال كون التعمية غير ممكنة">
+<!ENTITY enigmail.importMissingKeys.label "نزِّل المفاتيح المطلوبة">
+<!ENTITY enigmail.importMissingKeys.accesskey "D">
+<!ENTITY enigmail.importMissingKeys.tooltip "يحاول استيراد المفاتيح المطلوبة من خادوم المفاتيح">
+<!ENTITY enigmail.importMissingKeys.accesskey "م">
+<!ENTITY enigmail.refreshKeys.label "أنعش قائمة المفاتيح">
+<!ENTITY enigmail.refreshKeys.accesskey "ع">
+<!ENTITY enigmail.perRecipientsOption.label "ولّد قواعد المُستلمين">
+
+<!ENTITY enigmail.experimental.label "استخدم التوقيع/التعمية في المتن الاختبارية في PGP/MIME">
+
+<!ENTITY enigmail.enigmailAttachDesc.label "مع هذه الرسالة مرفقات. كيف تريد تعميتها/توقيعها؟">
+<!ENTITY enigmail.enigEncryptAttachNone.label "وقِّع/عمِّ نص الرسالة فقط، وليس المرفقات">
+<!ENTITY enigmail.enigEncryptAttachInline.label "عمِّ كل مرفقة على حدى وأرسل الرسالة مستخدما PGP في المتن">
+<!ENTITY enigmail.enigEncryptAttachPgpMime.label "عمِّ/وقِّع الرسالة بمرفقاتها أرسلها مستخدما PGP/MIME">
+<!ENTITY enigmail.encryptAttachSkipDlg.label "استخدم هذه الطريقة لكل المرفقات لاحقا">
+
+<!ENTITY enigmail.ctxDecryptOpen.label "ظهِّر وافتح">
+<!ENTITY enigmail.ctxDecryptSave.label "ظهِّر واحفظ باسم...">
+<!ENTITY enigmail.ctxImportKey.label "استورد مفتاح OpenPGP">
+<!ENTITY enigmail.ctxDecryptOpen.accesskey "ح">
+<!ENTITY enigmail.ctxDecryptSave.accesskey "س">
+<!ENTITY enigmail.ctxImportKey.accesskey "و">
+
+<!ENTITY enigmail.amPrefTitle.label "خيارات OpenPGP (Enigmail)">
+<!ENTITY enigmail.amPrefDesc.label "يدعم Enigmail تعمية وتوقيع الرسائل باستخدام OpenPGP. ينبغي تثبيت GnuPG (gpg) لتستخدم هذه الخاصية.">
+<!ENTITY enigmail.amPrefEnablePgp.label "فعِّل دعم OpenPGP (Enigmail) لهذه الهوية">
+<!ENTITY enigmail.amPrefUseFromAddr.label "استخدم عنوان بريد هذه الهوية لتَعرُّف مفتاح OpenPGP">
+<!ENTITY enigmail.amPrefUseKeyId.label "استخدم معرِّف مفتاح OpenPGP محدد (0x1234ABCD):">
+<!ENTITY enigmail.amPrefSelectKey.label "اختر مفتاحا...">
+<!ENTITY enigmail.amPrefDefaultEncrypt.label "الخيارات البدئية لتحرير الرسائل">
+<!ENTITY enigmail.encryptionDlg.label "إعدادات تعمية وتوقيع OpenPGP">
+<!ENTITY enigmail.encDlgEncrypt.label "عمِّ الرسالة">
+<!ENTITY enigmail.encDlgEncrypt.accesskey "ع">
+<!ENTITY enigmail.encDlgSign.label "وقّع الرسالة">
+<!ENTITY enigmail.encDlgSign.accesskey "ق">
+<!ENTITY enigmail.encDlgPgpMime.label "استخدم PGP/MIME">
+<!ENTITY enigmail.encDlgPgpMime.accesskey "خ">
+<!ENTITY enigmail.amPrefPgpHeader.label "أرسل ترويسة 'OpenPGP'">
+<!ENTITY enigmail.amPrefPgpHeader.none.label "لا ترسل أي ترويسة 'OpenPGP'">
+<!ENTITY enigmail.amPrefPgpHeader.id.label "أرسِل معرِّف مفتاح OpenPGP">
+<!ENTITY enigmail.amPrefPgpHeader.url.label "أرسل مسار جلب المفتاح:">
+
+<!ENTITY enigmail.retrieveKey.label "يجري جلب المفاتيح">
+<!ENTITY enigmail.progressText.label "التّقدّم:">
+<!ENTITY enigmail.retrieveKey.retrieveMsg.label "يجري جلب المفتاح، انتظر...">
+
+<!ENTITY enigmail.editPgpSecurity.label "خصوصية OpenPGP...">
+<!ENTITY enigmail.editPgpSecurity.accesskey "O">
+
+<!ENTITY enigmail.openPgpSecurity.label "خصوصية OpenPGP">
+
+<!ENTITY enigmail.pgpSecurityInfo.label "معلومات خصوصية OpenPGP...">
+<!ENTITY enigmail.copySecurityInfo.label "انسخ معلومات خصوصية OpenPGP">
+<!ENTITY enigmail.showPhoto.label "اعرض هوية OpenPGP الصُوَرة">
+<!ENTITY enigmail.signSenderKey.label "وقِّع المفتاح...">
+<!ENTITY enigmail.trustSenderKey.label "حدد الثقة في المالك...">
+<!ENTITY enigmail.signSenderKeyPopup.label "وقِّع مفتاح المُرسِل...">
+<!ENTITY enigmail.trustSenderKeyPopup.label "حدد الثقة في مالك مفتاح المُرسِل...">
+<!ENTITY enigmail.smimeSecurityInfo.label "معلومات خصوصية S/MIME...">
+<!ENTITY enigmail.createRuleFromAddr.label "ولّد قاعدة OpenPGP من العناوين...">
+<!ENTITY enigmail.keyManWindow.label "إدارة المفاتيح">
+<!ENTITY enigmail.keyManWindow.accesskey "ف">
+
+<!ENTITY enigmail.singleRcptSettings.label "OpenPGP - إعدادات المُستلم">
+<!ENTITY enigmail.keysToUse.label "المفاتيح التي ستُستخدم:">
+<!ENTITY enigmail.selKeysButton.label "اختر المفاتيح...">
+<!ENTITY enigmail.action.label "الإجراء">
+<!ENTITY enigmail.nextRule.label "تابع تطبيق القاعدة التالية على العنوان المُطابق">
+<!ENTITY enigmail.nextAddress.label "لا تطبق المزيد من القواعد على العنوان المُطابق">
+<!ENTITY enigmail.useKeys.label "استخدم OpenPGP مفاتيح التالية:">
+<!ENTITY enigmail.selKeysButton.accesskey "خ">
+<!ENTITY enigmail.setDefaultsFor.label "بدئيا عند...">
+<!ENTITY enigmail.encryption.label "التعمية">
+<!ENTITY enigmail.signing.label "التّوقيع">
+<!ENTITY enigmail.never.label "أبدًا">
+<!ENTITY enigmail.always.label "دائمًا">
+<!ENTITY enigmail.maybe.label "نعم، إن اختير في تحرير الرسائل">
+<!ENTITY enigmail.singleRcptSettings.desc "(لاحظ: عند التضارب، 'أبدًا' تسود على 'دائمًا')">
+<!ENTITY enigmail.ruleEmail.label "اضبط قواعد OpenPGP لأجل">
+<!ENTITY enigmail.ruleEmail.tooltip "املأ فقط عناوين البريد، لا تضع أسماء المستلمين\nمثلا: 'اسم ما <some.name@address.net>' غير مقبول">
+<!ENTITY enigmail.sepratationDesc.label "(افصل ما بين عناوين البريد بمسافات)">
+<!ENTITY enigmail.matchDescStart.label "طبق القاعدة إن كان المستلم">
+<!ENTITY enigmail.matchDescEnd.label "أحد العناوين أعلاه">
+<!ENTITY enigmail.matchExact.label "بالضبط">
+<!ENTITY enigmail.matchContains.label "يحوي">
+<!ENTITY enigmail.matchBegin.label "في أوله">
+<!ENTITY enigmail.matchEnd.label "نهايته هي">
+<!ENTITY enigmail.not.label "ليس">
+
+<!ENTITY enigmail.rulesEditor.label "OpenPGP - محرر قواعد المُستلمين">
+<!ENTITY enigmail.email.label "البريد">
+<!ENTITY enigmail.pgpKeys.label "مفاتيح OpenPGP">
+<!ENTITY enigmail.sign.label "وقّع">
+<!ENTITY enigmail.encrypt.label "عمِّ">
+<!ENTITY enigmail.edit.label "عدِّل">
+<!ENTITY enigmail.edit.accesskey "ع">
+<!ENTITY enigmail.add.label "أضف">
+<!ENTITY enigmail.add.accesskey "ض">
+<!ENTITY enigmail.delete.label "احذِف">
+<!ENTITY enigmail.delete.accesskey "ذ">
+<!ENTITY enigmail.moveUp.label "انقل لأعلى">
+<!ENTITY enigmail.moveUp.accesskey "ع">
+<!ENTITY enigmail.moveDown.label "انقل لأسفل">
+<!ENTITY enigmail.moveDown.accesskey "س">
+<!ENTITY enigmail.searchRule.label "اعرض القواعد ذات عناوين البريد التي تحتوي:">
+<!ENTITY enigmail.clearSearch.label "احذف">
+<!ENTITY enigmail.clearSearch.accesskey "م">
+
+<!ENTITY enigmail.searchKeyDlg.label "نزِّل مفاتيح OpenPGP">
+<!ENTITY enigmail.searchKeyDlgCapt.label "وجدت مفاتيح - اختر لتستورِد">
+<!ENTITY enigmail.created.label "تاريخ الإنشاء">
+<!ENTITY enigmail.valid.label "صالح">
+
+<!ENTITY enigmail.progress.label "التقدُّم">
+
+<!ENTITY enigmail.sKeyDlg.title "OpenPGP - وقَّع المفتاح">
+<!ENTITY enigmail.sKeyDlg.signKey.label "المفتاح الذي سيُوقّع:">
+<!ENTITY enigmail.sKeyDlg.fingerprint.label "البصمة:">
+<!ENTITY enigmail.sKeyDlg.signWithKey.label "مفتاح التوقيع:">
+<!ENTITY enigmail.sKeyDlg.checked.label "إلى أي مدى تحققت من أن المفتاح الذي أنت بصدد توقيعه ينتمي للشخص المذكور أعلاه؟">
+<!ENTITY enigmail.sKeyDlg.noAnswer.label "لن أُجيب">
+<!ENTITY enigmail.sKeyDlg.notChecked.label "لم أتحقق على الإطلاق">
+<!ENTITY enigmail.sKeyDlg.casualCheck.label "قُمت بتحقق عادي">
+<!ENTITY enigmail.sKeyDlg.carefulCheck.label "تحققت بعناية شديدة">
+<!ENTITY enigmail.sKeyDlg.createLocal.label "توقيع محلي (لا يمكن تصديره)">
+<!ENTITY enigmail.sKeyDlg.alreadySigned.label "لاحظ: بعض المفاتيح موقع مسبقا بالمفتاح المختار للتوقيع!">
+
+<!ENTITY enigmail.addUidDlg.title "OpenPGP - أضِف هوية المستخدم">
+<!ENTITY enigmail.addUidDlg.name.label "الاسم">
+<!ENTITY enigmail.addUidDlg.email.label "البريد">
+<!ENTITY enigmail.addUidDlg.comment.label "التعليق (اختياري)">
+
+<!ENTITY enigmail.keyTrust.title "OpenPGP - حدد الثِّقة في المالك">
+<!ENTITY enigmail.keyTrust.trustKey.label "المفتاح الذي ستثِق به:">
+<!ENTITY enigmail.keyTrust.trustLevel.label "كم تثِق بهذا المفتاح؟">
+<!ENTITY enigmail.keyTrust.dontKnow.label "لا أعرف">
+<!ENTITY enigmail.keyTrust.noTrust.label "لا أثق به">
+<!ENTITY enigmail.keyTrust.marginalTrust.label "ثقة هامشية">
+<!ENTITY enigmail.keyTrust.fullTrust.label "ثقة تامة">
+<!ENTITY enigmail.keyTrust.ultimateTrust.label "ثقة مطلقة">
+
+<!ENTITY enigmail.keyMan.title "إدارة مفاتيح OpenPGP">
+<!ENTITY enigmail.keyMan.close.label "أغلق النافذة">
+<!ENTITY enigmail.keyMan.generate.label "زوج مفاتيح جديد">
+<!ENTITY enigmail.keyMan.sign.label "وقِّع المفتاح">
+<!ENTITY enigmail.keyMan.setTrust.label "حدد الثقة في المالك">
+<!ENTITY enigmail.keyMan.genRevoke.label "شهادة نقض">
+<!ENTITY enigmail.keyMan.ctxGenRevoke.label "ولِّد واحفظ شهادة نقض">
+
+<!ENTITY enigmail.keyMan.fileMenu.label "ملف">
+<!ENTITY enigmail.keyMan.editMenu.label "حرّر">
+<!ENTITY enigmail.keyMan.viewMenu.label "اعرض">
+<!ENTITY enigmail.keyMan.keyserverMenu.label "خادوم المفاتيح">
+<!ENTITY enigmail.keyMan.generateMenu.label "ولِّد">
+
+<!ENTITY enigmail.keyMan.fileMenu.accesskey "م">
+<!ENTITY enigmail.keyMan.editMenu.accesskey "ح">
+<!ENTITY enigmail.keyMan.viewMenu.accesskey "ع">
+<!ENTITY enigmail.keyMan.keyserverMenu.accesskey "خ">
+<!ENTITY enigmail.keyMan.generateMenu.accesskey "و">
+
+<!ENTITY enigmail.keyMan.importFromFile.label "استورد مفاتيح من ملف">
+<!ENTITY enigmail.keyMan.importFromServer.label "ابحث عن مفاتيح">
+<!ENTITY enigmail.keyMan.importFromClipbrd.label "استورد مفاتيح من الحافظة">
+<!ENTITY enigmail.keyMan.exportToFile.label "صدِّر المفاتيح إلى ملف">
+<!ENTITY enigmail.keyMan.sendKeys.label "أرسل المفاتيح العلنية بالبريد">
+<!ENTITY enigmail.keyMan.uploadToServer.label "ارفع المفاتيح العلنية">
+<!ENTITY enigmail.keyMan.copyToClipbrd.label "انسخ المفاتيح العلنية إلى الحافظة">
+<!ENTITY enigmail.keyMan.ctxExportToFile.label "صدِّر المفاتيح إلى ملف">
+<!ENTITY enigmail.keyMan.ctxUploadToServer.label "ارفع المفاتيح العلنية إلى خادوم المفاتيح">
+<!ENTITY enigmail.keyMan.ctxCopyToClipbrd.label "انسخ المفاتيح العلنية إلى الحافظة">
+<!ENTITY enigmail.keyMan.refreshKey.label "أنعش المفاتيح العلنية">
+<!ENTITY enigmail.keyMan.refreshSelKeys.label "أنعش المفاتيح العلنية المختارة">
+<!ENTITY enigmail.keyMan.refreshAllKeys.label "أنعش كل المفاتيح العلنية">
+<!ENTITY enigmail.keyMan.ctxRefreshKey.label "حدث المفاتيح العلنية من خادوم المفاتيح">
+
+<!ENTITY enigmail.keyMan.reload.label "أعِد تحميل ذاكرة المفاتيح">
+<!ENTITY enigmail.keyMan.addUid.label "أضِف هوية مستخدم">
+<!ENTITY enigmail.keyMan.manageUid.label "أدِر هويات المستخدمين">
+<!ENTITY enigmail.keyMan.changePwd.label "غير كلمة السر">
+<!ENTITY enigmail.keyMan.delKey.label "احذف المفتاح">
+<!ENTITY enigmail.keyMan.revokeKey.label "انقض المفتاح">
+<!ENTITY enigmail.keyMan.keyProps.label "خصائص المفتاح">
+<!ENTITY enigmail.keyMan.viewPhoto.label "الهوية الصُّورة">
+<!ENTITY enigmail.keyMan.ctxViewPhoto.label "استعرض الهوية الصُّورة">
+<!ENTITY enigmail.keyMan.viewSig.label "التوقيعات">
+<!ENTITY enigmail.keyMan.ctxViewSig.label "استعرض التوقيعات">
+<!ENTITY enigmail.keyMan.keyType.label "النوع">
+<!ENTITY enigmail.keyMan.calcTrust.label "صلاحية المفتاح">
+<!ENTITY enigmail.keyMan.ownerTrust.label "الثقة في المالك">
+<!ENTITY enigmail.keyMan.stopTransfer.label "أوقف النقل">
+<!ENTITY enigmail.keyMan.fingerprint.label "البصمة">
+<!ENTITY enigmail.keyMan.selectAll.label "اختر كل المفاتيح">
+
+<!ENTITY enigmail.keyMan.filter.label "رشّح حسب هويات الملاك أو المفاتيح التي تحوي:">
+<!ENTITY enigmail.keyMan.clearFilter.label "أخلِ">
+<!ENTITY enigmail.keyMan.clearFilter.accesskey "ل">
+
+<!ENTITY enigmail.keyMan.window.accesskey "W">
+<!ENTITY enigmail.keyMan.close.accesskey "غ">
+<!ENTITY enigmail.keyMan.generate.accesskey "ز">
+<!ENTITY enigmail.keyMan.sign.accesskey "ق">
+<!ENTITY enigmail.keyMan.setTrust.accesskey "ث">
+<!ENTITY enigmail.keyMan.genRevoke.accesskey "ح">
+<!ENTITY enigmail.keyMan.delKey.accesskey "ح">
+<!ENTITY enigmail.keyMan.revokeKey.accesskey "س">
+<!ENTITY enigmail.keyMan.importFromFile.accesskey "س">
+<!ENTITY enigmail.keyMan.exportToFile.accesskey "ص">
+<!ENTITY enigmail.keyMan.importFromServer.accesskey "ب">
+<!ENTITY enigmail.keyMan.uploadToServer.accesskey "ف">
+<!ENTITY enigmail.keyMan.reload.accesskey "ع">
+<!ENTITY enigmail.keyMan.addUid.accesskey "ض">
+<!ENTITY enigmail.keyMan.manageUid.accesskey "د">
+<!ENTITY enigmail.keyMan.changePwd.accesskey "ة">
+<!ENTITY enigmail.keyMan.viewSig.accesskey "ت">
+<!ENTITY enigmail.keyMan.showPhoto.accesskey "P">
+<!ENTITY enigmail.keyMan.importMenu.accesskey "I">
+<!ENTITY enigmail.keyMan.exportMenu.accesskey "X">
+<!ENTITY enigmail.keyMan.importFromClipbrd.accesskey "س">
+<!ENTITY enigmail.keyMan.copyToClipbrd.accesskey "ن">
+<!ENTITY enigmail.keyMan.keyDetails.accesskey "K">
+<!ENTITY enigmail.keyMan.enableKey.accesskey "B">
+<!ENTITY enigmail.keyMan.refreshKey.accesskey "ش">
+<!ENTITY enigmail.keyMan.refreshSelKeys.accesskey "م">
+<!ENTITY enigmail.keyMan.refreshAllKeys.accesskey "ك">
+<!ENTITY enigmail.keyMan.selectAll.accesskey "ك">
+<!ENTITY enigmail.keyMan.sendKeys.accesskey "ل">
+
+<!ENTITY enigmail.keyMan.closeWin.key "W">
+<!ENTITY enigmail.keyMan.selectAll.key "A">
+
+<!ENTITY enigmail.viewKeySigDlg.title "قائمة التوقيعات">
+<!ENTITY enigmail.viewKeySigDlg.sigForKey.label "التوقيعات على المفتاح:">
+<!ENTITY enigmail.viewKeySigDlg.sigType.label "نوع التوقيع">
+
+<!ENTITY enigmail.manageUidDlg.title "غير هوية المستخدم الأساسية">
+<!ENTITY enigmail.manageUidDlg.affectedKey.label "المفتاح الذي سيتغير:">
+<!ENTITY enigmail.manageUidDlg.availableUid.label "هويات المستخدم المعروفة:">
+<!ENTITY enigmail.manageUidDlg.addUid.label "أضِفْ">
+<!ENTITY enigmail.manageUidDlg.deleteUid.label "احذف">
+<!ENTITY enigmail.manageUidDlg.revokeUid.label "انقض">
+<!ENTITY enigmail.manageUidDlg.setPrimary.label "حدده كأساسي">
+
+<!ENTITY enigmail.keyDetails.title "خصائص المفتاح">
+<!ENTITY enigmail.keyDetails.userId.label "هوية المستخدم الأساسية">
+<!ENTITY enigmail.keyDetails.keyId.label "هويّة (ID) المفتاح">
+<!ENTITY enigmail.keyDetails.ID.label "الهوية">
+<!ENTITY enigmail.keyDetails.keyType.label "النوع">
+<!ENTITY enigmail.keyDetails.subType.label "مفتاح فرعي">
+<!ENTITY enigmail.keyDetails.algorithm.label "الخوارزميّة">
+<!ENTITY enigmail.keyDetails.size.label "الطول">
+<!ENTITY enigmail.keyDetails.created.label "تاريخ الإنشاء">
+<!ENTITY enigmail.keyDetails.expiry.label "الانتهاء">
+<!ENTITY enigmail.keyDetails.calcTrust.label "صلاحية المفتاح">
+<!ENTITY enigmail.keyDetails.ownerTrust.label "الثقة في المالك">
+<!ENTITY enigmail.keyDetails.fingerprint.label "البصمة">
+
+<!ENTITY enigmail.cardDetails.title "تفاصيل OpenPGP SmartCard">
+<!ENTITY enigmail.cardDetails.cardMenu.label "SmartCard">
+<!ENTITY enigmail.cardDetails.adminPin.label "غيّر PIN">
+<!ENTITY enigmail.cardDetails.genCardKey.label "ولِّد مفتاحا">
+
+<!ENTITY enigmail.cardDetails.vendor.label "الصانع">
+<!ENTITY enigmail.cardDetails.serial.label "الرّقم التّسلسلي">
+<!ENTITY enigmail.cardDetails.name.label "الاسم الأول، الاسم">
+<!ENTITY enigmail.cardDetails.lang.label "اللغة">
+<!ENTITY enigmail.cardDetails.sex.label "الجنس">
+<!ENTITY enigmail.cardDetails.url.label "مسار المفتاح العلني">
+<!ENTITY enigmail.cardDetails.login.label "بيانات الولوج">
+<!ENTITY enigmail.cardDetails.forcepin.label "أجبر توقيع PIN">
+<!ENTITY enigmail.cardDetails.maxpinlen.label "أقصى طول لأجل PIN">
+<!ENTITY enigmail.cardDetails.pinretry.label "عدّاد تكرار محاولات PIN">
+<!ENTITY enigmail.cardDetails.sigcount.label "عداد التوقيعات">
+<!ENTITY enigmail.cardDetails.sigKey.label "مفتاح التوقيع">
+<!ENTITY enigmail.cardDetails.keyCreated.label "تاريخ الإنشاء">
+<!ENTITY enigmail.cardDetails.encKey.label "مفتاح التعمية">
+<!ENTITY enigmail.cardDetails.authKey.label "مفتاح الاستيثاق">
+<!ENTITY enigmail.cardDetails.yes.label "نعم">
+<!ENTITY enigmail.cardDetails.no.label "لا">
+<!ENTITY enigmail.cardDetails.male.label "ذكر">
+<!ENTITY enigmail.cardDetails.female.label "أنثى">
+<!ENTITY enigmail.cardDetails.editData.label "حرر بيانات البظاقة">
+<!ENTITY enigmail.cardDetails.save.label "احفظ">
+<!ENTITY enigmail.cardDetails.reset.label "صفّر">
+<!ENTITY enigmail.cardDetails.closeWindow.label "أغلق">
+
+<!ENTITY enigmail.cardDetails.adminPin.accesskey "P">
+<!ENTITY enigmail.cardDetails.genCardKey.accesskey "د">
+<!ENTITY enigmail.cardDetails.cardMenu.accesskey "S">
+<!ENTITY enigmail.cardDetails.editData.accesskey "ح">
+
+<!ENTITY enigmail.genCardKey.title "ولِّد مفتاح OpenPGP">
+<!ENTITY enigmail.genCardKey.backupKey.label "احفظ نسخة احتياطية من المفتاح خارج البطاقة">
+<!ENTITY enigmail.genCardKey.desc "<a class='enigmailStrong'> ملاحظة: قد يستغرق توليد المفتاح بضع دقائق ليتم.</a> لا تغلق التطبيق أثناء توليد المفتاح. ستبلّغ عند تمام التوليد.">
+
+<!ENTITY enigmail.cardPin.title "غيّر SmartCard PIN">
+<!ENTITY enigmail.cardPin.action.label "ما الذي تريد فعله">
+<!ENTITY enigmail.cardPin.changePin.label "غيّر PIN">
+<!ENTITY enigmail.cardPin.changeAdmPin.label "غيّر PIN المدير">
+<!ENTITY enigmail.cardPin.unblockPin.label "افتح قفل PIN">
+<!ENTITY enigmail.cardPin.currAdmPin.label "PIN المدير الحالي">
+<!ENTITY enigmail.cardPin.newAdminPin.label "PIN المدير الجديد">
+<!ENTITY enigmail.cardPin.adminPinRepeat.label "كرر PIN الجديد">
+<!ENTITY enigmail.cardPin.currPin.label "PIN الحالي">
+<!ENTITY enigmail.cardPin.newPin.label "PIN الجديد">
+<!ENTITY enigmail.cardPin.pinRepeat.label "كرر PIN الجديد">
+
+<!ENTITY enigmail.changePasswd.title "غيّر عبارة سر OpenPGP">
+<!ENTITY enigmail.changePasswd.currPasswd.label "كلمة السر الحالية">
+<!ENTITY enigmail.changePasswd.newPasswd.label "كلمة السر الجدية">
+<!ENTITY enigmail.changePasswd.repeatPasswd.label "كرر كلمة السر">
+
+<!ENTITY enigmail.setupWiz.title "مُرشِد إعداد OpenPGP">
+<!ENTITY enigmail.setupWiz.yes "نعم">
+<!ENTITY enigmail.setupWiz.no "لا، شكرا">
+<!ENTITY enigmail.setupWiz.pgWelcome.desc "سيُساعدك هذا المرشد على البدء في استخدام OpenPGP. خلال الشاشات القليلة التالية سنسألك بضعة أسئلة لإعداد كل شيء. <html:br/><html:br/> لإبقاء كل شيء بسيطا، قمنا ببعض التخمينات حول الإعدادات. تحاول هذا التخمينات توفير مستوى عال من الأمان للمستخدم المتوسط دون إحداث ارتباك. بالطبع يمكنك تغيير كل الإعدادات بعد انتهاء المرشِد. يمكنك معرفة المزيد عن خصائص OpenPGP من قائمة المساعدة أو من <a class='enigmailLink'><html:a href='http://enigmail.mozdev.org/'>موقع Enigmail</html:a></a>. <html:br/><html:br/> إذا واجهتك أية مشاكل في استخدام هذا المرشِد، من فضلك أخبرنا<a class='enigmailLink'><html:a href='mailto:enigmail@mozdev.org'>عبر البريد</html:a></a>. <html:br/><html:br/> يبدأ هذا المرشِد فقط في أول مرّة تُثبِّت Enigmail. لن يُعرض ثانية ولا يُمكن استدعاؤه من القائمة. <html:br/><html:br/> شكرا لاختيارك Enigmail OpenPGP!">
+<!ENTITY enigmail.setupWiz.pgWelcome.startNow "أترغب في استخدام هذا المرشِد الآن؟">
+<!ENTITY enigmail.setupWiz.pgWelcome.yes "نعم، أرغب أن يبدأ معي المرشِد">
+<!ENTITY enigmail.setupWiz.pgWelcome.no "لا، شكرا. أُفضِّل الإعداد يدويًا">
+<!ENTITY enigmail.setupWiz.pgSelectId.title "اختر هوية">
+<!ENTITY enigmail.setupWiz.pgSelectId.subtitle "اختر الحساب أو الهوية التي ترغب أن يعمل OpenPGP معها">
+<!ENTITY enigmail.setupWiz.pgSelectId.desc "إعدادات OpenPGP خاصة بالحسابات أو الهويات. بدئيا سيقوم OpenPGP بإعداد نفسه ليعمل مع كل حساباتك وهوياتك. إذا لم يكن هذا ما تريده فاختر الهوية أو الحساب المحدد الذي تريد أن يعمل معه OpenPGP مما أدناه.">
+<!ENTITY enigmail.setupWiz.pgSelectId.allIds "أرغب بضبط OpenPGP لكل الهويات">
+<!ENTITY enigmail.setupWiz.pgSelectId.selectIds "أرغب بضبط OpenPGP لهذه الهويات فقط:">
+<!ENTITY enigmail.setupWiz.pgSelectId.note "<a class='enigmailStrong'>لاحظ:</a> سيقوم OpenPGP دائما بالتحقق من التوقيعات على البريد لكل حساب أو هوية، بغض النظر عن تفعيلها من عدمه">
+<!ENTITY enigmail.setupWiz.pgSign.title "التّوقيع">
+<!ENTITY enigmail.setupWiz.pgSign.subtitle "وقّع رقميا رسائلك الصادرة">
+<!ENTITY enigmail.setupWiz.pgSign.desc "يُمكّنك OpenPGP من توقيع مراسلاتك رقميا. هذا هو المقابل الرقمي لتوقيع خطاب باليد، ويُمكِّن المتلقين من الاطمئنان إلى أنك حقا المرسل. من المحبذ أمنيا أن توقع مراسلاتك الصادرة. <html:br/><html:br/> للتحقق من البريد الموقع رقميا يحتاج المتلقي إلى استخدام برمجية بريد داعمة لبروتوكول OpenPGP، فإن لم يكن لديهم هذا فسيظل بوسعهم قراءة الرسالة لكن سيظهر التوقيع كمُرفق أو كنص في متن الرسالة. قد يزعج هذا البعض لأنهم لا يعرفون ما هو، لذا فعليك تحديد إذا ما كنت تريد توقيع كل البريد الصادر أو تفادي إرسال بريد مُوقّع لبعض الأشخاص.">
+<!ENTITY enigmail.setupWiz.pgSign.signAllMsg "أتريد توقيع كل البريد الصدر بدئيا؟">
+<!ENTITY enigmail.setupWiz.pgSign.yesSign "نعم، أرغب في توقيع كل مراسلاتي">
+<!ENTITY enigmail.setupWiz.pgSign.noSign "لا، أريد إنشاء قواعد حسب كل مستلم للبريد الذي يحتاج لتوقيع">
+<!ENTITY enigmail.setupWiz.pgEnc.title "التعمية">
+<!ENTITY enigmail.setupWiz.pgEnc.subtitle "عمِّ بريدك الصادر">
+<!ENTITY enigmail.setupWiz.pgEnc.desc "يُمكنك OpenPGP من تعمية رسائل البريد والمرفقات. يُشبه هذا وضع خطاب في مظروف يحمي خصوصية التراسل. ليس فقط للرسائل "السرية"، بل كذلك لكل شيء لم تكن لترسله على بطاقة بريدية. <html:br/><html:br/> على المستوى التقني تعمل التعمية كقفل لا يملك مفتاحه سوى المستلم. على عكس التوقيع، فلاستخدام التعمية سيكون على كل مستلمي البريد استعمال OpenPGP لقراءة الرسالة. ينبغي للآخرين اعطاءك مفاتيحهم العلنية قبل أن ترسل لهم بريدا معمّى (المفتاح العلني هو القفل الذي ذكرناه للتو). <html:br/><html:br/> ما لم يكن لدى أغلب مراسليك مفاتيح علنية فيفضل ألا تُغعِّل التعمية بدئيا، وأن تعمي حسب الحاجة">
+<!ENTITY enigmail.setupWiz.pgEnc.encryptAllMsg "أيجب تعمية بريدك الصادر بدئيا؟">
+<!ENTITY enigmail.setupWiz.pgEnc.yesEncrypt "نعم، لديّ مفاتيح علنية لمُعظم معارفي">
+<!ENTITY enigmail.setupWiz.pgEnc.noEncrypt "لا، سولّد قواعد حسب كل مستلم لمن أرسلوا لي مفاتيحهم العلنية">
+<!ENTITY enigmail.setupWiz.pgSettings.title "التفضيلات">
+<!ENTITY enigmail.setupWiz.pgSettings.subtitle "عدِّل إعدادات بريدك لتجعل OpenPGP يعمل بوثوقية أكبر">
+<!ENTITY enigmail.setupWiz.pgSettings.desc "سيقوم هذا المرشِد بتغيير إعدادات بريدك للتأكد من عدم حدوث مشاكل عند توقيع وتعمية البريد على حاسوبك. أغلب التغييرات أشياء تقنية لا تلحظها إلا أن أحد أهمها هو أن البريد سيُحرر كنص صرف ابتداء.">
+<!ENTITY enigmail.setupWiz.pgSettings.changePref "أتريد تغيير بعض الإعدادات البدئية لتجعل OpenPGP يعمل أفضل على جهازك؟">
+<!ENTITY enigmail.setupWiz.pgSettings.details "التفاصيل ...">
+<!ENTITY enigmail.setupWiz.pgKeySel.title "اختيار المفتاح">
+<!ENTITY enigmail.setupWiz.pgKeySel.subtitle "ولّد مفتاحا لتوقيع وتعمية البريد">
+<!ENTITY enigmail.setupWiz.pgKeySel.desc "لقد تحسسنا أنك لديك مفتاح OpenPGP بالفعل. يمكنك استخدام أحد المفاتيح الموجودة لتوقيع أو تعمية أو تظهير البريد، أو يمكنك إنشاء زوج مفاتيح جديد.">
+<!ENTITY enigmail.setupWiz.pgKeySel.createKey "أتريد إنشاء زوج مفاتيح جديد؟">
+<!ENTITY enigmail.setupWiz.pgKeySel.newKey "أريد إنشاء زوج مفاتيح جديد لتوقيع وتعمية مراسلاتي">
+<!ENTITY enigmail.setupWiz.pgKeySel.useExistingKey "أريد اختيار أحد المفاتيح أدناه لتوقيع وتعمية بريدي:">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.title "ولّد مفتاحا">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.subtitle "ولّد مفتاحا لتوقيع وتعمية البريد">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.desc1 "تحتاج إلى 'زوج مفاتيح' لتوقيع وتعمية البريد، أو لقراءة البريد المُعمّى. أحد المفتاحين علني والآخر سري.">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.desc2 "ينبغي لك إعطاء مفتاحك العلني لكل شخص من معارفك يحتاج للتحقق من توقيعك أو تعمية البريد لك. بينما تحتاج لإبقاء مفتاحك السري سريًا. يجب ألا تعطيه لأحد أو تتركه غير محمي. لأن حائزه يمكنه قراءة كل البريد المعمى الذي يرسله الآخرون إليك، كما يمكنه توقيع مراسلات باسمك. المفتاح السري محمي بعبارة سر.">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.passRepeat "من فضلك أكد كلمة السر بإعادة إدخالها">
+<!ENTITY enigmail.setupWiz.pgSummary.title "الملخّص">
+<!ENTITY enigmail.setupWiz.pgSummary.subtitle "صرّح للمرشِد بإحداث هذه التغييرات">
+<!ENTITY enigmail.setupWiz.pgSummary.desc "انتهنا تقريبا! إذا نقرت على زر 'التالي' سيقوم المرشِد بهذه الإجراءات:">
+<!ENTITY enigmail.setupWiz.pgKeygen.title "توليد المفتاح">
+<!ENTITY enigmail.setupWiz.pgKeygen.subtitle "يجري توليد زوج مفاتيحك الآن">
+<!ENTITY enigmail.setupWiz.pgComplete.title "شكرا لك">
+<!ENTITY enigmail.setupWiz.pgComplete.desc "OpenPGP جاهز للاستخدام الآن.<html:br/><html:br/>شكرًا لاستخدامك Enigmail.">
+<!ENTITY enigmail.setupWiz.details.title "التفضيلات">
+<!ENTITY enigmail.setupWiz.details.subtitle "عدِّل إعدادات التطبيق">
+<!ENTITY enigmail.setupWiz.details.imapOnDemand "عطِّل التحميل التصاعدي لأجزاء IMAP">
+<!ENTITY enigmail.setupWiz.details.changingPrefs "التفضيلات التالية عدّلها المرشِد:">
+<!ENTITY enigmail.setupWiz.details.noFlowedMsg "عطِّل النص المنساب (RFC 2646)">
+<!ENTITY enigmail.setupWiz.details.viewAsPlain "اعرض متن الرسالة كنص صِرف">
+<!ENTITY enigmail.setupWiz.details.8bitEncoding "استخدم ترميز 8-بتة لإرسال الرسالة">
+<!ENTITY enigmail.setupWiz.details.noComposeHTML "لا تحرر رسائل HTML">
+<!ENTITY enigmail.setupWiz.pgNoStart.title "اصرف المرشِد">
+<!ENTITY enigmail.setupWiz.pgNoStart.desc "لقد اخترت ألا تستخدم المرشد لإعداد OpenPGP. <html:br/><html:br/> شكرا لاستخدامك Enigmail.">
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/enigmail.properties
^
|
@@ -0,0 +1,432 @@
+Enigmail=Enigmail
+
+# Strings used within enigmailCommon.js
+
+enigAlert=تنبيه OpenPGP
+enigConfirm=تأكيد OpenPGP
+enigError=عطل OpenPGP
+enigPrompt=محث OpenPGP
+
+dlgYes=نعم
+dlgNo=لا
+dlgNever=لا تسألني ثانيا
+dlgKeepSetting=تذكر إجابتي ولا تسألني ثانيا
+dlgNoPrompt=لا ترني هذا الحوار ثانيا
+
+configNow=أتريد إعداد Enigmail للإصدارة %S الآن؟
+configEnigmail=إعداد Enigmail؟
+
+repeatPrefix=\n\nسيتكرر هذا التنبيه %S
+repeatSuffixSingular=مرة أخرى.
+repeatSuffixPlural=مرات أخرى.
+noRepeat=\n\nلن يتكرر هذا التنبيه حتى تقوم بتحديث Enigmail.
+
+noLogDir=من فضلك اضبط خيار التنقيح 'دليل السجل' لإنشاء ملف سجل
+noLogFile=لم يُنشأ ملف السجل بعد!
+restartForLog=من فضلك أعد تشغيل البرمجية لإنشاء ملف سجل
+pgpNotSupported=يبدو أنك تستخدم OpenPGP مع PGP 6.x\n\nللأسف، PGP 6.x به بعض الأمر التي تمنع Enigmail من العمل جيدا. لذا لم يعد Enigmail يدعم PGP 6.x، من فضلك انتقل إلى GnuPG (GPG) كبديل.\n\nإذا احتجت للمساعدة حول الانتقال إلى GnuPG، راجع قسم المساعدة في موقع Enigmail.
+avoidInitErr=لتتفادى هذا التنتبيه دائما، أصلح المشكلة أو أزل Enigmail مستخدما قائمة OpenPGP->تفضيلات
+passphraseCleared=لم تُمح كلمة السر
+keyGeneration=توليد مفتاح OpenPGP
+noPhotoAvailable=لا توجد صور
+
+# Strings in enigmailAbout.js
+usingVersion=يُشغل Enigmail إصدارة %S
+versionWarning=تحذير: إصدارة Enigmime غير متطابقة %S
+enigmimeWarning=تحذير: لم يُعثر على وحدة Enigmime
+
+usingAgent=يستخدم %S التنفيذي %S للتعمية والتظهير
+agentError=عطل: فشلت في النفاذ إلى خدمة Enigmime
+
+# Strings in enigmailKeygen.js
+accessError=عطل أثناء النفاذ لخدمة Enigmime
+onlyGPG=يعمل توليد المفاتيح فقط مع GnuPG (وليس PGP)!
+
+keygenComplete=اكتمل توليد المفتاح! ستُستخدم الهوية <%S> للتوقيع.
+revokeCertRecommended=ننصح بشدة أن تنشئ شهادة نقض لمفتاحك. لتستخدم هذه لشهادة لإبطال مفتاحك، مثلا في حال ضياع المفتاح السري أو انكشافه. أتريد إنشاءها الآن؟
+genCompleteNoSign=تم توليد المفتاح!
+genGoing=توليد المفتاح جار بالفعل!
+
+passNoMatch=عبارتا السر لا تتطابقا، أعد الإدخال من فضلك
+passCheckBox=من فضلك أشّر هذا إن كنت لن تضع عبارة سر للمفتاح (غير محبذ)
+passUserName=من فضلك حدد اسم المستخدم لهذه الهوية
+passCharProblem=يبدو أنك تستخدم بعض المحارف الخاصة في كلمة السر. للأسف، قد يسبب هذا بعض المشاكل للتطبيقات الأخرى. من فضلك اختر عبارة سر تتألف من أي من هذه المحارف:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
+changePassFailed=فشل تغيير كلمة السر.
+removePassphrase=أتريد حذف كلمة السر الحالية دون ضبط أخرى؟
+
+keyConfirm=أأولد مفاتحين لأجل '%S'؟
+keyAbort=أأجهض توليد المفتاح؟
+expiryTooLong=لا يمكنك إنشاء مفتاح تنتهي صلاحيته بعد أكثر من 100 عام.
+expiryTooShort=يجب أن يكون المفتاح صالحا ليوم واحد على الأقل.
+keyGenFailed=فشل توليد المفتاح. من فضلك راجع مرقاب OpenPGP (قائمة OpenPGP > تنقيح OpenPGP) لمزيد من التفاصيل.
+keyGenNoPassphrase=بلا كلمة سر
+
+# Strings in enigmailMessengerOverlay.js
+pubKeyNeeded=تحتاج للمفتاح العلني لتتمكن من التحقق من التوقيع.
+keyImport=\n\nأتريد استيراد المفتاح العلني %S من خادوم المفاتيح؟
+keyImportError=تعذر جلب المفتاح العلني\n\n
+securityInfo=معلومات خصوصية OpenPGP\n\n
+
+enigHeader=Enigmail:
+enigNote=ملحوظة من OpenPGP: مرفقات هذه الرسالة لم تُوقّع أو تُعمّى.
+enigContentNote=OpenPGP: *مرفقات هذه الرسالة لم تُوقّع أو تُعمّى*\r\n\r\n
+possiblyPgpMime=قد تكون رسالة PGP/MIME معماة أو موقّعة؛ انقر 'ظهِّر' للتأكد
+
+noDecrypted=لا توجد رسائل مُظهَّرة لتُحفظ!\nاستخدم أمر 'احفظ' من قائمة ملف
+noMessage=لا رسائل لتُحفظ!
+useButton=من فضلك انقر زر 'ظهِّر' لتظهير الرسالة
+saveHeader=OpenPGP: احفظ الرسالة المُظهَّرة
+saveAttachmentHeader=OpenPGP: احفظ المرفقة المُظهَّرة
+noTempDir=تعذّر العثور على دليل مؤقت للكتابه فيه\nمن فضلك اضبط متغير البيئة TEMP
+attachmentPgpKey=المرفقة '%S' الذي تفتحها تبدو كملف مفاتيح OpenPGP.\n\nانقر 'نعم' لتصدير المفاتيح التي تحتويها أو 'لا' لعرض محتويات الملف في نافذة المتصفح
+
+beginPgpPart=********* *بداية الجزء المعمى أو الموقّع* *********
+endPgpPart=********* *نهاية الجزء المعمى أو الموقّع* *********
+notePartEncrypted=OpenPGP: *تحوي هذه الرسالة أجزاءً لم تُوقّع أو تُعمّى*
+noteCutMessage=OpenPGP: *توجد عدة كتل رسائل -- أُجهض التظهير/التحقق*
+
+decryptOkNoSig=تحذير\n\nكان التظهير ناجحا، لكن تعذر التحقق من التوقيع بشكل صحيح
+contAnyway=أترغب في الاستمرار على أي حال؟
+noPgpMessage=الرسالة ليست مُوقّعة أو معمّاة باستخدام OpenPGP
+
+# Strings in enigmailMsgComposeOverlay.js
+keysToExport=اختر مفتاح OpenPGP لإدراجه
+keysToUse=اختر مفتاح OpenPGP لاستخدامه لأجل %S
+pubKey=مفتاح %S العلني\n
+
+windowLocked=نافذة التحرير مُقفلة؛ أُلغِي الإرسال
+sendUnencrypted=فشل بدء Enigmail.\nأأرسل رسالة غير مُعمّاة؟
+composeSpecifyEmail=من فضلك حدد عنوان بريدك الأساسي الذي سيُستخدم لاختيار مفتاح توقيع الرسائل الصادرة.\n إذا تركته خاويا فسيستخدم عنوان حقل 'مِن' في الرسالة لاختيار مفتاح التوقيع.
+sendingBCC=لهذه الرسالة مستلمين لنسخ عمياء (BCC). إن عُمِّيت هذه الرسالة سيكون بوسع كل المُستلمين تحديد هوية المستلمين الآخرين بفحص قائمة مفاتيح التعمية، مما يضيع السرِّية. \n\nانقر 'نعم' لتواصل التعمية على أي حال، أو 'لا' لإجهاض الإرسال.
+sendingNews=أُجهِضت عمليّة الإرسال المُعمّى.\n\nلا يمكن تعمية هذه الرسالة لوجود مجموعات بريدية ضمن المستلمين. من فضلك أعد إرسال الرسالة بدون تعمية.
+noPGPMIME=PGP/MIME غير متاح!\nأأستخدم PGP في المتن للتوقيع/التعمية؟
+hasHTML=تحذير بريد HTML:\nربما تحتوي هذه الرسالة على رَقْم HTML، مما قد يتسبب في فشل التوقيع/التعمية. لتتفادى هذا في المستقبل، يجب أن تضغط زر SHIFT أثناء النقر على زر حرر/رُد لإرسال بريد مُوقّع.\nإذا كنت توقع البريد بدئيا، يستحسن أن تلغي تفضيل 'حرر رسائل HTML' لتعطيل بريد HTML بشكل دائم لحساب البريد هذا.
+strippingHTML=تحتوي الرسالة على معلومات تنسيق HTML ستُفقد عند تحويلها إلى نص صِرف لتوقيعه/تعميته. أترغب في المتابعة؟
+attachWarning=مرفقات هذه الرسالة ليست محلِّية لذا لا يُمكن تعميتها. لتعمية المرفقات احفظها كملفات محلية أولا ثم أرفق هذه الملفات. أترغب في المتابعة على أي حال؟
+savingMessage=أتريد تعمية الرسالة قبل حفظها؟
+quotedPrintableWarn=لقد فعّلت ترميز 'quoted-printable' للإرسال. قد ينتج عن هذا تظهير و/أو تحقق خاطئ لرسائلك.\nأترغب في تعطيل الإرسال بترميز 'quoted-printable' الآن؟
+minimalLineWrapping=لقد ضبطت طول السطر على %S حرف. لتعمية و/أو توقيع سليمين، ينبغي لهذه القيمة أن تكون 68 على الأقل.\nأتريد تغيير طول السطر إلى 68 حرفا الآن؟
+warning=تحذير
+signIconClicked=لقد قمت يدويا بتغيير تفعيل التوقيع. لذا ففيما يتعلق بهذه الرسالة فإن تفعيل/تعطيل التوقيع لم يعد يعتمد على تفعيل/تعطيل التعمية.
+
+sendAborted=أُجهِضت عملية الإرسال.\n\n
+
+statPGPMIME=PGP/MIME
+statSigned=مُوقّع
+statEncrypted=مُعمّى
+statPlain=نص صريح
+
+offlineSave=أأحفظ الرسالة %S إلى %S في مجلد الرسائل غير المرسلة؟
+
+onlineSend=أأرسل الرسالة %S إلى %S؟
+offlineNote=لا يوجد اتصال حاليا. أتريد حفظ الرسالة في مجلّد الرسائل غير المُرسلة؟
+encryptKeysNote=ملحوظة: لقد عُمّيت الرسالة باستخدام هويات/مفاتيح المستخدمين التالية: %S
+
+signFailed=عطل في OpenPGP؛ فشلت التعمية/التوقيع؛ أأرسل الرسالة غير مُعمّاة؟
+acctNotConfigured=لم تضبط هذه الهوية باستخدام خصوصية OpenPGP.\nأأرسل رسالة غير مُعمّاة؟
+recipientsSelectionHdr=اختر المستلمين للتعمية
+
+configureNow=لم تضبط خصوصية OpenPGP للهوية المختارة. أترغب في فعل هذا الآن؟
+
+signYes=ستُوقّع الرسالة
+signNo=لن تُوقّع الرسالة
+encryptYes=ستُعمّى الرسالة
+encryptNo=لن تُعمّى الرسالة
+rulesConflict=وُجِدت قواعد مستلمين متعارضة\n%S\n\nأأرسل الرسالة بهذه الإعدادات؟
+
+# Strings in enigmailMsgHdrViewOverlay.js
+keyNeeded=المفتاح العلني %S مطلوب للتحقق من التوقيع
+clickDecrypt='؛ انقر زر 'ظهِّر
+clickDecryptRetry=؛ انقر زر 'ظهِّر' لتعيد المحاولة
+clickPen=؛ انقر أيقونة القلم
+clickPenDetails=؛ انقر أيقونة القلم للتفاصيل
+clickQueryPenDetails=؛ انقر أيقونة القلم للتفاصيل
+clickKey=؛ انقر أيقونة المفتاح
+clickQueryKeyDetails=؛ انقر أيقونة المفتاح للتفاصيل
+clickKeyDetails=؛ انقر أيقونة المفتاح للتفاصيل
+clickPenKeyDetails=؛ انقر أيقونة القلم أو المفتاح للتفاصيل
+msgPart=جزة من الرسالة %S
+msgSigned=مُوقّعة
+msgEncrypted=مُعمّاة
+msgSignedAndEnc=مُوقّعة و مُعمّاة
+
+reloadImapMessage=أأعيد تحميل رسالة IMAP كاملة لتظهيرها/التحقق منها؟
+reloadImapError=عُطل - رسالة IMAP أكبر من أن تُظهَّر/يُتحقق منها
+
+unverifiedSig=توقيع غير مُحقق
+incompleteDecrypt=التظهير ناقص
+failedSig=عُطل - فشل التحقق من التوقيع
+needKey=عُطل - بحاجة لمفتاح سري لتعمية الرسالة
+failedDecrypt=عُطل - فشل التظهير
+badPhrase=عُطل - عبارة سر غير صحيحة
+failedDecryptVerify=عُطل - فشل التظهير/التحقق
+viewInfo=؛ اعرض > معلومات خصوصية الرسالة للتفاصيل
+
+decryptedMsg=ظهِّر الرسالة
+
+# Strings in enigmailNavigatorOverlay.js
+navEncryptError=خطأ أثناء تعمية و/أو توقيع الرسالة.\n
+navDecryptError=خطأ أثناء تعمية الرسالة.\n
+
+# Strings in pref-enigmail.js
+uninstallConfirm=أترغب في حذف كل الملفات التي تخص OpenPGP في مجلدات موزيلا component و chrome؟
+uninstallFailOverlay=فشلت إزالة OpenPGP communicator overlay RDF؛ لن أحذف ملف chrome jar
+uninstallFailDelete=خطأ أثناء حذف الملف
+uninstallFail=فشلت إزالة Enigmail
+uninstallSuccess=تمت إزالة Enigmail
+testNoSvc=EnigTest: فشل النفاذ إلى خدمة Enigmail
+testNoEmail=EnigTest: من فضلك حدد عنوان بريد للاختبار
+testSucceeded=يعمل OpenPGP الآن بشكل سليم. للتفاصيل، راجع المرقاب من قائمة OpenPGP
+oldGpgVersion=فشل استبداء OpenPGP.\n\nتستخدمُ OpenPGP إصدارة %S، و هي إصدارة متقادمة. يحتاج Enigmail إلى GnuPG إصدارة 1.2.5 أو أحدث؛ من فضلك حدِّث GnuPG وإلا لن يعمل OpenPGP.
+locateGpg=حدد موضع برمجية GnuPG
+invalidGpgPath=لا يُمكن تنفيذ GnuPG من المسار المُعطى. لذا سيُعطّل OpenPGP حتى تُغيّر المسار إلى GnuPG أو تُعيد تشغيل التطبيق.
+warningsAreReset=تم تصفير كل التحذيرات.
+prefs.gpgFound=وُجِد GnuPG في %S
+prefs.gpgNotFound=لم يُعثر على GnuPG
+prefs.warnAskNever=تحذير: تفعيل هذا الخيار سيؤدي إلى إرسال بغير تعمية دون أي تنويهات إذا لم يوجد مفتاح لأحد المُستلمين -- لن يُنبهك OpenPGP عند حدوث ذلك!
+
+# Strings used in components/enigmail.js
+# (said file also re-uses some strings from above)
+
+enterPass=أدخل عبارة سر OpenPGP
+enterPassOrPin=أدخل عبارة سر OpenPGP أو PIN بطاقتك الذكية (SmartCard)
+repeatPass=كرر عبارة سر OpenPGP
+rememberPass=تذكر لمدة %S دقائق من السكون
+enterAdminPin=من فضلك أدخل PIN المدير لبطاقتك الذكية (SmartCard)
+enterCardPin=من فضلك أدخل PIN بطاقتك الذكية (SmartCard)
+
+notInit=عُطل - لم تستبدأ خدمة Enigmail بعد
+badCommand=عُطل - فشل أمر التعمية
+cmdLine=خرج سطر الأوامر:
+notRequired=عُطل - لا تعمية مطلوبة
+notComplete=عُطل - لم يتم توليد المفتاح
+invalidEmail=عُطل - عنوان بريد غير صحيح
+noPassphrase=عُطل - لم تدخل أية عبارة سر
+noPGPblock=عُطل - لم يُعثر على أي كتل بيانات OpenPGP مدرّع
+unverifiedReply=جزء الرسالة المزاح (الرد) قد تغيير على الأغلب
+decryptToImport=انقر زر 'ظهِّر' لتستورد كتلة المفتاح العلني من الرسالة
+sigMismatch=عُطل - توقيع غير صحيح
+cantImport=خطأ في استيراد المفتاح العلني\n\n
+messageSizeError=الرسالة أكبر من يُتحقق منها
+sc.noCardAvailable=لم يُعثر على بطاقة ذكية في القارئ\nأدخل بطاقتك الذكية ثم أعد العملية
+sc.noReaderAvailable=لا يمكن الوصول إلى قارئ البطاقات الذكية\nأوصل قارئ البطاقات الذكية ثم أدخل بطاقتك ثم أعد العملية
+
+gpgNotFound=تعذر تحديد موضع برمجية GnuPG '%S'.\nتأكد أنك ضبطت مسار ملف GnuPG التنفيذي صحيحا في تفضيلات OpenPGP
+gpgNotInPath=تعذر تحديد موضع برمجية GnuPG في المسار (PATH).\nتأكد أنك ضبطت مسار ملف GnuPG التنفيذي صحيحا في تفضيلات OpenPGP
+enigmimeNotAvail=خدمة Enigmime غير موجودة
+gpgAgentNotStarted=تعذر بدأ برمجية gpg-agent وهو ضروري لإصدارة %S من GnuPG.
+
+prefUntrusted=غير موثوق
+prefRevoked=مفتاح منقوض
+prefExpiredKey=مفتاح منتهي
+prefExpired=منتهي
+prefGood=توقيع صحيح من %S
+prefBad=توقيع غير صحيح من %S
+
+failFingerprint=عُطل - فشل أمر استخراج البصمة
+failMultiple=عُطل - توجدت مفاتيح عديدة تخص %S
+failNoKey=عُطل - لم يُعثر على مفاتيح تخص %S
+failOnlyGPG=عُطل - فقط GnuPG يمكنه جلب مفاتيح من خادوم المفاتيح
+failCancel=عُطل - ألغى المستخدم جلب المفتاح
+failNoServer=عُطل - لم تحدد خادوم مفاتيح لجلب المفاتيح منه
+failNoID=عُطل - لم تحدد هوية لجلب مفتاح لها
+failKeyExtract=عُطل - فشل أمر استخراج المفتاح
+notFirstBlock=عُطل - أول كتلة OpenPGP ليست كتلة مفتاح علني
+importKeyConfirm=أأستورد المفاتيح العلنية المضمنة في الرسالة؟
+failKeyImport=عُطل - فشل استيراد المفتاح
+fileWriteFailed=فشلت الكتابة في الملف %S
+
+successKeyImport=تم استيراد مفتاح/مفاتيح بنجاح
+
+importKey=استورد المفتاح العلني %S من خادوم المفاتيح
+uploadKey=أرسل المفتاح العلني %S إلى الخادوم
+keyId=هويّة المفتاح
+keyAndSigDate=معرِّف المفتاح: 0x%S / مُوقع في: %S
+keyFpr=بصمة المفتاح: %S
+photoFor=هوية OpenPGP صُوّرة %S
+noEmailProvided=لم تُعط عنوان بريد!
+invalidRecp=مستلمون غير صحيحون: %S
+
+# Strings used in enigmailUserSelection.js
+selKeyExpired=انتهى %S
+createdHeader=تاريخ الإنشاء
+keyInvalid=مفتاح غير صحيح
+keyDisabled=مفتاح مُعطّل
+atLeastOneKey=لم تختر أي مفاتيح! ينبغي اختيار مفتاح واحد على الأقل لقبول هذا الحوار
+
+# Strings used in enigmailAttachmentDialog.js
+pgpMimeNote=ملحوظة: برمجيات بريد قليلة تدعم PGP/MIME. على ويندوز فقط موزيلا/ثندربيرد و Sylpheed و Pegasus و Mulberry معروف دعمها لهذا المعيار؛ على لينكس/يونكس و ماك أوإس إكس أغلب البرمجيات المشهورة تدعمه. إذا لم تكن متأكدا اختر %S.
+first=الأوّل
+second=الثّاني
+
+# Strings used in am-enigprefs.js
+encryptKeyHeader=اختر مفتاح OpenPGP للتعمية
+identityName=الهوية: %S
+
+# Strings used in enigmailSingleRcptSettings.js
+noEncryption=لقد فعّلت التعمية لكنك لم تختر مفتاحا. لتعمي الرسائل إلى %S ينبغي لك تحديد مفتاح سليم أو أكثر من قائمة المفاتيح. أترغب في تعطيل التعمية إلى %S؟
+noKeyToUse=(لا شيء - لا تعمية)
+noEmptyRule=لا يمكن أن تكون القاعدة خاوية! من فضلك ضع عنوان بريد في حقل القاعدة.
+invalidAddress=عناوين البريد التي أدخلتها ليست سليمة. يجب ألا تضع أسماء المستلمين؛ فقط عناوين البريد. مثلا:\nغير سليم: اسم ما <some.name@address.net>\nسليم : some.name@address.net
+noCurlyBrackets=الأقواس المعقوفة {} لها معنى خاص و يجب ألا تستخدم في عناوين البريد. إذا أردت تغيير سلوك المطابقة لهذه القاعدة فاستخدم خيار 'طبق القاعدة إن كان المستلم...'.\nالمزيد من المعلومات متوفر عبر زر المساعدة.
+
+# Strings used in enigmailRulesEditor.js
+never=أبدًا
+always=دائمًا
+possible=ممكن
+deleteRule=أأحذف القاعدة المختارة حقا؟
+nextRcpt=(المستلم التالي)
+negateRule=ليس
+
+# Strings used in enigmailSearchKey.js
+needOnline=الخاصية التي اخترتها غير متاحة في طور عدم الاتصال. من فضلك تحول إلى طور الاتصال وحاول مجددا.
+protocolNotSupported=البروتوكول '%S://' الذي اخترته غير مدعوم لجلب مفاتيح OpenPGP.
+gpgkeysDisabled=قد يُساعدك تفعيل الخيار 'extensions.enigmail.useGpgKeysTool'.
+noKeyserverConn=تعذّر الاتصال بخادوم المفاتيح %S.
+keyDownloadFailed=فشل الجلب من خادوم المفاتيح. رسالة الحالة هي:\n%S
+internalError=حدث عطل داخلي. تعذّر جلب المفاتيح أو استيرادها.
+noKeyFound=لم أعثر على أي مفاتيح تتطابق معايير البحث.\nلاحظ أن هويات المفاتيح يجب أن تُسبق ب "0x" (مثلا: 0xABCDEF12).
+
+# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
+gpgKeysFailed=فشل البحث عن أو جلب المفتاح من خادوم المفاتيح: لا يُمكن تنفيذ gpgkeys_%S.
+
+
+# Strings in enigmailEditKeyTrustDlg.xul
+setKeyTrustFailed=فشل ضبط الثقة في المالك
+setKeyTrustOK=تم ضبط الثقة في المالك بنجاح
+
+# Strings in enigmailSignKeyDlg.xul
+signKeyFailed=فشل توقيع المفتاح
+signKeyOK=تم توقيع المفتاح بنجاح
+undefinedError=حدث عطل غير مُعرّف.
+keyAlreadySigned=المفتاح مُوقّع بالفعل، لا يمكنك توقيعه مرتين.
+noSignKeyExpired=المفتاح انتهت صلاحيته. يمكنك فقط توقيع المفاتيح التي ما تزال صالحة.
+
+
+# Strings in enigmailKeyManager.js
+keyMan.loadingKeys=يُحمِّل المفاتيح، من فضلك انتظر...
+keyValid.unknown=مجهول
+keyValid.invalid=غير صحيح
+keyValid.disabled=معطّل
+keyValid.revoked=منقوض
+keyValid.expired=انتهت صلاحيته
+keyValid.noSubkey=لا مفتاح فرعي صالح
+
+keyTrust.untrusted=منعدمة
+keyTrust.marginal=هامشية
+keyTrust.full=تامة
+keyTrust.ultimate=مطلقة
+keyType.public=علني
+keyType.publicAndSec=علني/سري
+keyMan.enableKey=فعّل المفتاح
+keyMan.disableKey=عطّل المفتاح
+userAtt.photo=خصيصة المستخدم (صورة JPEG)
+
+asciiArmorFile=ملفات أسكي (ASCII) مُدرّعة (*.asc)
+gnupgFile=ملفات GnuPG
+saveRevokeCertAs=أنشئ واحفظ شهادة نقض
+revokeCertOK=أُنشأت شهادة النقض بنجاح. يمكن استخدامها لإبطال مفتاحك العلني، مثلا في حال فقدت المفتاح السري.\n\nمن فضلك انقلها إلى وسيط يُمكن حفظه بعيدا بأمان كقرص مدمج أو مرن. إذا حاز أحدهم هذه الشهادة سيكون بإمكانه استخدامها لجعل مفتاحك غير ذي فائدة.
+revokeCertFailed=تعذّر إنشاء شهادة النقض.
+
+addUidOK=تمت إضافة هوية المستخدم بنجاح
+addUidFailed=فشلت إضافة هوية المستخدم
+noKeySelected=يجب أن تختار مفتاحا واحدا على الأقل لإجراء العملية المطلوبة
+exportToFile=صدّر المفتاح العلني إلى ملف
+exportSecretKey=أتريد تضمين المفتاح السري في ملف مفتاح OpenPGP المحفوظ؟
+saveKeysOK=تم حفظ المفاتيح بنجاح
+saveKeysFailed=فشل حفظ المفاتيح
+importKeysFailed=فشل استيراد المفاتيح
+enableKeyFailed=فشل تفعيل/تعطيل المفاتيح
+specificPubKeyFilename=%S (0x%S) pub
+specificPubSecKeyFilename=%S (0x%S) pub-sec
+defaultPubKeyFilename=Exported-public-keys
+defaultPubSecKeyFilename=Exported-public-and-secret-keys
+noSecretKeys=لم يُعثر على مفاتيح سرية.\n\nأتريد توليد مفتاحك الآن؟
+
+sendKeysOk=تم إرسال المفاتيح بنجاح
+sendKeysFailed=فشل إرسال المفاتيح
+receiveKeysOk=تم تحديث المفاتيح بنجاح
+receiveKeysFailed=فشل جلب المفاتيح
+
+importFromClip=أتريد استيراد المفاتيح من الحافظة؟
+copyToClipbrdFailed=تعذر نسخ المفاتيح المختارة إلى الحافظة.
+copyToClipbrdOK=تم نسخ المفاتيح إلى الحافظة
+
+deleteSecretKey=تحذير: أنت بصدد حذف مفتاح سري!\nإذا حذفت مفتاحك السري فلن يعود بوسعك تظهير أية رسالة عُمِّيت لهذا المفتاح، و لن تستطيع نقض المفتاح كذلك.\n\nأترغب حقا في حذف كلا المفتاحين السري و العلني\n'%S'؟
+deleteMix=تحذير: أنت بصدد حذف مفتاح سري!\nإذا حذفت مفتاحك السري فلن يعود بوسعك تظهير أية رسالة عُمِّيت لهذا المفتاح، ولن تستطيع نقض المفتاح كذلك.\n\nأترغب حقا في حذف كلا المفتاحين السري والعلني؟
+deletePubKey=أتريد حذف المفتاح العلني\n'%S'؟
+deleteSelectedPubKey=أتريد حذف المفاتيح العلنية؟
+deleteKeyOk=تم حذف المفتاح بنجاح
+deleteKeyFailed=تعذّر حذف المفتاح.
+revokeKeyAsk=تُنشئ و تستورد هذه الخاصية شهادة نقض. أتريد حقا نقض المفتاح '%S'؟
+revokeKeyOk=لقد تم نقض هذا المفتاح. إذا كان مفتاحك على خادوم مفاتيح فيُفضّل أن تعيد رفعه ليرى الآخرون النقض.
+revokeKeyFailed=تعذّر نقض المفتاح.
+uploadingKey=يجري رفع المفاتيح...
+downloadingKey=يجري جلب المفاتيح...
+keyserverAccessAborted=أُجهِض
+refreshAllQuestion=لم تختر أي مفتاح. أتريد تحديث كل المفاتيح؟
+refreshKey.warn=تحذير: طبقا لعدد المفاتيح وسرعة الاتصال فقد يستغرق تحديث كل المفاتيح وقتا طويلا نوعا ما\nأأتابع؟
+
+# Strings in enigmailViewKeySigDlg.xul
+keySignatureLocal=محلي
+keySignatureExportable=قابل للتصدير
+keySignatureNoKey=لا مفتاح
+userIdNotFound=(لم يُعثر على هوية المستخدم)
+retrieveKeyConfirm=المفتاح غير متوجود - أتريد جلبه من خادوم المفاتيح؟
+
+# Strings in enigmailManageUidDlg.xul
+changePrimUidFailed=فشل تغيير هوية المستخدم الأساسية
+changePrimUidOK=تم تغيير هوية المستخدم الأساسية بنجاح
+deleteUidFailed=فشل حذف هوية المستخدم %S
+deleteUidOK=تم حذف هوية المستخدم %S بنجاح
+revokeUidFailed=فشل سحب هوية المستخدم %S
+revokeUidOK=تم نقض هوية المستخدم %S بنجاح. إذا كان مفتاحك على خادوم مفاتيح فيُفضّل أن تعيد رفعه ليرى الآخرون النقض.
+revokeUidQuestion=أترغب حقا في نقض هوية المستخدم هذه %S؟
+deleteUidQuestion=أترغب حقا في حذف هوية المستخدم هذه %S؟\n\nلاحظ: إذا كنت قد وضعت مفتاحك على خادوم مفاتيح فإن حذف هوية المستخدم لن يُغيّر أي شيء. في هذه الحالة استخدم 'انقض هوية المستخدم'.
+
+# Strings in enigmailKeyDetailsDlg.xul
+keyTypePublic=مفتاح علني
+keyTypeSubkey=مفتاح فرعي
+keyTypePair=زوج مفاتيح
+keyExpiryNever=أبدا
+keyAlgorithm_1=RSA
+keyAlgorithm_2=RSA
+keyAlgorithm_3=RSA
+keyAlgorithm_16=الجمل
+keyAlgorithm_17=DSA
+keyAlgorithm_20=الجمل
+
+# Strings in enigmailGenCardKey.xul
+keygen.started=من فضلك انتظر بينما يجري توليد المفتاح...
+keygen.completed=تم توليد المفتاح. معرِّف المفتاح الجديد هو: 0x%S
+keygen.keyBackup=تم حفظ المفتاح احتياطيا باسم %S
+keygen.passRequired=من فضلك حدد عبارة سر إذا كنت تريد إنشاء نسخة احتياطية من مفتاحك خارج البطاقة الذكية.
+
+# Strings in enigmailSetCardPin.xul
+cardPin.dontMatch=لأن PIN التي أدخلته لا تتطابق، من فضلك أعد الإدخال
+cardPin.minLength=يجب أن يتألف PIN من %S حرف أو رقم على الأقل
+cardPin.processFailed=فشل تغيير PIN
+
+# Strings in enigRetrieveProgress.xul
+keyserverProgress.refreshing=يجري تحديث المفاتيح؛ انتظر...
+keyserverProgress.uploading=يجري رفع المفاتيح؛ انتظر...
+keyserverTitle.refreshing=تم تحديث المفاتيح
+keyserverTitle.uploading=تم تحديث المفتاح
+
+# Strings in enigmailSetupWizard
+setupWizard.gpgNotFound=تعذّر العثور على GnuPG؛ تأكد من المسار
+passphrase.min8keys=يجب أن تتألف كلمة السر من 8 محارف على الأقل
+setupWizard.applyAllId=فعّل GnuPG لكل الهويات
+setupWizard.applySomeId=فعّل GnuPG لكل الهويات: %S
+setupWizard.applySingleId=فعّل GnuPG لحساب بريدك
+setupWizard.setAllPrefs=عدّل كل اعدادات التطبيق المحبّذة
+setupWizard.setSomePrefs=عدّل كل اعدادات التطبيق المحبّذة التي اخترتها
+setupWizard.setNoPrefs=لا تعدّل أيا من إعدادات التطبيق
+setupWizard.createKey=ولّد مفتاح OpenPGP 2048-بتة جديد، صالح ل 5 سنوات
+setupWizard.useKey=استخدم هوية مفتاح OpenPGP الموجودة %S للتوقيع
+setupWizard.encryptAll=عمِّ كل البريد بدئيا
+setupWizard.encryptNone=لا تعمّ البريد بدئيا
+setupWizard.signAll=وقّع كل البريد بدئيا
+setupWizard.signNone=لا توقّع البريد بدئيا
+setupWizard.reallyCancel=أترغب حقا في صرف مرشد إعداد OpenPGP؟
+setupWizard.locateGpg=لم يستطع المرشد العثور على ملف GnuPG التنفيذي، من فضلك حدد موضعه يدويا في الحوار التالي. إذا لم تكن ثبّتّ GnuPG بعد، ننصحك بزيارة http://www.gnupg.org.
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/help
^
|
+(directory)
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/help/compose.html
^
|
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Enigmail Help: Message Composition</title>
+ <style type="text/css">
+ /*<![CDATA[*/
+ dt { font-weight: bold; }
+ /*]]>*/
+ </style>
+</head>
+
+<body>
+ <h1>Enigmail Help</h1>
+
+ <h3>Using Enigmail when composing messages</h3>
+
+ <dl>
+ <dt>Enigmail menu in Mail/Compose window</dt>
+
+ <dd>
+ <dl>
+ <dt>Sign message</dt>
+
+ <dd>Enable/Disable sending signed mail. User is notified, if signing fails.</dd>
+
+ <dt>Encrypt message</dt>
+ <dd>
+ <p>Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.</p>
+
+ <p>If <em>Display selection when necessary</em> is set in <strong>Preferences -> Key Selection tab</strong>, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.</p>
+
+ <p>If <em>Never display OpenPGP key selection dialog</em> is set in <strong>Preferences -> Key Selection tab</strong>, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.</p>
+ </dd>
+
+ <dt>Use PGP/MIME for this message</dt>
+
+ <dd>
+ Enable/Disable the use of <a href="http://community.roxen.com/developers/idocs/rfc/rfc3156.html" target="_blank">PGP/MIME</a> for this message.
+
+ <p>If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.</p>
+
+ <p>This feature is dependent on the settings in <strong>Preferences -> PGP/MIME tab</strong> being set to <em>Allow to use PGP/MIME</em> or <em>Always use PGP/MIME</em>.</p>
+ </dd>
+
+ <dt>Default composition options</dt>
+
+ <dd>
+ <ul>
+ <li><strong>Signing/Encryption Options...</strong>: shortcut to <strong>Account Settings -> OpenPGP Options.</strong></li>
+
+ <li><strong>Send options...</strong>: shortcut to <strong>Preferences -> Send</strong> tab.</li>
+
+ <li><strong>Key selection options...</strong>: shortcut to <strong>Preferences -> Key Selection</strong> tab.</li>
+
+ <li><strong>PGP/MIME options...</strong>: shortcut to <strong>Preferences -> PGP/MIME</strong> tab.</li>
+ </ul>
+ </dd>
+
+ <dt>Undo encryption</dt>
+
+ <dd>
+ <p>If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.</p>
+
+ <p><em>As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.</em></p>
+ </dd>
+
+ <dt>Insert public key</dt>
+
+ <dd>insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.</dd>
+
+ <dt>Clear save passphrase</dt>
+
+ <dd>Clears cached passphrase. Useful if you have multiple passphrases.</dd>
+
+ <dt>Help</dt>
+
+ <dd>Displays Help information from the website (this page).</dd>
+ </dl>
+ </dd>
+ </dl>
+ <hr />
+
+ <p>Further help is available on the <a href="http://enigmail.mozdev.org/help.html">Enigmail Help web page</a></p>
+</body>
+</html>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/help/editRcptRule.html
^
|
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Enigmail Help: Edit OpenPGP Rule</title>
+ <style type="text/css">
+ /*<![CDATA[*/
+ dt { font-weight: bold; }
+ /*]]>*/
+ </style>
+</head>
+
+<body>
+ <h1>Enigmail Help</h1>
+
+ <h3>Using the Enigmail Rules Editor: Edit OpenPGP Rule</h3>
+
+ <p>In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.</p>
+
+ <dl>
+ <dt>Set OpenPGP Rules for</dt>
+
+ <dd>Contains the email addresses of the recipients (without names, i.e. just an address like <tt>somebody@email.domain</tt>). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. <tt>@email.domain will</tt> allow matching to <tt>body@email.domain</tt>, <tt>somebody@email.domain</tt>, <tt>anybody@email.domain</tt>, etc.</dd>
+
+ <dt>Apply rule if recipient ...</dt>
+
+ <dd>
+ This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on <tt>body@email.domain</tt> entered in the <em>OpenPGP Rules</em> field above.
+
+ <ul>
+ <li><em>Is exactly</em>: with this setting, the rule will only trigger on emails to <tt>body@email.domain</tt> (exact, case insensitive matching).</li>
+
+ <li><em>Contains</em>: with this setting, any email address containing the string is matched, e.g. <tt>anybody@email.domain</tt> or <tt>body@email.domain.net</tt></li>
+
+ <li><em>Begins with</em>: with this setting, any email address starting with the string is matched, e.g. <tt>body@email.domain.net</tt>, <tt>body@email.domain-name.com</tt>.</li>
+
+ <li><em>Ends with</em>: with this setting, any email address ending with the string is matched, e.g. <tt>anybody@email.domain</tt> , <tt>somebody@email.domain</tt>.</li>
+ </ul>
+ </dd>
+
+ <dt>Continue with the next rule for the matching address</dt>
+
+ <dd>Enabling this function will allow you to define a rule but not have to specify a KeyID in the <em>Use the following OpenPGP keys:</em> field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.</dd>
+
+ <dt>Do not check further rules for the matching address</dt>
+
+ <dd>Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.</dd>
+
+ <dt>Use the following OpenPGP keys:</dt>
+
+ <dd>Use the <em>Select Key(s)..</em> button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.</dd>
+
+ <dt>Default for Signing</dt>
+
+ <dd>
+ Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
+
+ <ul>
+ <li><em>Never</em>: disable signing, even if it was enabled in the message composition window (overrules the other values)</li>
+
+ <li><em>Yes, if selected from in Message Composition</em>: leave signing as specified in the message composition window</li>
+
+ <li><em>Always</em>: enable signing, even if it was <span style="font-style: italic;">not</span> enabled in the message composition window</li>
+ </ul>These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify <em>Always</em>.
+ </dd>
+
+ <dt>Encryption</dt>
+
+ <dd>Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.</dd>
+
+ <dt>PGP/MIME</dt>
+
+ <dd>Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.</dd>
+ </dl>
+
+ <p>The rules are processed in the order displayed in the list in the <em>OpenPGP Rules Editor</em>. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.</p>
+ <hr />
+
+ <p>Further help is available on the <a href="http://enigmail.mozdev.org/pgprules_file.html" target="_blank">Enigmail Per-Recipient Settings page</a></p>
+</body>
+</html>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/help/messenger.html
^
|
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Enigmail Help: Message Reading</title>
+ <style type="text/css">
+ /*<![CDATA[*/
+ dt { font-weight: bold; }
+ /*]]>*/
+ </style>
+</head>
+
+<body>
+ <h1>Enigmail Help</h1>
+
+ <h3>Using Enigmail when reading messages</h3>
+
+ <dl>
+ <dt>Decrypt button in main Mail window</dt>
+
+ <dd>This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.</dd>
+
+ <dt>Pen and Key icons in Message Header display</dt>
+
+ <dd>
+ The <em>Pen</em> and <em>Key</em> icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the <em>Pen</em> icon will change to a <em>Broken Pen</em> to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
+
+ <ul>
+ <li><em>OpenPGP Security info</em>: allows you to view the output status from GnuPG for the message.</li>
+
+ <li><em>Copy OpenPGP Security info</em>: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.</li>
+
+ <li><em>View OpenPGP Photo ID</em>: allows you to view the <em>Photo ID</em> of the person who sent the message, if they have a photo embedded in their Public Key. (<em>This option will only be enabled if a Photo ID exists in their key.)</em></li>
+
+ <li><em>S/MIME Security info</em>: allows you to view the S/MIME Security Info for the message.</li>
+ </ul>
+
+ <p>If you do not have <em>keyserver-options auto-key-retrieve</em> set in your <tt>gpg.conf</tt> file and you read a message which is signed or encrypted, you will see a <em>Pen</em> icon in the headers display area with a <em>Question mark</em> on it, the Enigmail status line in the headers area will say <em>Part of the message signed; click pen icon for details</em> and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.</p>
+
+ <p>You may also see this if you have <em>keyserver-options auto-key-retrieve</em> set in your <tt>gpg.conf</tt> file and the OpenPGP key is not available on the default keyserver.</p>
+
+ <p>Clicking on the <em>Pen and Question mark</em> icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.</p>
+
+ <p>To configure the list of keyservers you wish to use, go to <strong>Enigmail -> Preferences -> Basic</strong> tab and enter the keyserver addresses in the <em>Keyserver(s):</em> box, separated by a comma. <em>The first keyserver in the list will be used as the default.</em></p>
+ </dd>
+
+ <dt>Opening encrypted attachments / importing attached OpenPGP keys</dt>
+
+ <dd>Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: <em>Decrypt and Open</em> and <em>Decrypt and Save</em>. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.</dd>
+ </dl>
+ <hr />
+
+ <p>Further help is available on the <a href="http://enigmail.mozdev.org/help.html">Enigmail Help web page</a></p>
+</body>
+</html>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/help/rulesEditor.html
^
|
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Enigmail Help: Rules Editor</title>
+ <style type="text/css" xml:space="preserve">
+ /*<![CDATA[*/
+ dt { font-weight: bold; }
+ /*]]>*/
+ </style>
+</head>
+
+<body>
+ <h1>Enigmail Help</h1>
+
+ <h3>Using the Enigmail Rules Editor</h3>
+
+ <p>In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:</p>
+
+ <dl>
+ <dt>Email</dt>
+
+ <dd>The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on <span style="font-style: italic;">substrings</span> (Further details can be found in the Edit Rule dialog)</dd>
+
+ <dt>OpenPGP Key(s)</dt>
+
+ <dd>a list of OpenPGP Key ID's to use for the recipient</dd>
+
+ <dt>Sign</dt>
+
+ <dd>
+ enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
+
+ <ul>
+ <li><em>Never</em>: disable signing, even if it was enabled in the message composition window (overrules the other values)</li>
+
+ <li><em>Possible</em>: leave signing as specified in the message composition window</li>
+
+ <li><em>Always</em>: enable signing, even if it was <span style="font-style: italic;">not</span> enabled in the message composition window</li>
+ </ul>
+
+ <p>These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify <em>Always</em>.</p>
+ </dd>
+
+ <dt>Encrypt</dt>
+
+ <dd>enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.</dd>
+
+ <dt>PGP/MIME</dt>
+
+ <dd>enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.</dd>
+ </dl>
+
+ <p>The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.</p>
+
+ <p><em>Note:</em> The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). <a href="http://enigmail.mozdev.org/pgprules_file.html" target="_blank">Further information</a> for directly editing the file is available on the Enigmail Homepage</p>
+ <hr />
+
+ <p>Further help is available on the <a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail Help web page</a></p>
+</body>
+</html>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/ar/upgrade_080.html
^
|
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ar" dir="rtl">
+<head>
+ <title>معلومات تحديث Enigmail 0.8x</title>
+</head>
+<body>
+<h1>معلومات تحديث Enigmail 0.8x</h1>
+<p>أصبح ل Enigmail 0.8x لثندربيرد على واجهة مستخدم جديدة
+<b>إذا كنت معتادا على إصدارات Enigmail قبل 0.81.0، فمن فضلك اقرأ المعلومات التالية قبل الاستمرار</b>.
+</p>
+<h2>إعداد Enigmail</h2>
+<p>ينقسم إعداد Enigmail الآن إلى جزأين:</p>
+<ul>
+<li>الاعدادات الخاصة بالحساب لهوية مفتاح PGP، التعمية / التوقيع البدئي
+</li>
+<li>التفضيلات المشتركة العامة
+</li>
+</ul>
+<h3>الإعدادات الخاصة بالحساب</h3>
+<p>الإعدادات الخاصة بالحساب موجودة عبر قائمة <em>أدوات -> إعدادات الحساب</em>. يوجد الآن لكل حساب عنصر في قائمة <em>أمن OpenPGP</em> يحتوي الإعدادات الخاصة لكل حساب.
+</p>
+<p>إعدادات مفتاح PGP من Enigmail v0.80.0 أو أقدم
+<b>لن</b> تُحوّل إلى الأعدادات الجديدة لكل حساب.
+Enigmail <b>معطّل</b> بدئيا لكل الحسابات.
+</p>
+<h3>التفضيلات المشتركة العامة</h3>
+<p>التفضيلات المشتركة العامة تم تنقيحها و دمجها في حوار واحد. يمكن الوصول إلى التفضيلات إما من قائمة Enigmail أو بالنقر على زر <em>متقدم</em> في تفضيلات أمن OpenPGP في مدير الحسابات.
+</p>
+<p>أضيف خيار جديد يسمح لك بتفعيل التعمية آليا عند الرد على الرسائل المعمّاة. لاحظ أن هذا لا يؤثر على إعدادات توقيع الرسائل.
+</p>
+
+<h2>تحرير الرسائل</h2>
+<p>ضُبِط سلوك Enigmail ليكون أقرب شبها لسلوك S/MIME. أضيف زر OpenPGP يمكن منه اختيار اعدادات التعمية / التوقيع. لم تعد قائمة Enigmail تعمل لإرسال البريد المعنى أو الموقع، يتم الإرسال سريعا من زر <em>أرسِل</em> العادي أو قائمة ملف -> أرسل. <b>يقترح أن تجرب الإعدادات الجديدة بإرسال بعض الرسائل لنفسك قبل أن تستخدمها جديا</b>، بحيث تستوعب السلوك الجديد.
+</p>
+<p>إعدادات التعمية أو التوقيع تظهر الآن في الزاوية اليمنى بأسفل نافذة التحرير، مع أيقونات صغيرة تظهر عند تفعيل التوقيع أو التعمية.
+</p>
+
+<h2>مشاكل معروفة</h2>
+<ul>
+<li>لا يستطيع Enigmail حاليا تذكر عدة كلمات سر لمفاتيح PGP مختلفة. إما أن تكتب كلمة السر كل مرّة، أو ضع نفس كلمة السر للمفاتيح التي تستخدمها.
+</li>
+</ul>
+</body>
+</html>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/enigmail.dtd
^
|
@@ -1,15 +1,15 @@
<!ENTITY enigmail.label "Enigmail">
<!ENTITY enigmail.openpgp.label "OpenPGP">
-<!ENTITY enigmail.keyUserId.label "Account / User ID">
+<!ENTITY enigmail.keyUserId.label "アカウント / ユーザーID">
<!ENTITY enigmail.keygenTitle.label "OpenPGP鍵の生成">
<!ENTITY enigmail.useForSigning.label "生成した鍵を選択したアカウントに使用する">
<!ENTITY enigmail.keyComment.label "コメント">
<!ENTITY enigmail.keyNoPassphrase.label "パスフレーズ無し">
<!ENTITY enigmail.keyPassphrase.label "パスフレーズ">
-<!ENTITY enigmail.keyPassphraseRepeat.label "パスフレーズ (確認)">
+<!ENTITY enigmail.keyPassphraseRepeat.label "パスフレーズ(確認)">
<!ENTITY enigmail.generateKey.label "キー生成">
-<!ENTITY enigmail.generateKey.tooltip "OpenPGPに則った新しい鍵を暗号化/署名するため生成します">
+<!ENTITY enigmail.generateKey.tooltip "OpenPGP に則った新しい鍵を暗号化/署名するため生成します">
<!ENTITY enigmail.cancelKey.label "中止">
<!ENTITY enigmail.cancelKey.tooltip "鍵生成の中止">
<!ENTITY enigmail.keyGen.expiry.title "鍵の有効期限">
@@ -21,33 +21,33 @@
<!ENTITY enigmail.keyGen.keySize.label "暗号鍵長(bit)">
<!ENTITY enigmail.keyGen.console.label "鍵生成コンソール">
<!ENTITY enigmail.keyGen.keyType.label "暗号化アルゴリズム">
-<!ENTITY enigmail.keyGen.keyType.dsa "DSA & El Gamal">
+<!ENTITY enigmail.keyGen.keyType.dsa "DSA & ElGamal">
<!ENTITY enigmail.keyGen.keyType.rsa "RSA">
-<!ENTITY enigmail.preferences.label "OpenPGP設定">
+<!ENTITY enigmail.preferences.label "OpenPGP 設定">
<!ENTITY enigmail.passwordSettings.label "パスフレーズの設定">
<!ENTITY enigmail.userNoPassphrase.label "パスフレーズの問い合わせをしない">
-<!ENTITY enigmail.userNoPassphrase.tooltip "OpenPGP鍵がパスフレーズで保護されていない場合に、チェックしてください。">
+<!ENTITY enigmail.userNoPassphrase.tooltip "OpenPGP鍵がパスフレーズで保護されていない場合にチェックしてください">
<!ENTITY enigmail.expertUser.label "詳細設定を表示">
-<!ENTITY enigmail.expertUser.tooltip "上級者向けのメニュー項目や設定を行いたい場合に、チェックしてください">
+<!ENTITY enigmail.expertUser.tooltip "上級者向けのメニュー項目や設定を行いたい場合にチェックしてください">
<!ENTITY enigmail.defaultEncryptionOption.label "暗号化のデフォルトオプションの選択">
-<!ENTITY enigmail.usePGPMimeOption.label "PGP/MIMEオプションの選択">
-<!ENTITY enigmail.mimeHashAlgorithm.label "Hashアルゴリズム">
+<!ENTITY enigmail.usePGPMimeOption.label "PGP/MIME オプションの選択">
+<!ENTITY enigmail.mimeHashAlgorithm.label "Hash アルゴリズム">
<!ENTITY enigmail.prefs.pathsTitle.label "ディレクトリとファイル">
<!ENTITY enigmail.prefs.overrideGpg.label "次の設定で上書き">
-<!ENTITY enigmail.prefs.overrideGpg.tooltip "GnuPGの場所を設定したい場合は、クリックしてください">
+<!ENTITY enigmail.prefs.overrideGpg.tooltip "GnuPG の場所を設定したい場合は、クリックしてください">
-<!ENTITY enigmail.agentPath.label "GnuPGの実行パス">
-<!ENTITY enigmail.agentAdditionalParam.label "GnuPGの追加パラメータ">
-<!ENTITY enigmail.agentAdditionalParam.tooltip "GnuPGで使用するオプションを設定します">
+<!ENTITY enigmail.agentPath.label "GnuPG の実行パス">
+<!ENTITY enigmail.agentAdditionalParam.label "GnuPG の追加パラメータ">
+<!ENTITY enigmail.agentAdditionalParam.tooltip "GnuPG で使用するオプションを設定します">
-<!ENTITY enigmail.mime_parts_on_demand.label "開くときに始めて添付ファイルをダウンロード(IMAP専用)">
-<!ENTITY enigmail.allowEmptySubject.label "無題の時に警告しない">
-<!ENTITY enigmail.allowEmptySubject.tooltip "件名をつけずに送信する場合には、チェックしてください">
+<!ENTITY enigmail.mime_parts_on_demand.label "開くときに初めて添付ファイルをダウンロード(IMAP 専用)">
+<!ENTITY enigmail.allowEmptySubject.label "件名なしの時に警告しない">
+<!ENTITY enigmail.allowEmptySubject.tooltip "件名なしのまま送信する場合にはチェックしてください">
<!ENTITY enigmail.maxIdleMinutesHead.label "何もしない間パスフレーズを">
@@ -55,11 +55,11 @@
<!ENTITY enigmail.maxIdleMinutes.tooltip "制限時間だけパスフレーズをメモリ上に一時的に保存します">
<!ENTITY enigmail.resetPrefsButton.label "リセット">
-<!ENTITY enigmail.resetPrefs.tooltip "全てのOpenPGPの設定を初期値に戻します">
+<!ENTITY enigmail.resetPrefs.tooltip "すべての OpenPGP の設定を初期値に戻します">
<!ENTITY enigmail.prefsHelpButton.label "ヘルプ">
-<!ENTITY enigmail.upgradeButton.label "Enigmailのアップグレード">
-<!ENTITY enigmail.uninstallButton.label "Enigmailのアンインストール">
+<!ENTITY enigmail.upgradeButton.label "Enigmail のアップグレード">
+<!ENTITY enigmail.uninstallButton.label "Enigmail のアンインストール">
<!ENTITY enigmail.basic.label "基本">
<!ENTITY enigmail.sending.label "送信">
@@ -74,10 +74,10 @@
<!ENTITY enigmail.moreOptions.label "詳細設定">
<!ENTITY enigmail.encryptToSelf.label "自分の鍵を常に受取人リストに追加">
-<!ENTITY enigmail.encryptToSelf.tooltip "この機能が有効の場合、送信する全てのメッセージを復号化出来るようになります">
+<!ENTITY enigmail.encryptToSelf.tooltip "この機能が有効の場合、送信するすべてのメッセージを復号化できるようになります">
<!ENTITY enigmail.alwaysTrustSend.label "常に他人の鍵を信頼する">
-<!ENTITY enigmail.alwaysTrustSend.tooltip "鍵の有効性を判断するのに「信頼の輪」(Web of Trust)を使わないでください。">
-<!ENTITY enigmail.useNonDefaultComment.label "OpenPGP欄にEngimailのコメントを追加する">
+<!ENTITY enigmail.alwaysTrustSend.tooltip "鍵の有効性を判断するのに「信頼の輪」(Web of Trust)を使いません">
+<!ENTITY enigmail.useNonDefaultComment.label "OpenPGP 欄に Engimail のコメントを追加する">
<!ENTITY enigmail.keyserver.label "鍵サーバ">
<!ENTITY enigmail.keyserverDlg.label "鍵サーバの選択">
@@ -87,47 +87,47 @@
<!ENTITY enigmail.searchForKey.label "鍵の検索">
-<!ENTITY enigmail.disableSMIMEui.label "S/MIMEのボタンおよびメニューを隠す">
-<!ENTITY enigmail.doubleDashSeparator.label "'--'をSignatureの境界とする">
-<!ENTITY enigmail.useGpgAgent.label "gpg-agentでパスフレーズを扱う">
+<!ENTITY enigmail.disableSMIMEui.label "S/MIME のボタンおよびメニューを隠す">
+<!ENTITY enigmail.doubleDashSeparator.label "'--' を署名の境界とする">
+<!ENTITY enigmail.useGpgAgent.label "gpg-agent でパスフレーズを扱う">
<!ENTITY enigmail.noHushMailSupport.label " '<' と '>' を電子メールアドレスを指定するために使用する">
<!ENTITY enigmail.keepSettingsForReply.tooltip "可能であれば、暗号化されたメールには暗号化して返信します">
-<!ENTITY enigmail.doubleDashSeparator.tooltip "一行に二つのハイフンしか無い場合は、Signatureブロックとします">
-<!ENTITY enigmail.useGpgAgent.tooltip "すべてのパスフレーズの入力にgpg-agent (GnuPG 2の機能)を使用します">
-<!ENTITY enigmail.noHushMailSupport.tooltip "GnuPGに対して、'<' と '>' を電子メールアドレスを指定するために使用します。もし、受取人が古いHushmail鍵を使用している場合は無効にしください。">
-<!ENTITY enigmail.mime_parts_on_demand.tooltip "PGP/MIMEメッセージをIMAPフォルダで受信している場合には、無効にしください">
-<!ENTITY enigmail.disableSMIMEui.tooltip "S/MIMEボタンをメッセージ作成ウインドウのツールバーから隠します">
+<!ENTITY enigmail.doubleDashSeparator.tooltip "一行に二つのハイフンしか無い場合は、署名ブロックとします">
+<!ENTITY enigmail.useGpgAgent.tooltip "すべてのパスフレーズの入力に gpg-agent (GnuPG 2 の機能)を使用します">
+<!ENTITY enigmail.noHushMailSupport.tooltip "GnuPG に対して、'<' と '>' を電子メールアドレスを指定するために使用します。もし、受取人が古い Hushmail 鍵を使用している場合は無効にしください">
+<!ENTITY enigmail.mime_parts_on_demand.tooltip "PGP/MIME メッセージを IMAP フォルダで受信している場合には、無効にしてください">
+<!ENTITY enigmail.disableSMIMEui.tooltip "S/MIME ボタンをメッセージ作成ウインドウのツールバーから隠します">
<!ENTITY enigmail.logdirectory.label "ログディレクトリ">
<!ENTITY enigmail.testemail.label "テストメール">
<!ENTITY enigmail.test.label "テスト">
<!ENTITY enigmail.decryptbutton.label "復号">
-<!ENTITY enigmail.decryptbutton.tip "OpenPGP(Enigmail)で復号/検証を行う">
+<!ENTITY enigmail.decryptbutton.tip "OpenPGP (Enigmail)で復号/検証を行う">
<!ENTITY enigmail.messengermenu.accesskey "n">
<!ENTITY enigmail.decryptverify.label "復号/検証">
-<!ENTITY enigmail.importpublickey.label "公開鍵を取り込む">
+<!ENTITY enigmail.importpublickey.label "公開鍵を読み込む">
<!ENTITY enigmail.savedecrypted.label "復号したメッセージを保存">
<!ENTITY enigmail.autoDecrypt.label "メッセージを自動的に復号/検証">
<!ENTITY enigmail.clearPassphrase.label "パスフレーズのクリア">
-<!ENTITY enigmail.editRules.label "受取人毎の設定の編集">
+<!ENTITY enigmail.editRules.label "受取人ごとの設定の編集">
<!ENTITY enigmail.prefs.label "設定">
<!ENTITY enigmail.advprefs.label "詳細設定">
-<!ENTITY enigmail.debugMenu.label "OpenPGPのデバッグ">
+<!ENTITY enigmail.debugMenu.label "OpenPGP のデバッグ">
<!ENTITY enigmail.viewconsole.label "コンソールを表示">
<!ENTITY enigmail.viewdebuglog.label "ログファイルを表示">
<!ENTITY enigmail.generatekey.label "鍵の生成">
<!ENTITY enigmail.upgrade.label "アップグレード">
<!ENTITY enigmail.help.label "ヘルプ">
-<!ENTITY enigmail.about.title "OpenPGPについて">
-<!ENTITY enigmail.about.label "OpenPGPについて">
+<!ENTITY enigmail.about.title "OpenPGP について">
+<!ENTITY enigmail.about.label "OpenPGP について">
<!ENTITY enigmail.reload.label "メッセージを再読込">
<!ENTITY enigmail.browse.label "表示...">
<!ENTITY enigmail.sendersKeyMenu.label "送信者の鍵">
@@ -157,18 +157,19 @@
<!ENTITY enigmail.sendersKeyMenu.accesskey "K">
<!ENTITY enigmail.securitybutton.label "OpenPGP">
-<!ENTITY enigmail.securitybutton.tip "OpenPGP(Enigmail)セキュリティ設定">
+<!ENTITY enigmail.securitybutton.tip "OpenPGP (Enigmail)セキュリティ設定">
<!ENTITY enigmail.signedsend.label "このメッセージに署名">
<!ENTITY enigmail.encryptedsend.label "このメッセージを暗号化">
-<!ENTITY enigmail.disableRules.label "受取人毎のルール設定を無視">
+<!ENTITY enigmail.disableRules.label "受取人ごとのルール設定を無視">
<!ENTITY enigmail.composeOptionsMenu.label "デフォルト作成オプション">
+
<!ENTITY enigmail.pgpAccountSettings.label "署名/暗号化オプション...">
-<!ENTITY enigmail.mimeOptionsMenu.label "PGP/MIMEオプション...">
+<!ENTITY enigmail.mimeOptionsMenu.label "PGP/MIME オプション...">
<!ENTITY enigmail.sendOptionsMenu.label "送信オプション...">
<!ENTITY enigmail.defaultKeySelOpts.label "鍵選択オプション...">
-<!ENTITY enigmail.sendPGPMime.label "PGP/MIMEをこのメッセージに使用">
+<!ENTITY enigmail.sendPGPMime.label "PGP/MIME をこのメッセージに使用">
<!ENTITY enigmail.undoencryption.label "暗号化を元に戻す">
<!ENTITY enigmail.insertkey.label "公開鍵の挿入">
@@ -204,33 +205,32 @@
<!ENTITY enigmail.recipientsSelectionOption.label "鍵の選択方法の指定">
<!ENTITY enigmail.perRecipientRules.label "プリセットのルールにのみ従う">
-<!ENTITY enigmail.perRecipientRules.tooltip "ルールに従って鍵を選択します。ルールがない受取人には新しいルールを作る表示が出ます。">
+<!ENTITY enigmail.perRecipientRules.tooltip "ルールに従って鍵を選択します。ルールがない受取人には新しいルールを作る表示が出ます">
<!ENTITY enigmail.perRecipientRulesAndEmail.label "ルールとメールアドレスに従う">
-<!ENTITY enigmail.perRecipientRulesAndEmail.tooltip "ルールとメールアドレスをチェックしてもOpenPGPが鍵を決定出来なかった場合には、手動で選択します。">
+<!ENTITY enigmail.perRecipientRulesAndEmail.tooltip "ルールとメールアドレスをチェックしても OpenPGP が鍵を決定できなかった場合には、手動で選択します">
<!ENTITY enigmail.perEmailAddress.label "メールアドレスに従う">
-<!ENTITY enigmail.perEmailAddress.tooltip "メールアドレスをチェックしてもOpenPGPが鍵を決定出来なかった場合には、手動で選択します。ルールは使用されません。">
+<!ENTITY enigmail.perEmailAddress.tooltip "メールアドレスをチェックしても OpenPGP が鍵を決定できなかった場合には、手動で選択します。ルールは使用されません">
<!ENTITY enigmail.askRecipientsAlways.label "手動で設定">
-<!ENTITY enigmail.askRecipientsAlways.tooltip "OpenPGPはどの鍵を使うか決定致しません。常に問い合わせます。">
+<!ENTITY enigmail.askRecipientsAlways.tooltip "OpenPGP はどの鍵を使うか決定しません。常に問い合わせます">
<!ENTITY enigmail.neverAsk.label "手動では設定しない">
-<!ENTITY enigmail.neverAsk.tooltip "もし、全ての受取人について有効な鍵が見つからなかった場合には、自動的に暗号化しないで送信します。">
+<!ENTITY enigmail.neverAsk.tooltip "すべての受取人について有効な鍵が見つからなかった場合には、自動的に暗号化しないで送信します">
<!ENTITY enigmail.defineRules.label "ルールの設定 ...">
-<!ENTITY enigmail.defineRules.tooltip "鍵の選択ルールを表示、追加、削除および修正する場合は、クリックしてください。">
+<!ENTITY enigmail.defineRules.tooltip "鍵の選択ルールを表示、追加、削除および修正する場合はクリックしてください">
-<!ENTITY enigmail.usePGPMimeAlways.label "常にPGP/MIMEを使用">
-<!ENTITY enigmail.usePGPMimePossible.label "可能ならPGP/MIMEを使用">
-<!ENTITY enigmail.usePGPMimeNever.label "PGP/MIMEは使用しない">
+<!ENTITY enigmail.usePGPMimeAlways.label "常に PGP/MIME を使用">
+<!ENTITY enigmail.usePGPMimePossible.label "可能なら PGP/MIME を使用">
+<!ENTITY enigmail.usePGPMimeNever.label "PGP/MIME は使用しない">
<!ENTITY enigmail.keepSettingsForReply.label "暗号化メッセージには暗号化して返信">
<!ENTITY enigmail.confirmBeforeSend.label "送信する前に常に確認">
-<!ENTITY enigmail.confirmBeforeSend.tooltip "送信前の署名・暗号化に関する情報を表示します">
-<!ENTITY enigmail.wrapHtmlBeforeSend.label "送信する前にHTMLテキストを再度ラップ">
+<!ENTITY enigmail.confirmBeforeSend.tooltip "送信前の署名/暗号化に関する情報を表示します">
+<!ENTITY enigmail.wrapHtmlBeforeSend.label "送信する前に HTML テキストを再度ラップ">
<!ENTITY enigmail.wrapHtmlBeforeSend.tooltip "署名が損なわれないように再度テキストを整形します">
<!ENTITY enigmail.autoKeyRetrieve.label "署名を検証するために自動的に鍵を">
<!ENTITY enigmail.autoKeyRetrieve2.label "以下のサーバからダウンロードする:">
<!ENTITY enigmail.resetRememberedValues.label "警告をリセット">
<!ENTITY enigmail.resetRememberedValues.tooltip "過去に無効にした警告や質問を再度表示するようにします">
-
<!ENTITY enigmail.defaultEncryptionSign.accesskey "E">
<!ENTITY enigmail.defaultEncryptionOnly.accesskey "c">
<!ENTITY enigmail.defaultEncryptionNone.accesskey "N">
@@ -243,18 +243,19 @@
<!ENTITY enigmail.defaultNotSignedsend.accesskey "G">
<!ENTITY enigmail.confirmBeforeSend.accesskey "A">
-<!ENTITY enigmail.keygen.desc "<a class='enigmailStrong'>注意:鍵生成には数分かかることがあります。</a>生成途中でアプリケーションを終了しないでください。生成途中でブラウザを使用する、もしくはディスクアクセスが激しい処理を行うと、「乱数プール」が満たされ、処理が早く終わります。鍵の生成が終了すると通知します。">
+<!ENTITY enigmail.keygen.desc "<a class='enigmailStrong'>注意:鍵生成には数分かかることがあります。</a>生成途中でアプリケーションを終了しないでください。生成途中でブラウザを使用する、もしくはディスクアクセスが激しい処理を行うと「乱数プール」が満たされ、処理が早く終わります。鍵の生成が終了すると通知します。">
-<!ENTITY enigmail.console.label "OpenPGPのコンソールを表示"><!ENTITY enigmail.console.tooltip "OpenPGPのコンソールを表示">
+<!ENTITY enigmail.console.label "OpenPGP のコンソールを表示">
+<!ENTITY enigmail.console.tooltip "OpenPGP のコンソールを表示します">
-<!ENTITY enigmail.uninstall.label "Enigmailをアンインストール">
-<!ENTITY enigmail.uninstall.tooltip "Enigmailをアンインストール">
+<!ENTITY enigmail.uninstall.label "Enigmail をアンインストール">
+<!ENTITY enigmail.uninstall.tooltip "Enigmail をアンインストールします">
-<!ENTITY enigmail.selectpanel.label "OpenPGPパネルの選択">
-<!ENTITY enigmail.selectpanel.tooltip "OpenPGPパネルの選択">
+<!ENTITY enigmail.selectpanel.label "OpenPGP パネルの選択">
+<!ENTITY enigmail.selectpanel.tooltip "OpenPGP パネルを選択します">
<!ENTITY enigmail.userSelectionList.label "OpenPGP鍵の選択">
-<!ENTITY enigmail.usersNotFound.label "鍵が無効、信用してない。もしくは登録されていない受取人">
+<!ENTITY enigmail.usersNotFound.label "鍵が無効、信用していない、もしくは登録されていない受取人">
<!ENTITY enigmail.keyExpiry.label "有効期限">
<!ENTITY enigmail.keyTrust.label "信用度">
<!ENTITY enigmail.keySelection.label "選択">
@@ -262,35 +263,35 @@
<!ENTITY enigmail.userSelPlainText.label "暗号化しないで送信">
<!ENTITY enigmail.userSelPlainTextNotSigned.label "暗号化も署名もしないで送信">
<!ENTITY enigmail.userSelPlainText.accesskey "S">
-<!ENTITY enigmail.displayNoLonger.label "暗号化出来ない場合は、このダイアログは次から表示しない">
+<!ENTITY enigmail.displayNoLonger.label "暗号化できない場合は、このダイアログは次から表示しない">
<!ENTITY enigmail.importMissingKeys.label "持っていない鍵のダウンロード">
<!ENTITY enigmail.importMissingKeys.accesskey "D">
-<!ENTITY enigmail.importMissingKeys.tooltip "持ってない鍵を鍵サーバからダウンロードすることを試みてください">
+<!ENTITY enigmail.importMissingKeys.tooltip "持ってない鍵を鍵サーバーから読み込みます">
<!ENTITY enigmail.importMissingKeys.accesskey "I">
<!ENTITY enigmail.refreshKeys.label "鍵リストの更新">
<!ENTITY enigmail.refreshKeys.accesskey "R">
-<!ENTITY enigmail.perRecipientsOption.label "受け取り人毎のルールの作成">
+<!ENTITY enigmail.perRecipientsOption.label "受取人ごとのルールの作成">
-<!ENTITY enigmail.experimental.label "PGP/MIMEに対してインライン暗号化/署名機能(開発中)を使用">
+<!ENTITY enigmail.experimental.label "PGP/MIME に対して開発中のインライン暗号化/署名機能を使用">
<!ENTITY enigmail.enigmailAttachDesc.label "このメッセージには添付ファイルがあります。暗号化および署名しますか?">
-<!ENTITY enigmail.enigEncryptAttachNone.label "メッセージ本文だけ暗号化/署名し、添付ファイルはなにもしません">
-<!ENTITY enigmail.enigEncryptAttachInline.label "添付ファイルは個別に暗号化し、インラインPGPを使用してメッセージを送信します">
-<!ENTITY enigmail.enigEncryptAttachPgpMime.label "メッセージ全体を暗号化/署名し、PGP/MIMEを使用して送信します">
-<!ENTITY enigmail.encryptAttachSkipDlg.label "選択したメソッドを全ての添付に適用します">
+<!ENTITY enigmail.enigEncryptAttachNone.label "メッセージ本文だけ暗号化・署名し、添付ファイルはなにもしない">
+<!ENTITY enigmail.enigEncryptAttachInline.label "添付ファイルは個別に暗号化し、インライン PGP を使用してメッセージを送信する">
+<!ENTITY enigmail.enigEncryptAttachPgpMime.label "メッセージ全体を暗号化/署名し、PGP/MIMEを使用して送信する">
+<!ENTITY enigmail.encryptAttachSkipDlg.label "選択したメソッドをすべての添付に適用する">
<!ENTITY enigmail.ctxDecryptOpen.label "復号して開く">
<!ENTITY enigmail.ctxDecryptSave.label "復号して名前をつけて保存">
-<!ENTITY enigmail.ctxImportKey.label "OpenPGP鍵をインポート">
+<!ENTITY enigmail.ctxImportKey.label "OpenPGP鍵を読み込む">
<!ENTITY enigmail.ctxDecryptOpen.accesskey "D">
<!ENTITY enigmail.ctxDecryptSave.accesskey "C">
<!ENTITY enigmail.ctxImportKey.accesskey "I">
-<!ENTITY enigmail.amPrefTitle.label "OpenPGP オプション (Enigmail)">
-<!ENTITY enigmail.amPrefDesc.label "OpenPGPによるメッセージの暗号化/署名のサポートは、Enigmailにより提供されています。この機能を使用するには前もってGnuPG (gpg)をインストールする必要があります。">
-<!ENTITY enigmail.amPrefEnablePgp.label "このIDに対してOpenPGP(enigmail)を有効にする">
-<!ENTITY enigmail.amPrefUseFromAddr.label "このアカウントの電子メールアドレスをOpenPGPの識別に使用">
-<!ENTITY enigmail.amPrefUseKeyId.label "指定したOpenPGP鍵ID(例:0x1234ABCD)を使用:">
+<!ENTITY enigmail.amPrefTitle.label "OpenPGP オプション(Enigmail)">
+<!ENTITY enigmail.amPrefDesc.label "OpenPGP によるメッセージの暗号化/署名のサポートは Enigmail により提供されています。この機能を使用するには前もって GnuPG (gpg)をインストールする必要があります。">
+<!ENTITY enigmail.amPrefEnablePgp.label "この ID に対して OpenPGP (enigmail)を有効にする">
+<!ENTITY enigmail.amPrefUseFromAddr.label "このアカウントの電子メールアドレスを OpenPGP の識別に使用">
+<!ENTITY enigmail.amPrefUseKeyId.label "指定した OpenPGP鍵ID (例: 0x1234ABCD)を使用:">
<!ENTITY enigmail.amPrefSelectKey.label "鍵の選択...">
<!ENTITY enigmail.amPrefDefaultEncrypt.label "メッセージ作成時のデフォルトオプション">
<!ENTITY enigmail.encryptionDlg.label "OpenPGP 暗号化および署名設定">
@@ -298,12 +299,12 @@
<!ENTITY enigmail.encDlgEncrypt.accesskey "E">
<!ENTITY enigmail.encDlgSign.label "メッセージの署名">
<!ENTITY enigmail.encDlgSign.accesskey "S">
-<!ENTITY enigmail.encDlgPgpMime.label "PGP/MIMEを使用">
+<!ENTITY enigmail.encDlgPgpMime.label "PGP/MIME を使用">
<!ENTITY enigmail.encDlgPgpMime.accesskey "U">
-<!ENTITY enigmail.amPrefPgpHeader.label "OpenPGPヘッダをメールに追加">
-<!ENTITY enigmail.amPrefPgpHeader.none.label "OpenPGPヘッダをメールに追加しない">
-<!ENTITY enigmail.amPrefPgpHeader.id.label "OpenPGP鍵IDをヘッダに追加">
-<!ENTITY enigmail.amPrefPgpHeader.url.label "鍵を検索するURLをヘッダに追加:">
+<!ENTITY enigmail.amPrefPgpHeader.label "OpenPGP ヘッダをメールに追加">
+<!ENTITY enigmail.amPrefPgpHeader.none.label "OpenPGP ヘッダをメールに追加しない">
+<!ENTITY enigmail.amPrefPgpHeader.id.label "OpenPGP鍵ID をヘッダに追加">
+<!ENTITY enigmail.amPrefPgpHeader.url.label "鍵を検索する URL をヘッダに追加:">
<!ENTITY enigmail.retrieveKey.label "鍵を取得">
<!ENTITY enigmail.progressText.label "実行中:">
@@ -316,7 +317,7 @@
<!ENTITY enigmail.pgpSecurityInfo.label "OpenPGP セキュリティ情報 ...">
<!ENTITY enigmail.copySecurityInfo.label "OpenPGP セキュリティ情報をコピー">
-<!ENTITY enigmail.showPhoto.label "OpenPGP Photo IDを表示">
+<!ENTITY enigmail.showPhoto.label "OpenPGPフォトID を表示">
<!ENTITY enigmail.signSenderKey.label "鍵に署名 ...">
<!ENTITY enigmail.trustSenderKey.label "所有者の信用を付与 ...">
<!ENTITY enigmail.signSenderKeyPopup.label "送信者の鍵に署名 ...">
@@ -332,7 +333,7 @@
<!ENTITY enigmail.action.label "動作">
<!ENTITY enigmail.nextRule.label "当てはまるアドレスについては、次のルールを続いて適用">
<!ENTITY enigmail.nextAddress.label "当てはまるアドレスについては、これ以上のルールを適用しない">
-<!ENTITY enigmail.useKeys.label "以下のOpenPGP鍵を使用する:">
+<!ENTITY enigmail.useKeys.label "以下の OpenPGP鍵を使用する:">
<!ENTITY enigmail.selKeysButton.accesskey "S">
<!ENTITY enigmail.setDefaultsFor.label "各動作のデフォルト設定 ...">
<!ENTITY enigmail.encryption.label "暗号化">
@@ -340,8 +341,8 @@
<!ENTITY enigmail.never.label "常にしない">
<!ENTITY enigmail.always.label "常にする">
<!ENTITY enigmail.maybe.label "メッセージ作成時に選択されていたらする">
-<!ENTITY enigmail.singleRcptSettings.desc "(注意: もし矛盾が発生したら、「常にしない」が「常にする」より優先されます)">
-<!ENTITY enigmail.ruleEmail.label "OpenPGPルールの設定">
+<!ENTITY enigmail.singleRcptSettings.desc "(注意: もし矛盾が発生したら「常にしない」が「常にする」より優先されます)">
+<!ENTITY enigmail.ruleEmail.label "OpenPGP ルールの設定">
<!ENTITY enigmail.ruleEmail.tooltip "電子メールアドレスだけを入力してください。受取人の名前は含めないでください。\nすなわち '日本 太郎 <taro.nippon@address.net>' は無効です。">
<!ENTITY enigmail.sepratationDesc.label "(複数のメールアドレスは、スペースで区切って入力してください)">
<!ENTITY enigmail.matchDescStart.label "受取人が上記アドレス">
@@ -352,7 +353,7 @@
<!ENTITY enigmail.matchEnd.label "で終わる">
<!ENTITY enigmail.not.label "Not">
-<!ENTITY enigmail.rulesEditor.label "OpenPGP - 受取人毎のルール設定">
+<!ENTITY enigmail.rulesEditor.label "OpenPGP - 受取人ごとのルール設定">
<!ENTITY enigmail.email.label "電子メール">
<!ENTITY enigmail.pgpKeys.label "OpenPGP鍵">
<!ENTITY enigmail.sign.label "署名">
@@ -372,7 +373,7 @@
<!ENTITY enigmail.clearSearch.accesskey "C">
<!ENTITY enigmail.searchKeyDlg.label "OpenPGP鍵をダウンロード">
-<!ENTITY enigmail.searchKeyDlgCapt.label "鍵が見つかりました - 取り込むものを選択してください">
+<!ENTITY enigmail.searchKeyDlgCapt.label "鍵の検索結果の表示 - 読み込む鍵を選択してください">
<!ENTITY enigmail.created.label "作成日">
<!ENTITY enigmail.valid.label "有効">
@@ -387,8 +388,8 @@
<!ENTITY enigmail.sKeyDlg.notChecked.label "全くチェックしていません">
<!ENTITY enigmail.sKeyDlg.casualCheck.label "一応チェックしました">
<!ENTITY enigmail.sKeyDlg.carefulCheck.label "注意深くチェックしました">
-<!ENTITY enigmail.sKeyDlg.createLocal.label "ローカルに生成(書き出し不可)">
-<!ENTITY enigmail.sKeyDlg.alreadySigned.label "注意:いくつかの鍵は、署名用に選択した鍵で署名済みかもしれません!">
+<!ENTITY enigmail.sKeyDlg.createLocal.label "ローカル署名(エクスポート不可)">
+<!ENTITY enigmail.sKeyDlg.alreadySigned.label "注意:いくつかの鍵は、署名用に選択した鍵で署名済みかもしれません!">
<!ENTITY enigmail.addUidDlg.title "OpenPGP - ユーザーIDの追加">
<!ENTITY enigmail.addUidDlg.name.label "名前">
@@ -398,11 +399,11 @@
<!ENTITY enigmail.keyTrust.title "OpenPGP - 所有者の信用付与">
<!ENTITY enigmail.keyTrust.trustKey.label "信用する鍵:">
<!ENTITY enigmail.keyTrust.trustLevel.label "どのくらい鍵を信用しますか?">
-<!ENTITY enigmail.keyTrust.dontKnow.label "わからない">
+<!ENTITY enigmail.keyTrust.dontKnow.label "知らない、または何とも言えない">
<!ENTITY enigmail.keyTrust.noTrust.label "信用しない">
-<!ENTITY enigmail.keyTrust.marginalTrust.label "ある程度信用">
-<!ENTITY enigmail.keyTrust.fullTrust.label "十分に信用">
-<!ENTITY enigmail.keyTrust.ultimateTrust.label "究極的に信用">
+<!ENTITY enigmail.keyTrust.marginalTrust.label "ある程度信用する">
+<!ENTITY enigmail.keyTrust.fullTrust.label "完全に信用する">
+<!ENTITY enigmail.keyTrust.ultimateTrust.label "絶対的に信用する">
<!ENTITY enigmail.keyMan.title "OpenPGP鍵の管理">
<!ENTITY enigmail.keyMan.close.label "ウインドウを閉じる">
@@ -415,7 +416,7 @@
<!ENTITY enigmail.keyMan.fileMenu.label "ファイル">
<!ENTITY enigmail.keyMan.editMenu.label "編集">
<!ENTITY enigmail.keyMan.viewMenu.label "表示">
-<!ENTITY enigmail.keyMan.keyserverMenu.label "鍵サーバ">
+<!ENTITY enigmail.keyMan.keyserverMenu.label "鍵サーバー">
<!ENTITY enigmail.keyMan.generateMenu.label "生成">
<!ENTITY enigmail.keyMan.fileMenu.accesskey "F">
@@ -424,9 +425,9 @@
<!ENTITY enigmail.keyMan.keyserverMenu.accesskey "K">
<!ENTITY enigmail.keyMan.generateMenu.accesskey "G">
-<!ENTITY enigmail.keyMan.importFromFile.label "鍵をファイルから取り込む">
+<!ENTITY enigmail.keyMan.importFromFile.label "鍵をファイルから読み込む">
<!ENTITY enigmail.keyMan.importFromServer.label "鍵の検索">
-<!ENTITY enigmail.keyMan.importFromClipbrd.label "クリップボードから鍵を取り込む">
+<!ENTITY enigmail.keyMan.importFromClipbrd.label "クリップボードから鍵を読み込む">
<!ENTITY enigmail.keyMan.exportToFile.label "ファイルへ鍵を書き出す">
<!ENTITY enigmail.keyMan.sendKeys.label "公開鍵をメールで送る">
<!ENTITY enigmail.keyMan.uploadToServer.label "公開鍵をアップロード">
@@ -434,20 +435,20 @@
<!ENTITY enigmail.keyMan.ctxExportToFile.label "鍵をファイルへ書き出す">
<!ENTITY enigmail.keyMan.ctxUploadToServer.label "鍵サーバへ公開鍵をアップロード">
<!ENTITY enigmail.keyMan.ctxCopyToClipbrd.label "公開鍵をクリップボードにコピー">
-<!ENTITY enigmail.keyMan.refreshKey.label "公開鍵をリフレッシュする">
-<!ENTITY enigmail.keyMan.refreshSelKeys.label "選択した公開鍵をリフレッシュする">
-<!ENTITY enigmail.keyMan.refreshAllKeys.label "全ての公開鍵をリフレッシュする">
-<!ENTITY enigmail.keyMan.ctxRefreshKey.label "鍵サーバから公開鍵をリフレッシュ">
+<!ENTITY enigmail.keyMan.refreshKey.label "公開鍵を更新する">
+<!ENTITY enigmail.keyMan.refreshSelKeys.label "選択した公開鍵を更新する">
+<!ENTITY enigmail.keyMan.refreshAllKeys.label "すべての公開鍵を更新する">
+<!ENTITY enigmail.keyMan.ctxRefreshKey.label "鍵サーバから公開鍵を更新">
<!ENTITY enigmail.keyMan.reload.label "鍵キャッシュの再読込">
-<!ENTITY enigmail.keyMan.addUid.label "ユーザIDを追加">
-<!ENTITY enigmail.keyMan.manageUid.label "ユーザIDの設定">
+<!ENTITY enigmail.keyMan.addUid.label "ユーザーIDを追加">
+<!ENTITY enigmail.keyMan.manageUid.label "ユーザーIDの設定">
<!ENTITY enigmail.keyMan.changePwd.label "パスフレーズの変更">
<!ENTITY enigmail.keyMan.delKey.label "鍵を削除">
<!ENTITY enigmail.keyMan.revokeKey.label "鍵を失効させる">
<!ENTITY enigmail.keyMan.keyProps.label "鍵のプロパティ">
<!ENTITY enigmail.keyMan.viewPhoto.label "フォトID">
-<!ENTITY enigmail.keyMan.ctxViewPhoto.label "フォトIDを表示">
+<!ENTITY enigmail.keyMan.ctxViewPhoto.label "フォトID を表示">
<!ENTITY enigmail.keyMan.viewSig.label "署名">
<!ENTITY enigmail.keyMan.ctxViewSig.label "署名を表示">
<!ENTITY enigmail.keyMan.keyType.label "タイプ">
@@ -455,9 +456,9 @@
<!ENTITY enigmail.keyMan.ownerTrust.label "所有者による信用度">
<!ENTITY enigmail.keyMan.stopTransfer.label "信用するのを止める">
<!ENTITY enigmail.keyMan.fingerprint.label "フィンガープリント">
-<!ENTITY enigmail.keyMan.selectAll.label "全ての鍵を選択">
+<!ENTITY enigmail.keyMan.selectAll.label "すべての鍵を選択">
-<!ENTITY enigmail.keyMan.filter.label "次の文字列を含むユーザIDか鍵IDだけを表示:">
+<!ENTITY enigmail.keyMan.filter.label "次の文字列を含むユーザーID か鍵ID だけを表示:">
<!ENTITY enigmail.keyMan.clearFilter.label "クリア">
<!ENTITY enigmail.keyMan.clearFilter.accesskey "C">
@@ -498,16 +499,16 @@
<!ENTITY enigmail.viewKeySigDlg.sigForKey.label "鍵に使用する署名:">
<!ENTITY enigmail.viewKeySigDlg.sigType.label "署名タイプ">
-<!ENTITY enigmail.manageUidDlg.title "主に使うユーザIDの変更">
+<!ENTITY enigmail.manageUidDlg.title "主に使うユーザーIDの変更">
<!ENTITY enigmail.manageUidDlg.affectedKey.label "変更する鍵:">
-<!ENTITY enigmail.manageUidDlg.availableUid.label "利用可能なユーザID:">
+<!ENTITY enigmail.manageUidDlg.availableUid.label "利用可能なユーザーID:">
<!ENTITY enigmail.manageUidDlg.addUid.label "追加">
<!ENTITY enigmail.manageUidDlg.deleteUid.label "削除">
<!ENTITY enigmail.manageUidDlg.revokeUid.label "失効">
<!ENTITY enigmail.manageUidDlg.setPrimary.label "主に使用">
<!ENTITY enigmail.keyDetails.title "鍵のプロパティ">
-<!ENTITY enigmail.keyDetails.userId.label "主に使うユーザID">
+<!ENTITY enigmail.keyDetails.userId.label "主に使うユーザーID">
<!ENTITY enigmail.keyDetails.keyId.label "鍵ID">
<!ENTITY enigmail.keyDetails.ID.label "ID">
<!ENTITY enigmail.keyDetails.keyType.label "タイプ">
@@ -522,7 +523,7 @@
<!ENTITY enigmail.cardDetails.title "OpenPGP スマートカード詳細設定">
<!ENTITY enigmail.cardDetails.cardMenu.label "スマートカード">
-<!ENTITY enigmail.cardDetails.adminPin.label "PINの変更">
+<!ENTITY enigmail.cardDetails.adminPin.label "PIN の変更">
<!ENTITY enigmail.cardDetails.genCardKey.label "鍵の生成">
<!ENTITY enigmail.cardDetails.vendor.label "製造者">
@@ -530,18 +531,11 @@
<!ENTITY enigmail.cardDetails.name.label "名・姓">
<!ENTITY enigmail.cardDetails.lang.label "言語">
<!ENTITY enigmail.cardDetails.sex.label "性別">
-<!ENTITY enigmail.cardDetails.url.label "公開鍵のURL">
-<!ENTITY enigmail.cardDetails.login.label "ログインデータ">
-<!ENTITY enigmail.cardDetails.vendor.label "製造者">
-<!ENTITY enigmail.cardDetails.serial.label "シリアルナンバー">
-<!ENTITY enigmail.cardDetails.name.label "名・姓">
-<!ENTITY enigmail.cardDetails.lang.label "言語">
-<!ENTITY enigmail.cardDetails.sex.label "性別">
-<!ENTITY enigmail.cardDetails.url.label "公開鍵のURL">
+<!ENTITY enigmail.cardDetails.url.label "公開鍵の URL">
<!ENTITY enigmail.cardDetails.login.label "ログインデータ">
-<!ENTITY enigmail.cardDetails.forcepin.label "署名時のPIN認証">
-<!ENTITY enigmail.cardDetails.maxpinlen.label "PINの最大文字数">
-<!ENTITY enigmail.cardDetails.pinretry.label "残りPIN入力可能回数">
+<!ENTITY enigmail.cardDetails.forcepin.label "署名時の PIN 認証">
+<!ENTITY enigmail.cardDetails.maxpinlen.label "PIN の最大文字数">
+<!ENTITY enigmail.cardDetails.pinretry.label "残り PIN 入力可能回数">
<!ENTITY enigmail.cardDetails.sigcount.label "署名回数">
<!ENTITY enigmail.cardDetails.sigKey.label "署名用の鍵">
<!ENTITY enigmail.cardDetails.keyCreated.label "生成日">
@@ -565,119 +559,118 @@
<!ENTITY enigmail.genCardKey.backupKey.label "カードの外に鍵をバックアップする">
<!ENTITY enigmail.genCardKey.desc "<a class='enigmailStrong'>注意: 鍵生成には数分かかることがあります。</a>鍵生成中はアプリケーションを終了しないでください。終了時にはお知らせします。">
-<!ENTITY enigmail.cardPin.title "スマートカードのPINの変更">
+<!ENTITY enigmail.cardPin.title "スマートカードの PIN の変更">
<!ENTITY enigmail.cardPin.action.label "スマートカードの">
-<!ENTITY enigmail.cardPin.changePin.label "PINを変更する">
-<!ENTITY enigmail.cardPin.changeAdmPin.label "管理者PINを変更する">
-<!ENTITY enigmail.cardPin.unblockPin.label "PINのブロックを解除する">
-<!ENTITY enigmail.cardPin.currAdmPin.label "現在の管理者PIN">
-<!ENTITY enigmail.cardPin.newAdminPin.label "新しい管理者PIN">
-<!ENTITY enigmail.cardPin.adminPinRepeat.label "新しい管理者PIN(もう一度)">
-<!ENTITY enigmail.cardPin.currPin.label "現在のPIN">
-<!ENTITY enigmail.cardPin.newPin.label "新しいPIN">
-<!ENTITY enigmail.cardPin.pinRepeat.label "新しいPIN(もう一度)">
+<!ENTITY enigmail.cardPin.changePin.label "PIN を変更する">
+<!ENTITY enigmail.cardPin.changeAdmPin.label "管理者 PIN を変更する">
+<!ENTITY enigmail.cardPin.unblockPin.label "PIN のブロックを解除する">
+<!ENTITY enigmail.cardPin.currAdmPin.label "現在の管理者 PIN">
+<!ENTITY enigmail.cardPin.newAdminPin.label "新しい管理者 PIN">
+<!ENTITY enigmail.cardPin.adminPinRepeat.label "新しい管理者 PIN (もう一度)">
+<!ENTITY enigmail.cardPin.currPin.label "現在の PIN">
+<!ENTITY enigmail.cardPin.newPin.label "新しい PIN">
+<!ENTITY enigmail.cardPin.pinRepeat.label "新しい PIN (もう一度)">
-<!ENTITY enigmail.changePasswd.title "OpenPGPパスフレーズの変更">
+<!ENTITY enigmail.changePasswd.title "OpenPGP パスフレーズの変更">
<!ENTITY enigmail.changePasswd.currPasswd.label "現在のパスフレーズ">
<!ENTITY enigmail.changePasswd.newPasswd.label "新しいパスフレーズ">
-<!ENTITY enigmail.changePasswd.repeatPasswd.label "新しいパスフレーズ(もう一度)">
+<!ENTITY enigmail.changePasswd.repeatPasswd.label "新しいパスフレーズ(もう一度)">
<!ENTITY enigmail.setupWiz.title "OpenPGP セットアップ ウィザード">
<!ENTITY enigmail.setupWiz.yes "はい">
<!ENTITY enigmail.setupWiz.no "いいえ">
-<!ENTITY enigmail.setupWiz.pgWelcome.desc "このウィザードは今すぐOpenPGPを使い始めるお手伝いをします。
+<!ENTITY enigmail.setupWiz.pgWelcome.desc "このウィザードは今すぐ OpenPGP を使い始めるお手伝いをします。
以降のいくつかの画面ですべての項目を設定する為にいくつか質問をします。
<html:br/><html:br/>
全般的に容易にするために、設定に関してある仮定をしています。
これらの仮定は、設定に関して混乱させることなく通常の利用者に対して高度なセキュリティを提供します。
- もちろん、これら全ての設定はウィザード終了後に変更することが出来ます。
- OpenPGPの機能の詳細はヘルプメニューを利用するかもしくは
+ もちろん、これらすべての設定はウィザード終了後に変更することができます。
+ OpenPGP の機能の詳細はヘルプメニューを利用するかもしくは
<a class='enigmailLink'><html:a
- href='http://enigmail.mozdev.org/'>EnigmailのWEBサイト(英語)</html:a></a>を参照してください。
+ href='http://enigmail.mozdev.org/'>Enigmail の WEB サイト(英語)</html:a></a>を参照してください。
<html:br/><html:br/>
もし、このウィザードの使用にあたって何か不都合があれば、どうぞ
<a class='enigmailLink'><html:a
href='mailto:enigmail@mozdev.org'>電子メールで問い合わせ(英語)</html:a></a>をしてください。
<html:br/><html:br/>
- このウィザードは、Enigmailをインストール後の最初の一回のみ利用できます。
- 以後、このウィザードが、もしくはメニューから起動することはありません。
+ このウィザードは、Enigmail をインストール後の最初の一回のみ利用できます。
+ 以後、このウィザードが現れる、もしくはメニューから起動することはありません。
<html:br/><html:br/>
- この度はEnigmail OpenPGPを選択いただきありがとうございます。">
+ この度は Enigmail OpenPGP を選択いただきありがとうございます。">
<!ENTITY enigmail.setupWiz.pgWelcome.startNow "ウィザードを使用して今すぐ設定しますか?">
<!ENTITY enigmail.setupWiz.pgWelcome.yes "はい、ウィザードを使用して利用開始します。">
<!ENTITY enigmail.setupWiz.pgWelcome.no "いいえ、手動で設定します。">
-<!ENTITY enigmail.setupWiz.pgSelectId.title "IDの選択">
-<!ENTITY enigmail.setupWiz.pgSelectId.subtitle "OpenPGPで使用するアカウントもしくはIDの選択">
-<!ENTITY enigmail.setupWiz.pgSelectId.desc "OpenPGPの設定は、アカウントもしくはID毎に設定出来ます。
- デフォルトでOpenPGPはあなたの全てのアカウントおよびIDで動作するように設定します。
- もし、それを望まないのであれば、OpenPGPで使用したい特定のアカウントもしくはIDを以下から選択してください。">
-<!ENTITY enigmail.setupWiz.pgSelectId.allIds "全てのIDに対してOpenPGPを設定します">
-<!ENTITY enigmail.setupWiz.pgSelectId.selectIds "次のIDのみOpenPGPを設定します:">
-<!ENTITY enigmail.setupWiz.pgSelectId.note "<a class='enigmailStrong'>注意:</a> OpenPGP は、有効無効に関わらず全ての
- アカウントもしくはID宛のメールの署名を検証します。">
+<!ENTITY enigmail.setupWiz.pgSelectId.title "ID の選択">
+<!ENTITY enigmail.setupWiz.pgSelectId.subtitle "OpenPGP で使用するアカウントもしくは ID の選択">
+<!ENTITY enigmail.setupWiz.pgSelectId.desc "OpenPGP の設定は、アカウントもしくは ID ごとに設定できます。
+ デフォルトで OpenPGP はあなたのすべてのアカウントおよび ID で動作するように設定します。
+ もし、それを望まないのであれば、OpenPGP で使用したい特定のアカウントもしくは ID を以下から選択してください。">
+<!ENTITY enigmail.setupWiz.pgSelectId.allIds "すべての ID に対して OpenPGP を設定します">
+<!ENTITY enigmail.setupWiz.pgSelectId.selectIds "次の ID にのみ OpenPGP を設定します:">
+<!ENTITY enigmail.setupWiz.pgSelectId.note "<a class='enigmailStrong'>注意:</a> OpenPGP は、有効無効に関わらずすべての
+ アカウントもしくは ID 宛のメールの署名を検証します。">
<!ENTITY enigmail.setupWiz.pgSign.title "署名">
<!ENTITY enigmail.setupWiz.pgSign.subtitle "送信メールへのデジタル署名">
-<!ENTITY enigmail.setupWiz.pgSign.desc "OpenPGP を使用することにより、電子メールにデジタル署名する事が出来ます。これは、手紙にする手書きのサインや署名の電子版のような物であり、第三者が電子メールが送信者本人から来た事に確信を持てます。全ての送信メールに署名をすることは良い習慣と言えます。
+<!ENTITY enigmail.setupWiz.pgSign.desc "OpenPGP を使用することにより、電子メールにデジタル署名をする事ができます。これは、手紙にする手書きのサインや署名の電子版のような物であり、第三者が電子メールが送信者本人から送られた事に確信を持てます。すべての送信メールに署名をすることは良い習慣と言えます。
<html:br/><html:br/>
- 電子メールの署名を検証するためには、OpenPGPが利用可能なメールソフトが必要です。もし、そのようなメールソフトを持っていない場合、それでも電子メールを読むことは出来ますが、署名はただの添付ファイルもしくは本文の周りについた無意味なテキストとして表示される為、受信者によっては困惑するでしょう。ここでは、全ての送信メールを署名するか、特定の受取人に対して署名をしないか選択出来ます。">
-<!ENTITY enigmail.setupWiz.pgSign.signAllMsg "全ての送信メールをデフォルトで署名しますか?">
-<!ENTITY enigmail.setupWiz.pgSign.yesSign "はい、全ての送信メールに署名します。">
-<!ENTITY enigmail.setupWiz.pgSign.noSign "いいえ、署名が必要なメールには受取人毎の設定を利用して署名します。">
+ 電子メールの署名を検証するためには、OpenPGP が利用可能なメールソフトが必要です。もし、そのようなメールソフトを持っていない場合、それでも電子メールを読むことはできますが、署名はただの添付ファイルもしくは本文の周りについた無意味なテキストとして表示されるため、受取人によっては困惑するでしょう。ここでは、すべての送信メールを署名するか、特定の受取人に対して署名をしないか選択できます。">
+<!ENTITY enigmail.setupWiz.pgSign.signAllMsg "すべての送信メールをデフォルトで署名しますか?">
+<!ENTITY enigmail.setupWiz.pgSign.yesSign "はい、すべての送信メールに署名します">
+<!ENTITY enigmail.setupWiz.pgSign.noSign "いいえ、署名が必要なメールには受取人ごとの設定を利用して署名します">
<!ENTITY enigmail.setupWiz.pgEnc.title "暗号化">
<!ENTITY enigmail.setupWiz.pgEnc.subtitle "送信メールの暗号化">
-<!ENTITY enigmail.setupWiz.pgEnc.desc "OpenPGP を使用することにより、電子メール本文及び添付ファイルを暗号化する事が出来ます。
- 暗号化は、手紙を封筒の中に入れるような物です。これにより、非公開にすることが出来ます。
+<!ENTITY enigmail.setupWiz.pgEnc.desc "OpenPGP を使用することにより、電子メール本文及び添付ファイルを暗号化する事ができます。
+ 暗号化は、手紙を封筒の中に入れるような物です。これにより、非公開にすることができます。
つまり暗号化は秘密のメッセージだけに使用するのではなく、
- はがきで送りたく無いような全てのメッセージに対しても利用可能です。
+ はがきで送りたくないようなすべてのメッセージに対しても利用可能です。
<html:br/><html:br/>
技術的には暗号化は、南京錠のように働き、受取人のみが鍵を持っているような物です。
- 署名と異なり、暗号化を使用するためには全ての受取人がOpenPGPを使用する必要があります。
- また、メールを送信する前に全ての受取人の公開鍵を入手しておく必要があります
- (公開鍵は先の南京錠の施錠用鍵となります)。
+ 署名と異なり、暗号化を使用するためにはすべての受取人が OpenPGP を使用する必要があります。
+ また、メールを送信する前にすべてての受取人の公開鍵を入手しておく必要があります
+ (公開鍵は先の南京錠の施錠用の鍵となります)。
<html:br/><html:br/>
- もし、ほとんどの連絡相手の公開鍵が無ければ、デフォルトで暗号化するのは避けた方が良いでしょう。">
+ もし、ほとんどの連絡相手の公開鍵がなければ、デフォルトで暗号化するのは避けた方が良いでしょう。">
<!ENTITY enigmail.setupWiz.pgEnc.encryptAllMsg "デフォルトで送信メールを暗号化しますか?">
<!ENTITY enigmail.setupWiz.pgEnc.yesEncrypt "はい、ほとんどの受取人の公開鍵を入手済みです">
-<!ENTITY enigmail.setupWiz.pgEnc.noEncrypt "いいえ、公開鍵を入手している受取人毎にルールを設定をします。">
+<!ENTITY enigmail.setupWiz.pgEnc.noEncrypt "いいえ、公開鍵を入手している受取人ごとにルールを設定をします">
<!ENTITY enigmail.setupWiz.pgSettings.title "設定">
-<!ENTITY enigmail.setupWiz.pgSettings.subtitle "OpenPGPがより正確に動作するための電子メールの設定">
-<!ENTITY enigmail.setupWiz.pgSettings.desc "このウィザードでは、お使いのPCで署名および暗号化が正しく動作するように、電子メールの設定を変える事が出来ます。
+<!ENTITY enigmail.setupWiz.pgSettings.subtitle "OpenPGP がより正確に動作するための電子メールの設定">
+<!ENTITY enigmail.setupWiz.pgSettings.desc "このウィザードでは、お使いの PC で署名および暗号化が正しく動作するように、電子メールの設定を変える事ができます。
これらの設定は、おそらく注意を払われることのない技術的なことがほとんどですが、
- 一つ重要な設定として、デフォルトで(HTML形式ではなく)テキスト形式でメールを作成する事が挙げられます。">
-<!ENTITY enigmail.setupWiz.pgSettings.changePref "お使いのPCでOpenPGPがより正確に動作させるために、いくつかのデフォルト設定を変更しますか?">
+ 一つ重要な設定として、デフォルトで(HTML形式ではなく)テキスト形式でメールを作成する事があげられます。">
+<!ENTITY enigmail.setupWiz.pgSettings.changePref "お使いの PC で OpenPGP がより正確に動作するように、いくつかのデフォルト設定を変更しますか?">
<!ENTITY enigmail.setupWiz.pgSettings.details "詳細...">
<!ENTITY enigmail.setupWiz.pgKeySel.title "鍵の選択">
-<!ENTITY enigmail.setupWiz.pgKeySel.subtitle "電子メールを署名/暗号化に使用する鍵の選択">
-<!ENTITY enigmail.setupWiz.pgKeySel.desc "OpenPGP鍵を既にお持ちのようです。電子メールの署名・暗号化にそれらをご利用していただくことも、
- 新規に作成する事も出来ます。
- ">
+<!ENTITY enigmail.setupWiz.pgKeySel.subtitle "電子メールを署名・暗号化に使用する鍵の選択">
+<!ENTITY enigmail.setupWiz.pgKeySel.desc "OpenPGP鍵を既にお持ちのようです。電子メールの署名/暗号化にそれらをご利用していただくことも、
+ 新規に作成する事もできます。">
<!ENTITY enigmail.setupWiz.pgKeySel.createKey "新規に鍵のペアを作成しますか?">
-<!ENTITY enigmail.setupWiz.pgKeySel.newKey "電子メール署名・暗号化に使用する鍵のペアを新規に作成します。">
-<!ENTITY enigmail.setupWiz.pgKeySel.useExistingKey "電子メール署名・暗号化に使用する鍵のペアを以下から選択します:">
+<!ENTITY enigmail.setupWiz.pgKeySel.newKey "電子メール署名/暗号化に使用する鍵のペアを新規に作成します">
+<!ENTITY enigmail.setupWiz.pgKeySel.useExistingKey "電子メール署名/暗号化に使用する鍵のペアを以下から選択します:">
<!ENTITY enigmail.setupWiz.pgKeyCreate.title "鍵の生成">
<!ENTITY enigmail.setupWiz.pgKeyCreate.subtitle "電子メールの署名/暗号化に使用する鍵の生成">
-<!ENTITY enigmail.setupWiz.pgKeyCreate.desc1 "電子メールを暗号化もしくは、暗号化された電子メールを読むためには、鍵のペアが必要です。
+<!ENTITY enigmail.setupWiz.pgKeyCreate.desc1 "電子メールの暗号化もしくは、暗号化された電子メールを読むためには、鍵のペアが必要です。
鍵のペアとは、公開鍵と秘密鍵の二つです。">
-<!ENTITY enigmail.setupWiz.pgKeyCreate.desc2 "公開鍵は全ての電子メールをやりとりする人に公開する必要があります。公開鍵によって、受取人が署名を検証したり、メールを暗号化して送付してもらうことが出来ます。
+<!ENTITY enigmail.setupWiz.pgKeyCreate.desc2 "公開鍵はすべての電子メールをやりとりする人に公開する必要があります。公開鍵によって、受取人が署名を検証したり、メールを暗号化して送付してもらうことができます。
その一方、秘密鍵は非公開にしなければなりません。どこかへやったり、保護されていないところへ放っておいてはいけません。
そのような事をすると、暗号化して送付された電子メールを第三者に読まれてしまいますし、またあなたになりすまして誰かが電子メールを送信する事も可能となってしまいます。
- 非公開である故、パスフレーズによって保護されます。">
+ 非公開であるため、パスフレーズによって保護されます。">
<!ENTITY enigmail.setupWiz.pgKeyCreate.passRepeat "確認のため、もう一度パスフレーズを入力してください">
<!ENTITY enigmail.setupWiz.pgSummary.title "要約">
-<!ENTITY enigmail.setupWiz.pgSummary.subtitle "ウィザードは以下の設定を反映しようとしています。確認してください。">
+<!ENTITY enigmail.setupWiz.pgSummary.subtitle "ウィザードは以下の設定を反映しようとしています。確認してください">
<!ENTITY enigmail.setupWiz.pgSummary.desc "設定はほとんど終了しました。「次へ」ボタンをクリックすると、ウィザードは以下の事を行います:">
<!ENTITY enigmail.setupWiz.pgKeygen.title "鍵の生成">
<!ENTITY enigmail.setupWiz.pgKeygen.subtitle "現在、鍵を生成中です">
<!ENTITY enigmail.setupWiz.pgComplete.title "お疲れさまでした">
-<!ENTITY enigmail.setupWiz.pgComplete.desc "OpenPGP が利用可能となりました。<html:br/><html:br/>この度は、Enigmailをご利用いただきありがとうございます。">
+<!ENTITY enigmail.setupWiz.pgComplete.desc "OpenPGP が利用可能となりました。<html:br/><html:br/>この度は、Enigmail をご利用いただきありがとうございます。">
<!ENTITY enigmail.setupWiz.details.title "設定">
<!ENTITY enigmail.setupWiz.details.subtitle "アプリケーションの設定を変更">
-<!ENTITY enigmail.setupWiz.details.imapOnDemand "MIMEパートの個別ダウンロード機能(IMAP)を無効">
+<!ENTITY enigmail.setupWiz.details.imapOnDemand "MIME パートの個別ダウンロード機能(IMAP)を無効">
<!ENTITY enigmail.setupWiz.details.changingPrefs "この設定ウィザードは以下の設定を変更します:">
<!ENTITY enigmail.setupWiz.details.noFlowedMsg "flowed text (RFC 2646)を無効にする">
<!ENTITY enigmail.setupWiz.details.viewAsPlain "テキストとしてメッセージ本文を表示する">
-<!ENTITY enigmail.setupWiz.details.8bitEncoding "送信メッセージを8ビットでエンコーディングする">
-<!ENTITY enigmail.setupWiz.details.noComposeHTML "メッセージ作成にHTML形式を使用しない">
+<!ENTITY enigmail.setupWiz.details.8bitEncoding "送信メッセージを 8 ビットでエンコーディングする">
+<!ENTITY enigmail.setupWiz.details.noComposeHTML "メッセージ作成に HTML 形式を使用しない">
<!ENTITY enigmail.setupWiz.pgNoStart.title "ウィザードを中止">
-<!ENTITY enigmail.setupWiz.pgNoStart.desc "OpenPGPの設定にウィザードを使用致しません。
- <html:br/><html:br/>この度は、Enigmailをご利用いただきありがとうございます。">
+<!ENTITY enigmail.setupWiz.pgNoStart.desc "OpenPGP の設定にウィザードを使用しません。
+ <html:br/><html:br/>この度は、Enigmail をご利用いただきありがとうございます。">
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/enigmail.properties
^
|
@@ -13,106 +13,105 @@
dlgKeepSetting=設定を保存し、次回から尋ねない
dlgNoPrompt=次回からこのダイアログを表示しない
-configNow=バージョン %S のenigmailを直ちに設定しますか?
-configEnigmail=Enigmailを設定しますか?
+configNow=バージョン %S の Enigmail を直ちに設定しますか?
+configEnigmail=Enigmail を設定しますか?
repeatPrefix=\n\nこの警告は %S
repeatSuffixSingular=回繰り返されます。
repeatSuffixPlural=回繰り返されます。
-noRepeat=\n\nEnigmailをアップグレードするまで、この警告は繰り返されません。
+noRepeat=\n\nEnigmail をアップグレードするまで、この警告は繰り返されません。
noLogDir=ログファイルを作るためには、詳細設定の「ログディレクトリ」を設定してください。
noLogFile=ログファイルはまだ作られていません!
-restartForLog=ログファイルを作るためには、アプリケーションをを再起動してください。
-pgpNotSupported=EnigmailをPGP 6.xと共に使用しています。\n\n 残念ながら、 PGP 6.xはEnigmailを誤動作させる問題を多数抱えています。その為、EnigmailはPGP 6.xをもはやサポートしていません。GnuPG (GPG)を代わりに使用してください。\nもし、GnuPGへの切り替えにヘルプが必要でしたら、Enigmailのホームページのhelpを参照してください。
-avoidInitErr=以後この警告を恒久的に表示しない為には、問題を修正するか、Enigmail->PreferencesメニューからEnigmailをアンインストールしてください。
+restartForLog=ログファイルを作るためには、アプリケーションを再起動してください。
+pgpNotSupported=Enigmail を PGP 6.x と共に使用しています。\n\n残念ながら、PGP 6.x は Enigmail を誤動作させる問題を多数抱えています。その為、Enigmail は PGP 6.x をサポートしていません。GnuPG (GPG)を代わりに使用してください。\nもし、GnuPG への切り替えにヘルプが必要でしたら、Enigmail のホームページのヘルプを参照してください。
+avoidInitErr=以後この警告を恒久的に表示しないためには、問題を修正するか、Enigmail -> Preferences メニューから Enigmail をアンインストールしてください。
passphraseCleared=パスフレーズを消去しました
-keyGeneration=OpenPGP鍵生成
+keyGeneration=OpenPGP 鍵生成
noPhotoAvailable=写真がありません
# Strings in enigmailAbout.js
-usingVersion=実行中のEnigmail は、バージョン %S です。
-versionWarning=注意:Enigmimeバージョン %S は互換性がありません
-enigmimeWarning=注意: Enigmimeモジュールが有効でありません
+usingVersion=実行中の Enigmail は、バージョン %S です。
+versionWarning=注意:Enigmime バージョン %S は互換性がありません
+enigmimeWarning=注意: Enigmime モジュールが有効でありません
-usingAgent= %S は %S を用いて暗号化/復号をしています。
-agentError=エラー: Enigmimeサービスにアクセスできませんでした!
+usingAgent= %S は %S を用いて暗号化・復号をしています。
+agentError=エラー: Enigmime サービスにアクセスできませんでした!
# Strings in enigmailKeygen.js
-accessError=Enigmailサービスにアクセスできませんでした。
-onlyGPG=鍵の生成はGnuPGでのみ利用できます。(PGPでは動作しません!)
+accessError=Enigmail サービスにアクセスできませんでした。
+onlyGPG=鍵の生成は GnuPG でのみ利用できます(PGP では動作しません!)。
-keygenComplete=鍵の生成が終了しました。<%S>が署名に利用されます。
-revokeCertRecommended=失効証明書を作成することを強く推奨します。失効証明書は鍵を無効にしたい時、例えば、秘密鍵を無くした時や、信用を失った時に利用できます。そのような失効証明書を今作成しますか?
+keygenComplete=鍵の生成が終了しました。<%S> が署名に利用されます。
+revokeCertRecommended=失効証明書を作成することを強く推奨します。失効証明書は鍵を無効にしたい時、例えば、秘密鍵をなくした時や、信用を失った時に利用できます。そのような失効証明書を今作成しますか?
genCompleteNoSign=鍵の生成が終了しました。
genGoing=鍵の生成が既に実行中です。
passNoMatch=パスフレーズが一致しませんでした。再度入力してください。
passCheckBox=鍵に対してパスフレーズを設定しない場合は、チェックしてください。
-passUserName=ユーザ名をこのIDに指定してください。
+passUserName=ユーザ名をこの ID に指定してください。
passCharProblem=パスフレーズに特殊記号を使用しています。残念ながら、他のアプリケーションでトラブルの元となります。パスフレーズは、次の文字を使用して設定してください:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
changePassFailed=パスフレーズの変更に失敗しました
removePassphrase=新しいパスフレーズを生成せずに現在のパスフレーズを削除しますか?
-keyConfirm='%S'の公開鍵と秘密鍵を生成しますか?
+keyConfirm='%S' の公開鍵と秘密鍵を生成しますか?
keyAbort=鍵の生成を中止しますか?
-expiryTooLong=100年以上の有効期間がある鍵は生成出来ません。
-expiryTooShort=鍵は少なくとも1日間は有効でなければなりません。
-keyGenFailed=鍵の生成に失敗しました。詳細は、Enigmailのコンソール(メニュー OpenPGP > OpenPGPのデバッグ)を確認してください。
-keyGenNoPassphrase=no password
+expiryTooLong=100 年以上の有効期間がある鍵は生成できません。
+expiryTooShort=鍵は少なくとも 1 日間は有効でなければなりません。
+keyGenFailed=鍵の生成に失敗しました。詳細は、Enigmail のコンソール(メニュー OpenPGP -> OpenPGP のデバッグ)を確認してください。
+keyGenNoPassphrase=パスフレーズ未設定
# Strings in enigmailMessengerOverlay.js
pubKeyNeeded=署名の検証には公開鍵が必要です。
-keyImport=\n\n鍵サーバから公開鍵 %S をインポートしますか?。
+keyImport=\n\n鍵サーバーから公開鍵 %S をインポートしますか?。
keyImportError=公開鍵をインポートできませんでした\n\n
securityInfo=OpenPGP セキュリティ情報\n\n
enigHeader=Enigmail:
-enigNote=Note from OpenPGP: このメッセージの添付は署名や暗号化されていません。
-enigContentNote=OpenPGP: *このメッセージの添付は署名や暗号化されていません。*\r\n\r\n
-possiblyPgpMime=おそらく PGP/MIME で暗号化もしくは署名されています。復号ボタンを押してください
+enigNote=OpenPGP: このメッセージの添付ファイルは署名や暗号化されていません。
+enigContentNote=OpenPGP: *Attachments to this message have not been signed or encrypted*\r\n\r\n
+possiblyPgpMime=おそらく PGP/MIME で暗号化もしくは署名されています。復号ボタンを押してください。
noDecrypted=保存すべき復号したメッセージがありません!\nファイルメニューから保存を選択してください。
noMessage=保存するメッセージがありません!
-useButton=復号するには復号ボタンをクリックしてください
+useButton=復号するには復号ボタンをクリックしてください。
saveHeader=Enigmail: 復号したメッセージの保存
saveAttachmentHeader=Enigmail: 復号した添付ファイルを保存
-noTempDir=書き込み可能なテンポラリディレクトリが見つかりません。\n環境変数TEMPを適した場所に設定してください。
-attachmentPgpKey=開こうとした添付ファイル'%S'は、OpenPGP鍵ファイルのようです。\n\n鍵をインポートするにはYesをクリックしてください。Noをクリックするとブラウザウインドウで中身を確認できます。
+noTempDir=書き込み可能なテンポラリディレクトリが見つかりません。\n環境変数 TEMP を適した場所に設定してください。
+attachmentPgpKey=開こうとした添付ファイル'%S'は、OpenPGP鍵ファイルのようです。\n\n鍵をインポートするには Yes をクリックしてください。No をクリックするとブラウザウインドウで中身を確認できます。
beginPgpPart=********* *BEGIN ENCRYPTED or SIGNED PART* *********
endPgpPart=********** *END ENCRYPTED or SIGNED PART* **********
notePartEncrypted=OpenPGP: * Parts of the message have NOT been signed or encrypted*
noteCutMessage=OpenPGP: *Multiple message blocks found -- decryption/verification aborted*
-
decryptOkNoSig=警告\n\n復号に成功しましたが、署名は正しく検証できませんでした。
contAnyway=それでも続行しますか?
-noPgpMessage=メッセージはOpenPGPで署名も暗号化もされていません
+noPgpMessage=メッセージは OpenPGP で署名も暗号化もされていません
# Strings in enigmailMsgComposeOverlay.js
-keysToExport=エクスポートするOpenPGP鍵のユーザID(電子メールアドレス)
-keysToUse=%S に使用するOpenPGP鍵を選択してください。
+keysToExport=エクスポートする OpenPGP鍵のユーザーID (電子メールアドレス)
+keysToUse=%S に使用する OpenPGP鍵を選択してください。
pubKey=%Sの公開鍵 \n
windowLocked=作成画面がロックされています。送信は失敗しました
-sendUnencrypted=Enigmailの初期化に失敗しました。\n何もしないで平文を送信しますか?
-composeSpecifyEmail=主に使う電子メールアドレスを決めてください。それは送信メッセージを署名する際に使用されます。\n 空白にした場合、差出人アドレスが署名をする際の鍵のIDとして使用されます。
-sendingBCC=このメッセージはBCC (blind copy)での受取人が含まれています。このメッセージを暗号化した場合、すべての受取人は暗号化鍵のリストをチェックすることによりBCCでの受取人のIDを確認できるので、秘密の漏洩につながります。\n\n 構わない場合は、YESを押して先に進んでください。もしくは、NOを押して送信を中止してください。
+sendUnencrypted=Enigmail の初期化に失敗しました。\n何もしないで平文を送信しますか?
+composeSpecifyEmail=主に使う電子メールアドレスを決めてください。それは送信メッセージを署名する際に使用されます。\n空白にした場合、差出人アドレスが署名をする際の鍵の ID として使用されます。
+sendingBCC=このメッセージは BCC (blind copy)での受取人が含まれています。このメッセージを暗号化した場合、すべての受取人は暗号化鍵のリストをチェックすることにより BCC での受取人の ID を確認できるので秘密の漏洩につながります。\n\n構わない場合は、YES を押して先に進んでください。もしくは、NO を押して送信を中止してください。
sendingNews=暗号化送信は中断しました。\n\nニュースグループの受取人が含まれているため暗号化できませんでした。暗号化せずに再度このメッセージを送信してください。
-noPGPMIME=PGP/MIMEは使用できません!\n インラインPGPを署名および暗号化に使用しますか?
-hasHTML=HTMLメールの警告:\nこのメッセージはHTMLを含むと思われますが、その場合、署名/暗号化に失敗することがあります。今後にわたり回避するためには、署名付きメールを送るときには、作成/返信ボタンをSHIFTキーを押しながらクリックしてください。\n もしデフォルトで署名にしている場合は、このメールアカウントの設定で「HTML形式でメッセージを作成する」のチェックボックスからチェックをはずし、恒久的にHTMLメールを作成しないようにしてください。
-strippingHTML=メッセージに含まれるHTML形式は、署名/暗号化する時にプレーンテキストに変換されるために、失われます。それでも続けますか?
+noPGPMIME=PGP/MIME は使用できません!\nインライン PGP を署名および暗号化に使用しますか?
+hasHTML=HTML メールの警告:\nこのメッセージは HTML を含むと思われますが、その場合、署名/暗号化に失敗することがあります。今後にわたり回避するためには、署名付きメールを送るときには作成/返信ボタンを SHIFT キーを押しながらクリックしてください。\nもしデフォルトで署名にしている場合は、このメールアカウントの設定で「HTML 形式でメッセージを作成する」のチェックボックスからチェックをはずし、恒久的に HTML メールを作成しないようにしてください。
+strippingHTML=メッセージに含まれる HTML 形式は、署名・暗号化する時にプレーンテキストに変換されるために、失われます。それでも続けますか?
attachWarning=このメッセージに添付しようとしているのはローカルファイルではないので、暗号化できません。添付ファイルを暗号化するためには、まずローカルファイルとして保存してから添付してください。構わず次へ進みますか?
savingMessage=保存する前にこのメッセージを暗号化しますか?
-quotedPrintableWarn=Quoted-Printable MIME エンコーディングが送信メッセージに対して有効になっています。 これにより、暗号化や、署名の検証の動作に悪影響を及ぼす可能性があります。\n今すぐQuoted-Printable MIME エンコーディングを無効にしますか?
-minimalLineWrapping=%S 文字で改行する設定になっています。正しい暗号化及び署名には、少なくとも68文字で改行する必要があります。\n今すぐ改行文字数を68へ変更しますか?
+quotedPrintableWarn=Quoted-Printable MIME エンコーディングが送信メッセージに対して有効になっています。 これにより、暗号化や、署名の検証の動作に悪影響を及ぼす可能性があります。\n今すぐ Quoted-Printable MIME エンコーディングを無効にしますか?
+minimalLineWrapping=%S 文字で改行する設定になっています。正しい暗号化及び署名には、少なくとも 68 文字で改行する必要があります。\n今すぐ改行文字数を 68 へ変更しますか?
warning=警告
-signIconClicked=署名を手動で変更しました。これにより、このメッセージの作成中は、署名をする・しないの設定は、暗号化する・しないの設定に依存しません。
+signIconClicked=署名を手動で変更しました。これにより、このメッセージの作成中は、署名をする/しないの設定に依存しません。
sendAborted=送信が中断されました\n\n
-statPGPMIME=PGP/MIMEの
+statPGPMIME=PGP/MIME の
statSigned=署名付き
statEncrypted=暗号化
statPlain=何もしない平文の
@@ -121,19 +120,19 @@
onlineSend=%S メッセージを %S へ送信しますか?
offlineNote=オフラインです。下書きフォルダにメッセージを保存しますか?
-encryptKeysNote=注意: メッセージは次のユーザ、鍵で暗号化されます。: %S
+encryptKeysNote=注意: メッセージは次のユーザー、鍵で暗号化されます。: %S
signFailed=Enigmailエラー; 暗号化/署名に失敗しました。何もしないで平文を送信しますか?
-acctNotConfigured=このIDについてOpenPGP(Enigmail)の設定がされていないようです。\n平文のまま(暗号化しないで)送信しますか?
+acctNotConfigured=この ID について OpenPGP (Enigmail)の設定がされていないようです。\n平文のまま(暗号化しないで)送信しますか?
recipientsSelectionHdr=暗号化のための受取人を指定してください。
-configureNow=このIDに対してOpenPGP security (Enigmail)がまだ設定されていません。今すぐ設定しますか?
+configureNow=この ID に対して OpenPGP セキュリティ(Enigmail)がまだ設定されていません。今すぐ設定しますか?
signYes=メッセージを署名します
signNo=メッセージを署名しません
encryptYes=メッセージを暗号化します
encryptNo=メッセージを暗号化しません
-rulesConflict=受取人毎のルールに矛盾があります。\n%S\n\nこれらの設定でメッセージを送信しますか?
+rulesConflict=受取人ごとのルールに矛盾があります。\n%S\n\nこれらの設定でメッセージを送信しますか?
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=公開鍵 %S が署名の検証に必要です
@@ -151,8 +150,8 @@
msgEncrypted=暗号化
msgSignedAndEnc=署名かつ暗号化
-reloadImapMessage=復号/検証するために完全なIMAPメッセージを再読込しますか?
-reloadImapError=エラー - IMAP メッセージが復号/検証するには大きすぎます。
+reloadImapMessage=復号・検証するために完全な IMAP メッセージを再読込しますか?
+reloadImapError=エラー - IMAP メッセージが復号・検証するには大きすぎます。
unverifiedSig=検証できない署名です
incompleteDecrypt=復号が完了しませんでした。
@@ -160,92 +159,91 @@
needKey=エラー - メッセージの復号に必要な鍵を選択してください。
failedDecrypt=エラー - 復号に失敗しました。
badPhrase=エラー - 無効なパスフレーズです。
-failedDecryptVerify=エラー - 復号/検証に失敗しました。
-viewInfo=; 詳細は、表示 > メッセージのセキュリティに関する情報 を確認してください。
+failedDecryptVerify=エラー - 復号・検証に失敗しました。
+viewInfo=; 詳細は、表示 -> メッセージのセキュリティに関する情報 を確認してください。
decryptedMsg=メッセージを復号
# Strings in enigmailNavigatorOverlay.js
-navEncryptError=メッセージの暗号化または/もしくは署名に失敗しました。\n
+navEncryptError=メッセージの暗号化もしくは署名に失敗しました。\n
navDecryptError=メッセージの復号に失敗しました。\n
# Strings in pref-enigmail.js
-uninstallConfirm=EnigMailに関連するすべてのファイルをMozillaコンポーネントおよびchromeディレクトリから削除しますか?\n\n警告: アプリケーションを終了し全てのウインドウをクローズします!\n\n警告:アプリケーションを終了し、すべてのウインドウが閉じます!
-uninstallFailOverlay=Enigmailのcommunicatorディレクトリにあるoverlay RDFファイルの削除に失敗しました。:chorome ディレクトリのjarファイルは削除されません。
+uninstallConfirm=Enigmail に関連するすべてのファイルを Mozilla コンポーネントおよび chrome ディレクトリから削除しますか?
+uninstallFailOverlay=Enigmail の communicator overlay RDF ファイルの削除に失敗しました。; chorome ディレクトリの jar ファイルは削除されません。
uninstallFailDelete=ファイルの削除に失敗しました
-uninstallFail=Enigmailのアンインストールに失敗しました
-uninstallSuccess=Enigmailをアンインストールしました
-testNoSvc=EnigTest: Enigmailサービスにアクセス出来ませんでした。。
+uninstallFail=Enigmail のアンインストールに失敗しました
+uninstallSuccess=Enigmail をアンインストールしました
+testNoSvc=EnigTest: Enigmail サービスにアクセスできませんでした。。
testNoEmail=EnigTest: テスト用のメールアドレスを設定してください。
-testSucceeded=Enigmailは正常に動作しています。詳細は、Enigmailメニューよりコンソールを立ち上げて確認してください。
-oldGpgVersion= Enigmailの初期化に失敗しました\n\nバージョンが %S のGnuPGを使用していますが、これは最新ではありません。EnigmailはGnuPGのバージョン1.2.5かそれよりも新しいバージョンを必要とします。GnuPGをアップグレードしてください。さもないとEnigmailは動作しません。
-jslibNeeded=この動作は、"Jslib"のバージョン %S 以上が必要です。http://jslib.mozdev.org/installation.html からダウンロード可能です。
+testSucceeded=Enigmail は正常に動作しています。詳細は、Enigmail メニューよりコンソールを立ち上げて確認してください。
+oldGpgVersion= Enigmail の初期化に失敗しました\n\nバージョンが %S の GnuPG を使用していますが、これは最新ではありません。Enigmail は GnuPG のバージョン 1.2.5 かそれよりも新しいバージョンを必要とします。GnuPG をアップグレードしてください。さもないと Enigmail は動作しません。
locateGpg=GnuPG プログラムを指定する
-invalidGpgPath=GnuPG は設定されているパスでは実行できません。OpenPGPは GnuPG のパスを再設定するか、アプリケーションを再起動するまで無効となります。
-warningsAreReset=全ての警告はリセットされました
+invalidGpgPath=GnuPG は設定されているパスでは実行できません。OpenPGP は GnuPG のパスを再設定するか、アプリケーションを再起動するまで無効となります。
+warningsAreReset=すべての警告はリセットされました
prefs.gpgFound=GnuPG が次のように見つかりました:%S
prefs.gpgNotFound=GnuPG が見つかりませんでした
-prefs.warnAskNever=警告:このオプションを有効にすると、受取人の一人にでも鍵が見つからない場合に、一切の通知もなく暗号化されなくなります。OpenPGPはこのような事が起こっても一切通知致しません。
+prefs.warnAskNever=警告: このオプションを有効にすると、受取人の一人にでも鍵が見つからない場合に、一切の通知もなく暗号化されなくなります。OpenPGP はこのようなことが起こっても一切通知しません。
# Strings used in components/enigmail.js
# (said file also re-uses some strings from above)
-enterPass=OpenPGPのパスフレーズを入力してください
-enterPassOrPin=OpenPGPのパスフレーズ、またはスマートカードのPINを入力してください
-repeatPass=もう一度OpenPGPのパスフレーズを入力してください
-rememberPass=何もしない%S分間パスフレーズを記憶します
-enterAdminPin=スマートカードの管理者PINを入力してください
-enterCardPin=スマートカードのPINを入力してください
+enterPass=OpenPGP のパスフレーズを入力してください
+enterPassOrPin=OpenPGP のパスフレーズ、またはスマートカードの PIN を入力してください
+repeatPass=もう一度 OpenPGP のパスフレーズを入力してください
+rememberPass=何もしない %S 分間パスフレーズを記憶します
+enterAdminPin=スマートカードの管理者 PIN を入力してください
+enterCardPin=スマートカードの PIN を入力してください
-notInit=エラー - Enigmail機能はまだ初期化されていません
+notInit=エラー - Enigmail 機能はまだ初期化されていません
badCommand=エラー - 暗号化コマンドは失敗しました
cmdLine=コマンドラインと出力:
notRequired=エラー - 暗号化は必要ありません
notComplete=エラー - 鍵の生成が終了していません
invalidEmail=エラー - 無効な電子メールアドレスです
noPassphrase=エラー - パスフレーズが入力されていません
-noPGPblock=エラー - 有効なOpenPGPデータブロックが見つかりません。
+noPGPblock=エラー - 有効な OpenPGP データブロックが見つかりません。
unverifiedReply=インデントされた(返信)部分がおそらく修正されています
decryptToImport=復号ボタンをクリックしてメッセージ中の公開鍵をインポートしてください
sigMismatch=エラー - 署名が一致しません
cantImport=公開鍵のインポートに失敗しました\n\n
messageSizeError=署名を検証するにはメッセージがあまりにも大きすぎます
sc.noCardAvailable=スマートカードが見つかりません\nスマートカードを挿入して、もう一度操作を行ってください。
-sc.noReaderAvailable=スマートカードリーダが使用できません\nカードリーダーを接続し、スマートカードを挿入して、もう一度操作を行ってください。
+sc.noReaderAvailable=スマートカードリーダが使用できません\nカードリーダを接続し、スマートカードを挿入して、もう一度操作を行ってください。
-gpgNotFound=GnuPGプログラムを'%S'に見つけることが出来ませんでした。\nEnigmailの設定で、GnuPG実行パスが正しく設定されているかどうか確認してください。
-gpgNotInPath=GnuPGをパスの中から見つけられませんでした。\nEnigmailの設定で、GnuPG実行パスが正しく設定されているかどうか確認してください。
+gpgNotFound=GnuPG プログラムを '%S' に見つけることができませんでした。\nEnigmail の設定で、GnuPG 実行パスが正しく設定されているかどうか確認してください。
+gpgNotInPath=GnuPG をパスの中から見つけられませんでした。\nEnigmail の設定で、GnuPG 実行パスが正しく設定されているかどうか確認してください。
enigmimeNotAvail=Enigmime サービスが使用できません
-gpgAgentNotStarted=使用しているGnuPG バージョン %Sで必要なgpg-agentを開始できません。.
+gpgAgentNotStarted=使用している GnuPG バージョン %S で必要な gpg-agent を開始できません。
prefUntrusted=信頼していない
-prefRevoked=廃止済み
+prefRevoked=失効済み
prefExpiredKey=期限切れの鍵
prefExpired=期限切れ
-prefGood=%Sの署名が一致しました
-prefBad=%Sの署名が一致しません
+prefGood=%S の署名が一致しました
+prefBad=%S の署名が一致しません
failFingerprint=エラー - フィンガープリント抽出のコマンド実行に失敗しました
failMultiple=エラー -%S に対して複数の鍵が見つかりました
failNoKey=エラー - %S の鍵が見つかりません
-failOnlyGPG=エラー - GnuPGだけが鍵サーバからキーを受け取れます
-failCancel=エラー - ユーザによって鍵の受け取りが中止されました
-failNoServer=エラー - 鍵を受け取るための鍵サーバが指定されていません
-failNoID=エラー - 鍵を受け取るためのIDが指定されていません
+failOnlyGPG=エラー - GnuPG だけが鍵サーバーから鍵を受け取ることができます
+failCancel=エラー - ユーザーによって鍵の受け取りが中止されました
+failNoServer=エラー - 鍵を受け取るための鍵サーバーが指定されていません
+failNoID=エラー - 鍵を受け取るための ID が指定されていません
failKeyExtract=エラー - 鍵の展開コマンドに失敗しました
-notFirstBlock=エラー - 最初のOpenPGPブロックは公開鍵ではありません
+notFirstBlock=エラー - 最初の OpenPGP ブロックは公開鍵ではありません
importKeyConfirm=メッセージ中に埋め込まれた鍵をインポートしますか?
failKeyImport=エラー - 鍵のインポートに失敗しました
fileWriteFailed=ファイル %S への書き込みに失敗しました
successKeyImport=鍵のインポートは成功しました
-importKey=公開鍵 %S を鍵サーバからインポートします:
-uploadKey=公開鍵 %S を鍵サーバへ送ります:
+importKey=公開鍵 %S を鍵サーバーからインポートします:
+uploadKey=公開鍵 %S を鍵サーバーへ送ります:
keyId=鍵ID
-keyAndSigDate=鍵Id: 0x%S / %Sに署名されました
+keyAndSigDate=鍵 ID: 0x%S / %S に署名されました
keyFpr=Key フィンガープリント: %S
-photoFor=%S のOpenPGP Photo ID
+photoFor=%S の OpenPGPフォトID
noEmailProvided=メールアドレスが入力されていません!
invalidRecp=不正な受取人: %S
@@ -254,23 +252,23 @@
createdHeader=生成されました
keyInvalid=不正な鍵
keyDisabled=無効化された鍵
-atLeastOneKey=鍵が一つも選択されていません。少なくとも一つの鍵を選択する必要があります。
+atLeastOneKey=鍵が 1 つも選択されていません。少なくとも 1 つの鍵を選択する必要があります。
# Strings used in enigmailAttachmentDialog.js
-pgpMimeNote=注意: PGP/MIME は限られたメーラでしかサポートされていません! Windowsであれば、Enigmail、Sylpheed、Pegasus、それと Mulberry がサポートされていることで知られています。Linux/UNIX と Mac OS X のポピュラーなメーラはサポートしています。よくわからない場合は、%S オプションを選択してください。
-first=1番目の
-second=2番目の
+pgpMimeNote=注意: PGP/MIME は限られたメーラでしかサポートされていません!Windows であれば、Thunderbird + Enigmail、Sylpheed、Pegasus、Mulberry、Becky! Internet Mail、QMAIL3、Edmax などがサポートされていることで知られています。Linux/UNIX と Mac OS X のポピュラーなメーラはサポートしています。よくわからない場合は、%S オプションを選択してください。
+first=1 番目の
+second=2 番目の
# Strings used in am-enigprefs.js
-encryptKeyHeader=暗号化するOpenPGP鍵の選択
+encryptKeyHeader=暗号化する OpenPGP鍵の選択
identityName=Identity: %S
# Strings used in enigmailSingleRcptSettings.js
-noEncryption=暗号化を有効にしましたが、鍵を選択していません。%S へ送付するメールを暗号化するためには、ひとつないしいくつかの有効な鍵を鍵リストから選択する必要があります。%S への暗号化を無効にしますか?
+noEncryption=暗号化を有効にしましたが、鍵を選択していません。%S へ送付するメールを暗号化するためには、1 つないしいくつかの有効な鍵を鍵リストから選択する必要があります。%S への暗号化を無効にしますか?
noKeyToUse=(無し - 暗号化しない)
noEmptyRule=空のルールは無効です。ルール欄にひとつの電子メールアドレスを設定してください。
-invalidAddress=入力した電子メールアドレスが無効です。受取人の名前は設定できません。電子メールアドレスだけにしてください。例:\n 無効な例:日本 花子 <hanako.nippon@address.net>\n正しい例: hanako.nippon@address.net
-noCurlyBrackets=中括弧{}は特別な意味を持ちますので、電子メールアドレスに使用しないでください。このルールに当てはまる時の動作を修正したいする場合は、'受取人が上記アドレス...' オプションを使用してください。\n 詳細な情報はヘルプボタンを押してください。
+invalidAddress=入力した電子メールアドレスが無効です。受取人の名前は設定できません。電子メールアドレスだけにしてください。例:\n 無効な例: 日本 花子 <hanako.nippon@address.net>\n正しい例: hanako.nippon@address.net
+noCurlyBrackets=中括弧{}は特別な意味を持ちますので、電子メールアドレスに使用しないでください。このルールに当てはまる時の動作を修正したいする場合は、'受取人が上記アドレス...' オプションを使用してください。\n詳細な情報はヘルプボタンを押してください。
# Strings used in enigmailRulesEditor.js
never=常にしない
@@ -281,30 +279,32 @@
negateRule=Not
# Strings used in enigmailSearchKey.js
-needOnline=選択された機能はオフラインモードでは、使用できません。オンラインのときにもう一度試してください。
-protocolNotSupported=選択したプロトコル '%S://' はが使用するプロトコルは、OpenPGP鍵をダウンロード用にはサポートされていません。
-gpgkeysDisabled= 次のオプションを有効にすると良いかもしれません 'extensions.enigmail.useGpgKeysTool'.
-noKeyserverConn=鍵サーバ %S に接続出来ませんでした。
-keyDownloadFailed=鍵サーバから鍵をダウンロードすることに失敗しました。ステータスメッセージは、以下です:\n%S
-noKeyFound=残念ながら、指定された検索基準に適合する鍵を見つけることが出来ませんでした。\n鍵IDは先頭に"0x"がつくことに注意してください(例. 0xABCDEF12).
+needOnline=選択された機能はオフラインモードでは使用できません。オンラインのときにもう一度試してください。
+protocolNotSupported=選択したプロトコル '%S://' は、OpenPGP鍵のダウンロード用にはサポートされていません。
+gpgkeysDisabled= 次のオプションを有効にすると良いかもしれません。'extensions.enigmail.useGpgKeysTool'
+noKeyserverConn=鍵サーバー %S に接続できませんでした。
+keyDownloadFailed=鍵サーバーから鍵をダウンロードすることに失敗しました。ステータスメッセージは、以下です:\n%S
+internalError=内部エラーが発生しました。鍵をダウンロードすることができませんでした。
+noKeyFound=残念ながら、指定された検索基準に適合する鍵を見つけることができませんでした。\n鍵ID は先頭に "0x" がつくことに注意してください(例: 0xABCDEF12)。
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
-gpgKeysFailed=鍵サーバでの検索もしくはダウンロードに失敗しました。: コマンド:gpgkeys_%S は実行されませんでした。
+gpgKeysFailed=鍵サーバーでの検索もしくはダウンロードに失敗しました。: コマンド: gpgkeys_%S は実行されませんでした。
# Strings in enigmailEditKeyTrustDlg.xul
-setKeyTrustFailed=所有者の信用度を設定出来ませんでした
+setKeyTrustFailed=所有者の信用度を設定できませんでした
setKeyTrustOK=所有者の信用度を設定しました
# Strings in enigmailSignKeyDlg.xul
signKeyFailed=鍵への署名に失敗しました
signKeyOK=鍵の署名に成功しました
undefinedError=未定義エラーが発生しました。
-keyAlreadySigned=この鍵は既に署名されています。2度は署名できません。
+keyAlreadySigned=この鍵は既に署名されています。2 度は署名できません。
noSignKeyExpired=この鍵は期限切れです。有効な鍵のみ署名可能です。
# Strings in enigmailKeyManager.js
+keyMan.loadingKeys=鍵を読み込み中です。しばらくお待ちください...
keyValid.unknown=不明
keyValid.invalid=不正
keyValid.disabled=無効
@@ -314,82 +314,80 @@
keyTrust.untrusted=信用していない
keyTrust.marginal=ある程度の信用
-keyTrust.full=十分に信用
-keyTrust.ultimate=究極的に信用
+keyTrust.full=完全に信用
+keyTrust.ultimate=絶対的に信用
keyType.public=公開鍵
keyType.publicAndSec=公開鍵/秘密鍵
keyMan.enableKey=鍵を有効化
keyMan.disableKey=鍵を無効化
userAtt.photo=ユーザー属性(JPEG イメージ)
-asciiArmorFile=ASCII形式(*.asc)
+asciiArmorFile=ASCII 形式(*.asc)
gnupgFile=GnuPG ファイル
saveRevokeCertAs=失効証明書を生成して保存
-revokeCertOK=失効証明書を生成しました。これは公開鍵を無効にするために使用できます。たとえば、秘密鍵をなくしてしまったときなどに使用すると良いでしょう。\n\nこれを、CD-Rや、フロッピーディスクのような安全に保存できるメディアに移してしまってください。もし、誰かがこの失効証明書を手に入れた場合、あなたの鍵を使えなくされる恐れがあります。
+revokeCertOK=失効証明書を生成しました。これは公開鍵を無効にするために使用できます。たとえば、秘密鍵をなくしてしまったときなどに使用すると良いでしょう。\n\nこれを、CD-R や、フロッピーディスクのような安全に保存できるメディアに移してしまってください。もし、誰かがこの失効証明書を手に入れた場合、あなたの鍵を使えなくされる恐れがあります。
revokeCertFailed=失効証明書の作成に失敗しました。
-addUidOK=ユーザーIDの追加に成功しました
-addUidFailed=ユーザーIDの追加に失敗しました
-noKeySelected=選択した操作を実行するには、少なくとも一つの鍵を選択する必要があります
+addUidOK=ユーザーID の追加に成功しました
+addUidFailed=ユーザーID の追加に失敗しました
+noKeySelected=選択した操作を実行するには、少なくとも 1 つの鍵を選択する必要があります
exportToFile=鍵をファイル名へ書き出す
-exportSecretKey=保存したOpenPGP鍵ファイルに秘密鍵を含めますか?
+exportSecretKey=保存した OpenPGP鍵ファイルに秘密鍵を含めますか?
saveKeysOK=鍵を保存しました
saveKeysFailed=鍵の保存に失敗しました
importKeysFailed=インポートに失敗しました
-enableKeyFailed=鍵の有効化/無効化に失敗しました
+enableKeyFailed=鍵の有効化/無効化に失敗しました
specificPubKeyFilename=%S (0x%S) 公開鍵
-specificPubSecKeyFilename=%S (0x%S) 公開鍵-秘密鍵
-
-#ファイル名なので英語のまま
+specificPubSecKeyFilename=%S (0x%S) 公開鍵/秘密鍵
defaultPubKeyFilename=Exported-public-keys
defaultPubSecKeyFilename=Exported-public-and-secret-keys
-noSecretKeys=秘密鍵が見つかりません。 \n\n 今あなたの鍵を生成しますか?
+noSecretKeys=秘密鍵が見つかりません。\n\n今あなたの鍵を生成しますか?
sendKeysOk=鍵を送りました
sendKeysFailed=鍵を送れませんでした
receiveKeysOk=鍵をアップデートしました
-receiveKeysFailed=鍵をダウンロード出来ませんでした
+receiveKeysFailed=鍵をダウンロードできませんでした
importFromClip=クリップボードから鍵を取り込みますか?
copyToClipbrdFailed=選択した鍵をクリップボードへコピーできませんでした。
copyToClipbrdOK=鍵をクリップボードにコピーしました。
-deleteSecretKey=警告:あなたは秘密鍵を削除しようとしています。\nもしあなたの秘密鍵を削除した場合、あなたの鍵で暗号化されたすべてのメッセージを復号できません。\n\n本当に秘密鍵と公開鍵の両方を削除しますか?\n'%S'?
-deleteMix=警告: あなたは秘密鍵を削除しようとしています。\n秘密鍵を削除すると暗号化されたメールを復号出来なくなります。\n\n本当に選択した秘密鍵と公開鍵を削除しますか?
+deleteSecretKey=警告: あなたは秘密鍵を削除しようとしています。\nもしあなたの秘密鍵を削除した場合、あなたの鍵で暗号化されたすべてのメッセージを復号できません。\n\n本当に秘密鍵と公開鍵の両方を削除しますか?\n'%S'?
+deleteMix=警告: あなたは秘密鍵を削除しようとしています。\n秘密鍵を削除すると暗号化されたメールを復号できなくなります。\n\n本当に選択した秘密鍵と公開鍵を削除しますか?
deletePubKey=公開鍵を削除しますか? "%S"
deleteSelectedPubKey=選択した公開鍵を削除しますか?
deleteKeyOk=鍵を削除しました
deleteKeyFailed=鍵を削除できませんでした
-revokeKeyAsk=この機能は失効証明書を生成および取り込みをします。鍵%Sを本当に失効させますか?
-revokeKeyOk=鍵は失効しました。もし、あなたの公開鍵が鍵サーバで利用可能であれば、再アップロードする事を推奨します。そうすることにより、他の人が失効していることが分かるようになります。
-revokeKeyFailed=鍵を失効出来ませんでした
+revokeKeyAsk=この機能は失効証明書を生成および取り込みます。鍵 %S を本当に失効させますか?
+revokeKeyOk=鍵は失効しました。もし、あなたの公開鍵が鍵サーバで利用可能であれば、再アップロードする事を推奨します。そうすることにより、他の人が失効していることがわかるようになります。
+revokeKeyFailed=鍵を失効できませんでした
uploadingKey=鍵のアップロード...
downloadingKey=鍵のダウンロード...
keyserverAccessAborted=中止しました
-refreshAllQuestion=鍵が一つも選択されていません。全ての鍵をリフレッシュしますか?
-refreshKey.warn=警告: 鍵の数や回線速度にもよりますが、全ての鍵のリフレッシュはとても長い時間がかかるかも知れません。\n\n続けますか?
+refreshAllQuestion=鍵が 1 つも選択されていません。すべての鍵を更新しますか?
+refreshKey.warn=警告: 鍵の数や回線速度にもよりますが、すべての鍵の更新はとても長い時間がかかるかも知れません。\n\n続けますか?
# Strings in enigmailViewKeySigDlg.xul
-keySignatureLocal=ローカル
+keySignatureLocal=ローカル署名
keySignatureExportable=エクスポート可能
keySignatureNoKey=鍵がありません
-userIdNotFound=(ユーザーIDが見つかりません)
-retrieveKeyConfirm=鍵が利用出来ません。 - 鍵サーバーからダウンロードしますか?
+userIdNotFound=(ユーザーID が見つかりません)
+retrieveKeyConfirm=鍵が利用できません。- 鍵サーバーからダウンロードしますか?
# Strings in enigmailManageUidDlg.xul
-changePrimUidFailed=主に使う鍵のユーザーIDの変更に失敗しました
-changePrimUidOK=主に使う鍵のユーザーIDを変更しました
-deleteUidFailed=ユーザID %S の削除に失敗しました
-deleteUidOK=ユーザID %S を削除しました
-revokeUidFailed=ユーザID %S を失効させることが出来ませんでした
-revokeUidOK=ユーザID %S を失効させました。もし、あなたの公開鍵が鍵サーバで利用可能であれば、再アップロードする事を推奨します。そうすることにより、他の人が失効していることが分かるようになります。
-revokeUidQuestion=本当にユーザID %S を失効させますか?
-deleteUidQuestion=本当にユーザID %S を削除しますか?\n\n注意:公開鍵を鍵サーバへ送信しているのであれば、ユーザIDの削除は何の変化も起こりません。この場合、"鍵の失効"を使用してください。
+changePrimUidFailed=主に使う鍵のユーザーID の変更に失敗しました
+changePrimUidOK=主に使う鍵のユーザーID を変更しました
+deleteUidFailed=ユーザーID %S の削除に失敗しました
+deleteUidOK=ユーザーID %S を削除しました
+revokeUidFailed=ユーザーID %S を失効させることができませんでした
+revokeUidOK=ユーザーID %S を失効させました。もし、あなたの公開鍵が鍵サーバーで利用可能であれば、再アップロードする事を推奨します。そうすることにより、他の人が失効していることがわかるようになります。
+revokeUidQuestion=本当にユーザーID %S を失効させますか?
+deleteUidQuestion=本当にユーザーID %S を削除しますか?\n\n注意:公開鍵を鍵サーバーへ送信しているのであれば、ユーザーID の削除は何の変化も起こりません。この場合、"鍵の失効"を使用してください。
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=公開鍵
keyTypeSubkey=サブ鍵
-keyTypePair=公開鍵/秘密鍵のペア
+keyTypePair=公開鍵/秘密鍵のペア
keyExpiryNever=無期限
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
@@ -400,35 +398,35 @@
# Strings in enigmailGenCardKey.xul
keygen.started=鍵を生成中です。しばらくお待ちください...
-keygen.completed=鍵を生成しました。新しい鍵IDは次の通りです: 0x%S
+keygen.completed=鍵を生成しました。新しい鍵ID は次の通りです: 0x%S
keygen.keyBackup=%S として鍵をバックアップしました。
keygen.passRequired=スマートカード以外の場所にバックアップをとるのであれば、パスフレーズを指定してください。
# Strings in enigmailSetCardPin.xul
-cardPin.dontMatch=入力されたPINが一致しません。再入力してください。
-cardPin.minLength=PINは少なくとも %S 文字以上の英数字でなければなりません。
-cardPin.processFailed=PINの変更に失敗しました。
+cardPin.dontMatch=入力された PIN が一致しません。再入力してください。
+cardPin.minLength=PIN は少なくとも %S 文字以上の英数字でなければなりません。
+cardPin.processFailed=PIN の変更に失敗しました。
# Strings in enigRetrieveProgress.xul
-keyserverProgress.refreshing=鍵のリフレッシュ中です。しばらくお待ち下さい
+keyserverProgress.refreshing=鍵の更新中です。しばらくお待ち下さい
keyserverProgress.uploading=鍵のアップロード中です、しばらくお待ち下さい
-keyserverTitle.refreshing=鍵のリフレッシュ
+keyserverTitle.refreshing=鍵の更新
keyserverTitle.uploading=鍵のアップロード
# Strings in enigmailSetupWizard
-setupWizard.gpgNotFound=GnuPGが見つかりませんでした。パスを設定してください
-passphrase.min8keys=パスフレーズには少なくとも8文字指定してください。
-setupWizard.applyAllId=OpenPGPを全てのIDに対して有効化する
-setupWizard.applySomeId=OpenPGPを次のIDに対して有効とする: %S
-setupWizard.applySingleId=OpenPGPをあなたの電子メールアカウントに対して有効化する
-setupWizard.setAllPrefs=アプリケーションの推奨設定を全て適用
+setupWizard.gpgNotFound=GnuPG が見つかりませんでした。パスを設定してください
+passphrase.min8keys=パスフレーズには少なくとも 8 文字指定してください。
+setupWizard.applyAllId=OpenPGP をすべての ID に対して有効化する
+setupWizard.applySomeId=OpenPGP を次の ID に対して有効とする: %S
+setupWizard.applySingleId=OpenPGP をあなたの電子メールアカウントに対して有効化する
+setupWizard.setAllPrefs=アプリケーションの推奨設定をすべて適用
setupWizard.setSomePrefs=アプリケーションの推奨設定を選択された物のみ適用
setupWizard.setNoPrefs=アプリケーションの設定を変更しない
-setupWizard.createKey=有効期間が5年の新しい2048ビットのOpenPGP鍵の生成
-setupWizard.useKey=署名にIDが%SのOpenPGP鍵を使用
-setupWizard.encryptAll=デフォルトで全ての電子メールを暗号化
+setupWizard.createKey=有効期間が 5 年の新しい 2048 ビットの OpenPGP鍵の生成
+setupWizard.useKey=署名に ID が %S の OpenPGP鍵を使用
+setupWizard.encryptAll=デフォルトですべての電子メールを暗号化
setupWizard.encryptNone=デフォルトでは電子メールを暗号化しない
-setupWizard.signAll=デフォルトで全ての電子メールに署名
+setupWizard.signAll=デフォルトですべての電子メールに署名
setupWizard.signNone=デフォルトでは電子メールに署名しない
-setupWizard.reallyCancel=本当にOpenPGPセットアップウィザードを中止しますか?
-setupWizard.locateGpg=ウィザードはGnuPG実行ファイルを見つけることが出来ませんでした。次のダイアログに手動で場所を入力してください。もし未だインストールされていないようでしたら、 http://www.gnupg.org を参照することをお勧めします。
+setupWizard.reallyCancel=本当に OpenPGP セットアップウィザードを中止しますか?
+setupWizard.locateGpg=ウィザードは GnuPG 実行ファイルを見つけることができませんでした。次のダイアログに手動で場所を入力してください。もしまだインストールされていないようでしたら、 http://www.gnupg.org を参照することをお勧めします。
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/help/compose.html
^
|
@@ -1,17 +1,17 @@
<html>
-<head><title>Enigmail Help: Message Composition</title>
+<head><title>Enigmail ヘルプ: メールの作成</title>
</head>
<body>
<h1>Enigmail ヘルプ</h1>
-<h3>メールを作成するときのEnigmailの使用方法</h3>
+<h3>メールを作成するときの Enigmail の使用方法</h3>
<ul>
- <li><b>メール作成画面でのEnigmailメニュー</b>
+ <li><b>メール作成画面での Enigmail メニュー</b>
<ul>
- <li><b>このメッセージを署名する</b>: メールに署名をする/しないを設定します。署名できなかった時には通知します。
+ <li><b>このメッセージを署名する</b>: メールに署名をする/しないを設定します。署名できなかった時には通知します。
</li>
- <li><b>このメッセージを暗号化する</b>: 送信前にすべての受取人に関して暗号化する/しないを設定します。暗号化できなかったときは通知します。
+ <li><b>このメッセージを暗号化する</b>: 送信前にすべての受取人に関して暗号化する/しないを設定します。暗号化できなかったときは通知します。
<ul>
<p>もし <em>「必要なら選択肢を表示する」</em> オプションが <b>詳細設定
-> 鍵の選択タブ</b>で設定されていて、公開鍵を持っていない受取人が送付先アドレスに含まれていた場合、鍵一覧を表示します。</p>
@@ -19,18 +19,18 @@
-> 鍵の選択タブ</b>で設定されていて、公開鍵を持っていない受取人が送付先アドレスに含まれていた場合、メッセージは暗号化しないで送付します。</p>
</ul>
</li>
- <li><b>PGP/MIMEをこのメッセージに使う</b>:
+ <li><b>PGP/MIME をこのメッセージに使う</b>:
<a href="http://community.roxen.com/developers/idocs/rfc/rfc3156.html" target="_blank">PGP/MIME</a>
- をこのメッセージに使用する/しないを設定します。
+ をこのメッセージに使用する/しないを設定します。
<ul>
- <p>もし、受取人がPGP/MIMEフォーマットを読むことが出来ると知っているときは、このオプションを使用してください。</p>
+ <p>もし、受取人が PGP/MIME フォーマットを読むことができると知っているときは、このオプションを使用してください。</p>
<p>この設定は <b>詳細設定
- -> PGP/MIME タブ</b> の <em>可能なら PGP/MIMEを使用する</em> や <em>常に PGP/MIMEを使用する</em>とは、連動していません。</p>
+ -> PGP/MIME タブ</b> の <em>可能なら PGP/MIME を使用する</em> や <em>常に PGP/MIME を使用する</em>とは、連動していません。</p>
</ul></li>
<li><b>デフォルト作成オプション</b>: サブメニュー
</p>
<ul>
- <li><b>署名/暗号化オプション...</b>: <b>アカウント設定 ->
+ <li><b>署名・暗号化オプション...</b>: <b>アカウント設定 ->
OpenPGP オプション</b> へのショートカットです。
</li>
<li><b>送信オプション...</b>: <b>詳細設定 ->
@@ -39,15 +39,15 @@
<li><b>鍵選択オプション...</b>: <b>詳細設定 ->
鍵の選択</b> タブへのショートカットです。
</li>
- <li><b>PGP/MIMEオプション...</b>: <b>詳細設定 ->
+ <li><b>PGP/MIME オプション...</b>: <b>詳細設定 ->
PGP/MIME</b> タブへのショートカットです。
</li>
</li>
</ul>
- <li><b>暗号化を元に戻す</b>: もし、メールの送信に失敗した時、たとえばPOPサーバが要求を拒否した時など、Enigmailはそのことが分からないので、暗号化されたメールをメール作成ウインドウにそのまま表示し続けます。このメニューを選ぶことにより暗号化・署名を元に戻し、メール作成ウインドウに元の文書を表示します。<br>
+ <li><b>暗号化を元に戻す</b>: もし、メールの送信に失敗した時、たとえば POP サーバが要求を拒否した時など、Enigmail はそのことが分からないので、暗号化されたメールをメール作成ウインドウにそのまま表示し続けます。このメニューを選ぶことにより暗号化・署名を元に戻し、メール作成ウインドウに元の文書を表示します。<br>
<em>暫定回避策として、このメニューは暗号化されたメッセージに対して返信する時に、強制的に復号することにも使用できます。</em>
</li>
- <li><b>公開鍵の挿入</b>: メッセージ作成画面のカーソルの場所へアスキー形式の公開鍵を挿入します。挿入する公開鍵の電子メールアドレスを選択するポップアップ画面がでます。この方法によって挿入された公開鍵は、受け取り側のEnigmailによって自動的に認識されます。公開鍵を挿入した後でも、必要に応じてそのメールを署名および暗号化することができます。ただし、ひとつのメッセージに複数の公開鍵のブロック挿入しないでください。ポップアップ画面で、複数の電子メールアドレスをチェックボックスで指定するようにしてください。
+ <li><b>公開鍵の挿入</b>: メッセージ作成画面のカーソルの場所へアスキー形式の公開鍵を挿入します。挿入する公開鍵の電子メールアドレスを選択するポップアップ画面がでます。この方法によって挿入された公開鍵は、受け取り側の Enigmail によって自動的に認識されます。公開鍵を挿入した後でも、必要に応じてそのメールを署名および暗号化することができます。ただし、ひとつのメッセージに複数の公開鍵のブロック挿入しないでください。ポップアップ画面で、複数の電子メールアドレスをチェックボックスで指定するようにしてください。
</li>
<li><b>パスフレーズのクリア</b>: キャッシュされているパスフレーズをクリアします。複数のパスフレーズを使用しているときに便利です。
</li>
@@ -58,7 +58,7 @@
</ul>
<hr/>
<p>
-更なるヘルプは以下のサイトで利用できます(英語)
+更なるヘルプは以下のサイトで利用できます(英語)
<a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail Help web page</a>
</p>
</body>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/help/editRcptRule.html
^
|
@@ -1,22 +1,22 @@
<html>
-<head><title>Enigmail Help: Edit OpenPGP Rule</title>
+<head><title>Enigmail ヘルプ: OpenPGP ルールの編集</title>
</head>
<body>
<h1>Enigmail ヘルプ</h1>
-<h3>Enigmail ルールエディッタ: OpenPGP ルールの編集</h3>
-<p>ルールエディッタで、受け取り人毎の初期設定(暗号化、署名、PGP/MIMEを使用する・しない)および使用するOpenPGP鍵を指定出来ます。このダイアログで一人の受取人、および同様な方法でグループにに対して設定できます。
+<h3>Enigmail ルールエディタ: OpenPGP ルールの編集</h3>
+<p>ルールエディタで、受け取り人毎の初期設定(暗号化、署名、PGP/MIME を使用する/しない)および使用する OpenPGP鍵を指定できます。このダイアログで 1 人の受取人、および同様な方法でグループに対して設定できます。
</p>
<ul>
- <li><span style="font-weight: bold;">OpenPGP ルールを適用する</span>: 受取人のe-mail
- アドレスを入力してください。 (ただし、名前は入力しないでください。例:
- <tt>somebody@email.domain</tt>)
+ <li><span style="font-weight: bold;">OpenPGP ルールを適用する</span>: 受取人のメール
+ アドレスを入力してください(ただし、名前は入力しないでください。例:
+ <tt>somebody@email.domain</tt>)。
半角スペースで区切って複数のアドレスを入力することもできます。
- ここで指定するアドレスは、ドメインセクション(@の右側)だけを指定できます。
- そうすることにより、同じドメインの(@マークの右側が同じ)どんなアドレスにもルールを
+ ここで指定するアドレスは、ドメインセクション(@ の右側)だけを指定できます。
+ そうすることにより、同じドメインの(@ マークの右側が同じ)どんなアドレスにもルールを
適用することができます。
- 例えば <tt>@email.domain </tt> と入力した場合、 <tt>body@email.domain</tt>,
- <tt>somebody@email.domain</tt>, <tt>anybody@email.domain</tt>などにもルールが適用されます。
+ 例えば <tt>@email.domain</tt> と入力した場合、<tt>body@email.domain</tt>,
+ <tt>somebody@email.domain</tt>, <tt>anybody@email.domain</tt> などにもルールが適用されます。
</li>
<li><span style="font-weight: bold;">受取人が ... のときにルールを適用</span>:
電子メールアドレスの適用方法を指定します。
@@ -42,7 +42,7 @@
</li>
<li><span style="font-weight: bold;">当てはまるアドレスについては、次のルールを続いて適用する:</span><br>
- これにチェックをすると、<em>以下のOpen PGP鍵を使用する</em>の欄で鍵IDの指定をする
+ これにチェックをすると、<em>以下の OpenPGP鍵を使用する</em>の欄で鍵 ID の指定をする
必要がなくなります。
電子メールアドレスは、送信時にチェックされ、その電子メールアドレスについてのルールが
続いて適用されます。
@@ -52,12 +52,12 @@
適用するかチェックされなくなります。
ルール処理は次の受取人から行われることになります。
</li>
- <li><span style="font-weight: bold;">以下のOpenPGP鍵を使用する:</span><br>
- <em>鍵の選択(s)..</em> ボタンをクリックし、暗号化に使用する受取人の鍵を選択してください。
+ <li><span style="font-weight: bold;">以下の OpenPGP鍵を使用する:</span><br>
+ <em>鍵の選択(s)...</em> ボタンをクリックし、暗号化に使用する受取人の鍵を選択してください。
既に述べたように、マッチするアドレスに対してこれ以上のルール処理はされません。
</li>
- <li><span style="font-weight: bold;">署名のデフォルト</span>: 署名する・しないを
- 決定します。 これはメッセージ作成画面の設定を上書きするなどに利用されます。 設定値は:
+ <li><span style="font-weight: bold;">署名のデフォルト</span>: 署名する/しないを
+ 決定します。これはメッセージ作成画面の設定を上書きするなどに利用されます。 設定値は:
</li>
<ul>
<li><i>しない</i>: 例えメッセージ作成画面で設定しても署名をしません。
@@ -72,23 +72,23 @@
</ul>
</ul>
<div style="margin-left: 40px;">この署名に関する設定はマッチするすべてのルールに
-対して適用されます。もし署名をしないルールが1つでもあれば、他の署名をするルールがマッチしても、署名はされません。(例え、<i>常に</i>があってもです。)
+対して適用されます。もし署名をしないルールが 1 つでもあれば、他の署名をするルールがマッチしても、署名はされません(例え、<i>常に</i>があってもです)。
</div>
<ul>
- <li><span style="font-weight: bold;">暗号化</span>: 暗号化のする・しないを
+ <li><span style="font-weight: bold;">暗号化</span>: 暗号化する/しないを
決定します。設定可能な項目と意味は、署名と同一です。</li>
<li><span style="font-weight: bold;">PGP/MIME</span>: PGP/MIME (RFC 3156)
を用いてメッセージをエンコードするかどうかを決定します。
- PGP/MIME が無効の場合、メッセージはインラインPGPを用いて行われます。
+ PGP/MIME が無効の場合、メッセージはインライン PGP を用いて行われます。
設定可能な項目と意味は、署名と同一です。
</li>
</ul>
-<p>こららのルールは<em>OpenPGP ルールエディタ</em>に表示されている順に処理されます。
-ルールに受取人がマッチし、OpenPGP鍵のIDを含み、加えて設定された鍵IDを使用している場合には、その受取人に関してはそれ以上のルールは考慮されません。
+<p>こららのルールは <em>OpenPGP ルールエディタ</em>に表示されている順に処理されます。
+ルールに受取人がマッチし、OpenPGP鍵の ID を含み、加えて設定された鍵ID を使用している場合には、その受取人に関してはそれ以上のルールは考慮されません。
</p>
<hr/>
<p>
-更なるヘルプは以下のサイトで利用できます(英語)
+更なるヘルプは以下のサイトで利用できます(英語)
<a href="http://enigmail.mozdev.org/pgprules_file.html" target="_blank">Enigmail Per-Recipient Settings page</a>
</p>
</body>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/help/messenger.html
^
|
@@ -1,33 +1,33 @@
<html>
-<head><title>Enigmail Help: Message Reading</title>
+<head><title>Enigmail ヘルプ: メッセージを読む</title>
</head>
<body>
-<h1>Enigmail Help</h1>
+<h1>Enigmail ヘルプ</h1>
-<h3>メッセージを読む時のEnigmailの使用方法</h3>
+<h3>メッセージを読む時の Enigmail の使用方法</h3>
<ul>
<li><b>メインウインドウの復号ボタン</b><br />
- このボタンをはいくつかの用途で使われます。: 暗号化、検証、または公開鍵のインポートなどです。通常、暗号化/検証は自動的に行われます。設定によって無効にすることも可能です。しかし、失敗した時には、短いエラーメッセージがEngimail状態表示に表示されるだけです。このボタンをクリックすることで、GnuPGコマンドの出力結果を含めて詳細なエラーメッセージを表示します。
+ このボタンをはいくつかの用途で使われます。: 暗号化、検証、または公開鍵のインポートなどです。通常、暗号化/検証は自動的に行われます。設定によって無効にすることも可能です。しかし、失敗した時には、短いエラーメッセージが Engimail に表示されるだけです。このボタンをクリックすることで、GnuPG コマンドの出力結果を含めて詳細なエラーメッセージを表示します。
</li>
<li><b>メッセージヘッダのペンと鍵のアイコン</b><br />
メッセージヘッダに表示されている <em>ペン</em> と <em>鍵</em> のアイコンは、あなたが読んでいるメッセージの署名が正しく、署名や暗号化されているかを示しています。もしそのメッセージが署名された後に改ざんされている場合、<em>ペン</em>のアイコンは<em>折れたペン</em>のアイコンとして表示され問題を示します。ペンや鍵のアイコンを右クリックすることで、以下のメニューが表示されます。:
<ul>
- <li><em>OpenPGP セキュリティ情報</em>: GnuPGがそのメッセージに対して出力した結果を表示します。</li>
+ <li><em>OpenPGP セキュリティ情報</em>: GnuPG がそのメッセージに対して出力した結果を表示します。</li>
<li><em>OpenPGP セキュリティ情報をコピー</em>: GnuPG の出力をクリップボードにコピーします。返信に貼るなどに利用できます。</li>
- <li><em>OpenPGP Photo IDを表示</em>: 公開鍵に写真が埋め込まれていれば、メッセージの送信者の<em>Photo ID</em> を表示します。(<em>このオプションは写真が公開鍵に埋め込まれている場合に有効です。)</em></li>
- <li><em>S/MIME セキュリティ情報</em>: このメッセージのS/MIME セキュリティ情報を表示します。</li>
+ <li><em>OpenPGPフォトID を表示</em>: 公開鍵に写真が埋め込まれていれば、メッセージの送信者の<em>フォトID</em> を表示します。(<em>このオプションは写真が公開鍵に埋め込まれている場合に有効です。)</em></li>
+ <li><em>S/MIME セキュリティ情報</em>: このメッセージの S/MIME セキュリティ情報を表示します。</li>
</ul>
- <p>もしあなたが <em>keyserver-options auto-key-retrieve</em> を <tt>gpg.conf</tt> に設定しておらず、署名か暗号化されているメッセージを読むと、<em>ペン</em>のアイコンが<em>?</em>と共に表示され、ヘッダのステータスラインに <em>メッセージの一部が署名されています; ペンまたは鍵のアイコンをクリックしてください</em> と表示され、メッセージペインにはOpenPGP メッセージブロックとシグネチャブロックが表示されます。</p>
+ <p>もしあなたが <em>keyserver-options auto-key-retrieve</em> を <tt>gpg.conf</tt> に設定しておらず、署名か暗号化されているメッセージを読むと、<em>ペン</em>のアイコンが<em>?</em>と共に表示され、ヘッダのステータスラインに <em>メッセージの一部が署名されています; ペンまたは鍵のアイコンをクリックしてください</em> と表示され、メッセージペインには OpenPGP メッセージブロックと署名ブロックが表示されます。</p>
<p><em>keyserver-options auto-key-retrieve</em> が <tt>gpg.conf</tt> に設定されている場合でも、OpenPGP 鍵がデフォルト鍵サーバに無い場合は同様のアイコンが表示されます。</p>
- <p><em>ペンと?</em> のアイコンをクリックすると、鍵がキーリングに無いという旨が表示されます。OKをクリックすると、鍵サーバのリストが表示された別ウィンドウが開きメールの送信者の公開鍵をダウンロードすることができます。</p>
- <p>あなたが使いたい公開鍵サーバのリストを編集するには、<b>Enigmail -> 設定 -> 基本</b> タブを選択し、<em>公開鍵サーバ:</em>の欄にアドレスをカンマ区切りで入力してください。<em>リストの一番上のサーバがデフォルトで利用されます。</em></p>
+ <p><em>ペンと?</em> のアイコンをクリックすると、鍵が鍵輪に存在しない旨が表示されます。OK をクリックすると、鍵サーバのリストが表示された別ウィンドウが開きメールの送信者の公開鍵をダウンロードすることができます。</p>
+ <p>あなたが使いたい公開鍵サーバのリストを編集するには、<b>Enigmail -> 設定 -> 基本</b> タブを選択し、<em>公開鍵サーバ:</em> の欄にアドレスをカンマ区切りで入力してください。<em>リストの一番上のサーバがデフォルトで利用されます。</em></p>
</li>
- <li><b>暗号化された添付ファイルを開く/添付されたOpenPGP鍵のインポート</b><br />
- 添付ファイル名が *.pgp, *.asc *.gpg のファイルはEnigmailで自動的に認識されます。 それらの添付ファイルを右クリックすると、2つの特別な選択肢がコンテキストメニューに表示されます。<em>復号して開く</em> と <em>復号して保存</em>です。これら2つの選択肢を、開いたり保存する前に添付ファイルをEnigmailで復号することができます。もし、この添付ファイルがOpenPGP鍵ファイルなら、キーリングに鍵をインポートするか聞かれます。
+ <li><b>暗号化された添付ファイルを開く/添付された OpenPGP鍵のインポート</b><br />
+ 添付ファイル名が *.pgp, *.asc *.gpg のファイルは Enigmail で自動的に認識されます。 それらの添付ファイルを右クリックすると、2 つの特別な選択肢がコンテキストメニューに表示されます。<em>復号して開く</em> と <em>復号して保存</em>です。これら 2 つの選択肢によって、開いたり保存する前に添付ファイルを Enigmail で復号することができます。もし、この添付ファイルが OpenPGP鍵ファイルなら、キーリングに鍵をインポートするか聞かれます。
</li>
</ul><hr/>
<p>
-更なるヘルプは以下のサイトで利用できます(英語)
+更なるヘルプは以下のサイトで利用できます(英語)
<a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail OpenPGP Help web page</a>
</p>
</body>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/help/rulesEditor.html
^
|
@@ -1,21 +1,21 @@
<html>
-<head><title>Enigmail Help: Rules Editor</title>
+<head><title>Enigmail ヘルプ: ルールエディタ</title>
</head>
<body>
<h1>Enigmail ヘルプ</h1>
<h3>Enigmail ルールエディタの使い方</h3>
-<p>ルールエディタでは、受取人ごとに暗号化、署名、PGP/MIMEを有効にするのを
-デフォルトとし、どのOpenPGP鍵を用いるかを設定できます。
-各ルールは、5つのフィールドからなり、1つの方針をあらわします。:
+<p>ルールエディタでは、受取人ごとに暗号化、署名、PGP/MIME を有効にするのを
+デフォルトとし、どの OpenPGP 鍵を用いるかを設定できます。
+各ルールは 5 つのフィールドからなり、1 つの方針をあらわします。:
</p>
<ul>
<li><span style="font-weight: bold;">Email</span>: メールを To:, Cc: そして Bcc: フィールドでマッチさせます。
マッチングは、<span style="font-style: italic;">部分一致</span>で行われます。 (詳細は ルール編集 ダイアログにあります。)
</li>
- <li><span style="font-weight: bold;">OpenPGP 鍵</span>: 受取人ごとに用いる
+ <li><span style="font-weight: bold;">OpenPGP鍵</span>: 受取人ごとに用いる
OpenPGP鍵IDを設定します。</li>
- <li><span style="font-weight: bold;">署名</span>: 署名する・しないを設定します。
+ <li><span style="font-weight: bold;">署名</span>: 署名する/しないを設定します。
メッセージ作成ウインドウの設定を使用したり、上書きすることがあります。設定値は:
</li>
<ul>
@@ -30,7 +30,7 @@
</ul>
</ul>
<div style="margin-left: 40px;">これらの設定はマッチするもの全てが適用されます。
-もし、ルールのうち1つが署名しないことにすると、他のルールが<i>常にする</i>と
+もし、ルールのうち 1 つが署名しないことにすると、他のルールが<i>常にする</i>と
なっていない限り、メッセージは署名されません。<br>
</div>
<ul>
@@ -38,20 +38,20 @@
するかしないかを設定します。設定可能な項目と意味は、署名と同様です。</li>
<li><span style="font-weight: bold;">PGP/MIME</span>: PGP/MIME (RFC 3156)
エンコードをするかしないかを設定します。
- もし PGP/MIME が無効なら、メッセージはインラインPGPでエンコードされます。
+ もし PGP/MIME が無効なら、メッセージはインライン PGP でエンコードされます。
設定可能な項目と意味は、署名と同様です。
</li>
</ul>
<p>ルールは表示されている順に処理されます。あるルールが受取人にあてはまり、
-OpenPGP鍵ID、さらに特定された鍵IDを含んでいる場合、その受取人については、
+OpenPGP鍵ID、さらに特定された鍵ID を含んでいる場合、その受取人については、
他のルールは考慮されません。</p>
<p><i>注意:</i> ルールエディタはまだ完成していません。ルールファイルを直接編集
-することで、より詳細なルールを設定することが可能です。(これらのルールはルール
-エディタで編集できなかったものです。)
+することで、より詳細なルールを設定することが可能です(これらのルールはルール
+エディタで編集できなかったものです)。
直接ファイルを編集することについての<a href="http://enigmail.mozdev.org/pgprules_file.html" target="_blank">詳細な情報 (英語)</a>はEnigmail Homepageにあります。</p>
<hr/>
<p>
-更なるヘルプは以下のサイトで利用できます(英語)
+更なるヘルプは以下のサイトで利用できます(英語)
<a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail Help web page</a>
</p>
</body>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/lang/ja-JP/upgrade_080.html
^
|
@@ -4,41 +4,41 @@
<head>
</head>
<body>
-<h1>Enigmail 0.8xアップグレード情報</h1>
+<h1>Enigmail 0.8x アップグレード情報</h1>
-<p>Enigmail v0.8x for Thunderbird は、新しいユーザーインターフェースを獲得しました!
-<b>もし、バージョン0.81.0以前のEnigmailに慣れているのであれば、使用する前に以下の情報をお読みください。</b>
+<p>Enigmail v0.8x for Thunderbird は、新しいユーザーインターフェイスを獲得しました!
+<b>もし、バージョン 0.81.0 以前の Enigmail に慣れているのであれば、使用する前に以下の情報をお読みください。</b>
</p>
-<h2>Enigmailの設定</h2>
-<p>Enigmailの設定は、今では2つのパートに分かれています:</p>
+<h2>Enigmail の設定</h2>
+<p>Enigmail の設定は、今では 2 つのパートに分かれています:</p>
<ul>
-<li>アカウント毎の設定(PGP鍵のID、暗号化/署名のデフォルト動作)
+<li>アカウント毎の設定(PGP 鍵の ID、暗号化/署名のデフォルト動作)
</li>
<li>共通の設定
</li>
</ul>
<h3>アカウント毎の設定</h3>
-<p>アカウント毎の設定は、メニューの<em>Tools
--> Account Settings</em>で設定できます。どのアカウントに対しても、
-<em>OpenPGP Security</em>というアイテムリストがあり、そこでアカウント毎の設定をします。
+<p>アカウント毎の設定は、メニューの <em>Tools
+-> Account Settings</em> で設定できます。どのアカウントに対しても、
+<em>OpenPGP Security</em> というアイテムリストがあり、そこでアカウント毎の設定をします。
</p>
-<p>バージョン0.80.0以前のEnigmailのPGP鍵の設定は、新しいアカウント毎の設定には
+<p>バージョン 0.80.0 以前の Enigmail の PGP 鍵の設定は、新しいアカウント毎の設定には
<b>反映されません</b>。
-Enigmailは、初期設定ではすべてのアカウントに対して<b>無効</b>になっています。
+Enigmail は、初期設定ではすべてのアカウントに対して<b>無効</b>になっています。
</p>
<h3>共通設定</h3>
<p>共通設定は、整理・統合され一つのダイアログになっています。
-設定はEnigmailのメニュー、またはアカウントマネージャのOpenPGP Security設定メニューの<em>詳細設定</em>ボタンをクリックすることで出来ます。
+設定は Enigmail のメニュー、またはアカウントマネージャの OpenPGP セキュリティ設定メニューの<em>詳細設定</em>ボタンをクリックすることで出来ます。
</p>
<p>新しいオプションとして、暗号化されたメッセージに対して返信する場合に自動的に暗号化するというのが追加されています。
なお、これはメッセージの署名に関しては無関係ということに注意してください。
</p>
<h2>メッセージの作成</h2>
-<p>Enigmailの振る舞いは、以前にも増してS/MIMEの振る舞いに適合するようになっています。
-新しいOpenPGPボタンが暗号化/署名の設定が選択できるような形で追加されました。
-Enigmailメニューはもはや暗号化/署名済みメールの送信メニューを提供しません。
+<p>Enigmail の振る舞いは、以前にも増して S/MIME の振る舞いに適合するようになっています。
+新しい OpenPGP ボタンが暗号化/署名の設定が選択できるような形で追加されました。
+Enigmailメニューはもはや暗号化/署名済みメールの送信メニューを提供しません。
送信は、通常の<em>送信</em>ボタンもしくは、ファイル->送信 のみ可能です。
-新しい振る舞いを理解するために、<b>実際に使用する前に、2,3通のメールを自分自身に
+新しい振る舞いを理解するために、<b>実際に使用する前に、2,3 通のメールを自分自身に
送るなどして新しい設定を試してください。</b>そうすれば、あなたはこの新しいを
理解できるでしょう。
</p>
@@ -49,7 +49,7 @@
<h2>既知の問題</h2>
<ul>
-<li>Enigmaiは、異なるPGP鍵の複数のパスワードを覚えておくことが出来ません。
+<li>Enigmai は、異なる PGP 鍵の複数のパスワードを覚えておくことが出来ません。
その都度入力するか、すべて使用する鍵すべてに同じパスワードを使用してください。
(訳者注:後者の方法はお勧めしません)
</li>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK
^
|
+(directory)
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/am-enigprefs.properties
^
|
@@ -0,0 +1,3 @@
+# Strings used in the Mozill AccountManager
+prefPanel-enigprefs=Zabezpečenie OpenPGP
+
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/contents.rdf
^
|
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
+
+ <!-- list all the packages being supplied by this jar -->
+ <RDF:Seq about="urn:mozilla:locale:root">
+ <RDF:li resource="urn:mozilla:locale:sk-SK"/>
+ </RDF:Seq>
+
+ <!-- locale information -->
+ <RDF:Description about="urn:mozilla:locale:sk-SK" chrome:name="sk-SK">
+
+ <chrome:packages>
+ <RDF:Seq about="urn:mozilla:locale:sk-SK:packages">
+ <RDF:li resource="urn:mozilla:locale:sk-SK:enigmail"/>
+ </RDF:Seq>
+ </chrome:packages>
+
+ </RDF:Description>
+
+</RDF:RDF>
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/enigmail.dtd
^
|
@@ -0,0 +1,673 @@
+<!ENTITY enigmail.label "Enigmail">
+<!ENTITY enigmail.openpgp.label "OpenPGP">
+
+<!ENTITY enigmail.keyUserId.label "Účet / ID používateľa">
+<!ENTITY enigmail.keygenTitle.label "Generovať OpenPGP kľúč">
+<!ENTITY enigmail.useForSigning.label "Použiť kľúč pre podpis">
+<!ENTITY enigmail.keyComment.label "Poznámka">
+<!ENTITY enigmail.keyNoPassphrase.label "Bez hesla">
+<!ENTITY enigmail.keyPassphrase.label "Heslo">
+<!ENTITY enigmail.keyPassphraseRepeat.label "Heslo (znovu)">
+<!ENTITY enigmail.generateKey.label "Generovať kľúč">
+<!ENTITY enigmail.generateKey.tooltip "Generovať nový OpenPGP kľúč kompatibilný pre šifrovanie a/alebo podpisovanie">
+<!ENTITY enigmail.cancelKey.label "Zrušiť">
+<!ENTITY enigmail.cancelKey.tooltip "Zrušiť generovanie kľúča">
+<!ENTITY enigmail.keyGen.expiry.title "Platnosť kľúča">
+<!ENTITY enigmail.keyGen.expire.label "Kľúč stratí platnosť o">
+<!ENTITY enigmail.keyGen.days.label "dní">
+<!ENTITY enigmail.keyGen.months.label "mesiacov">
+<!ENTITY enigmail.keyGen.years.label "rokov">
+<!ENTITY enigmail.keyGen.noExpiry.label "Kľúč nikdy nestratí platnosť">
+<!ENTITY enigmail.keyGen.keySize.label "Veľkosť kľúča">
+<!ENTITY enigmail.keyGen.console.label "Konzola generátora kľúčov">
+<!ENTITY enigmail.keyGen.keyType.label "Typ kľúča">
+<!ENTITY enigmail.keyGen.keyType.dsa "DSA & El Gamal">
+<!ENTITY enigmail.keyGen.keyType.rsa "RSA">
+
+<!ENTITY enigmail.preferences.label "Nastavenia OpenPGP">
+
+<!ENTITY enigmail.passwordSettings.label "Nastavenie prístupu">
+<!ENTITY enigmail.userNoPassphrase.label "Bez hesla">
+<!ENTITY enigmail.userNoPassphrase.tooltip "Aktivácia vášho OpenPGP kľúča nebude chránená.">
+<!ENTITY enigmail.expertUser.label "Zobraziť rozšírené nastavenia">
+<!ENTITY enigmail.expertUser.tooltip "Aktivuje rozšírené položky ponuky možností pre pokročilých používateľov.">
+
+<!ENTITY enigmail.defaultEncryptionOption.label "Zmena pôvodných nastavení šifrovania">
+<!ENTITY enigmail.usePGPMimeOption.label "Zmena PGP/MIME nastavení">
+<!ENTITY enigmail.mimeHashAlgorithm.label "Hash algoritmus">
+
+<!ENTITY enigmail.prefs.pathsTitle.label "Súbory a priečinky">
+<!ENTITY enigmail.prefs.overrideGpg.label "Nahradiť s">
+<!ENTITY enigmail.prefs.overrideGpg.tooltip "Kliknutím určíte umiestnenie GnuPG">
+
+
+<!ENTITY enigmail.agentPath.label "Cesta k spustiteľnému súboru GnuPG">
+<!ENTITY enigmail.agentAdditionalParam.label "Ďalšie parametre GnuPG">
+<!ENTITY enigmail.agentAdditionalParam.tooltip "Špecifikácia možností, ktoré možno v GnuPG využiť.">
+
+<!ENTITY enigmail.mime_parts_on_demand.label "Prílohy sťahovať až po otvorení správy (iba pre IMAP)">
+<!ENTITY enigmail.allowEmptySubject.label "Povoliť prázdny predmet správy">
+<!ENTITY enigmail.allowEmptySubject.tooltip "Označte, ak chcete vypnúť upozornenie, že správa neobsahuje žiadny predmet.">
+
+
+<!ENTITY enigmail.maxIdleMinutesHead.label "Pamätať si heslo">
+<!ENTITY enigmail.maxIdleMinutesTail.label "minút po zadaní">
+<!ENTITY enigmail.maxIdleMinutes.tooltip "Heslo ostáva v pamäti len obmedzený čas.">
+
+<!ENTITY enigmail.resetPrefsButton.label "Reset">
+<!ENTITY enigmail.resetPrefs.tooltip "Nastaví všetky nastavenia OpenPGP na predvolené hodnoty.">
+<!ENTITY enigmail.prefsHelpButton.label "Pomocník">
+
+<!ENTITY enigmail.upgradeButton.label "Aktualizovať Enigmail">
+<!ENTITY enigmail.uninstallButton.label "Odinštalovať Enigmail">
+
+<!ENTITY enigmail.basic.label "Základné">
+<!ENTITY enigmail.sending.label "Odosielanie">
+<!ENTITY enigmail.keySel.label "Výber kľúča">
+<!ENTITY enigmail.pgpMime.label "PGP/MIME">
+<!ENTITY enigmail.advancedPrefsButton.label "Rozšírené">
+<!ENTITY enigmail.debug.label "Ladenie">
+
+<!ENTITY enigmail.basicPrefs.label "Základné nastavenia">
+
+<!ENTITY enigmail.whenSending.label "Pri posielaní správy">
+<!ENTITY enigmail.moreOptions.label "Ďalšie nastavenia">
+
+<!ENTITY enigmail.encryptToSelf.label "Pridať môj kľúč do zoznamu príjemcov">
+<!ENTITY enigmail.encryptToSelf.tooltip "Ak povolíte, budete vždy môcť dešifrovať správy, ktoré ste odoslali.">
+<!ENTITY enigmail.alwaysTrustSend.label "Vždy dôverovať kľúčom používateľov">
+<!ENTITY enigmail.alwaysTrustSend.tooltip "Nepoužívať Web službu na overenie dôveryhodnosti a platnosti kľúčov.">
+<!ENTITY enigmail.useNonDefaultComment.label "Pridať komentár rozšírenia Enigmail v podpise OpenPGP">
+
+<!ENTITY enigmail.keyserver.label "Server kľúčov">
+<!ENTITY enigmail.keyserverDlg.label "Vyberte server kľúčov">
+<!ENTITY enigmail.keyservers.label "Servery kľúčov">
+<!ENTITY enigmail.keyservers.sample "Napríklad: sks.dnsalias.net, pgp.mit.edu, ldap://certserver.pgp.com">
+
+<!ENTITY enigmail.searchForKey.label "Hľadať kľúč">
+
+
+<!ENTITY enigmail.disableSMIMEui.label "Skryť S/MIME tlačidlá v ponuke">
+<!ENTITY enigmail.doubleDashSeparator.label "Použiť '- -' ako oddeľovač podpisu">
+<!ENTITY enigmail.useGpgAgent.label "Povoliť gpg-agenta">
+<!ENTITY enigmail.noHushMailSupport.label "Používať '<' a '>' pri zadávaní e-mailových adries">
+
+<!ENTITY enigmail.keepSettingsForReply.tooltip "Ak je to možné, zašifruje odpovede do zašifrovanej e-mailovej správy">
+<!ENTITY enigmail.doubleDashSeparator.tooltip "Dve pomlčky za sebou v riadku indikujú blok s podpisom">
+<!ENTITY enigmail.useGpgAgent.tooltip "Použije sa gpg-agent (časť GnuPG 2) pre všetky vstupy">
+<!ENTITY enigmail.noHushMailSupport.tooltip "Použije znaky '<' a '> na určenie e-mailovej adresy pre GnuPG. Vypnuté, ak má príjemca staré kľúče Hushmail.">
+<!ENTITY enigmail.mime_parts_on_demand.tooltip "Túto voľbu by ste mali vypnúť, ak prijímate správy typu PGP/MIME cez priečinky IMAP.">
+<!ENTITY enigmail.disableSMIMEui.tooltip "Odstráni tlačidlo S/MIME z panela nástrojov okna pri písaní novej správy">
+
+<!ENTITY enigmail.logdirectory.label "Log adresár">
+<!ENTITY enigmail.testemail.label "Testovacia správa">
+<!ENTITY enigmail.test.label "Odoslať TEST">
+
+<!ENTITY enigmail.decryptbutton.label "Dešifrovať">
+<!ENTITY enigmail.decryptbutton.tip "Dešifrovať alebo overiť správu s OpenPGP">
+
+<!ENTITY enigmail.messengermenu.accesskey "O">
+
+<!ENTITY enigmail.decryptverify.label "Dešifrovať/Overiť">
+<!ENTITY enigmail.importpublickey.label "Importovať verejný kľúč">
+<!ENTITY enigmail.savedecrypted.label "Uložiť dešifrovanú správu">
+
+<!ENTITY enigmail.autoDecrypt.label "Automaticky dešifrovať/overovať správy">
+<!ENTITY enigmail.clearPassphrase.label "Zmazať uložené heslo">
+<!ENTITY enigmail.editRules.label "Upraviť pravidlá šifrovania">
+
+<!ENTITY enigmail.prefs.label "Nastavenia">
+<!ENTITY enigmail.advprefs.label "Rozšírené nastavenia">
+
+<!ENTITY enigmail.debugMenu.label "Ladenie OpenPGP">
+<!ENTITY enigmail.viewconsole.label "Zobraziť konzolu">
+<!ENTITY enigmail.viewdebuglog.label "Zobraziť log">
+
+<!ENTITY enigmail.generatekey.label "Generovať kľúč">
+<!ENTITY enigmail.upgrade.label "Aktualizovať">
+<!ENTITY enigmail.help.label "Pomocník">
+<!ENTITY enigmail.about.title "O OpenPGP">
+<!ENTITY enigmail.about.label "O OpenPGP">
+<!ENTITY enigmail.reload.label "Obnoviť správu">
+<!ENTITY enigmail.browse.label "Vyhľadať...">
+<!ENTITY enigmail.sendersKeyMenu.label "Kľúč odosielateľa">
+<!ENTITY enigmail.adminSmartCard.label "Správa SmartCard ...">
+
+
+<!ENTITY enigmail.decryptverify.accesskey "D">
+<!ENTITY enigmail.importpublickey.accesskey "I">
+<!ENTITY enigmail.savedecrypted.accesskey "U">
+<!ENTITY enigmail.reload.accesskey "O">
+<!ENTITY enigmail.adminSmartCard.accesskey "S">
+
+<!ENTITY enigmail.autoDecrypt.accesskey "A">
+<!ENTITY enigmail.debugMenu.accesskey "L">
+
+<!ENTITY enigmail.clearPassphrase.accesskey "h">
+<!ENTITY enigmail.editRules.accesskey "r">
+
+<!ENTITY enigmail.prefs.accesskey "N">
+<!ENTITY enigmail.viewconsole.accesskey "k">
+<!ENTITY enigmail.viewdebuglog.accesskey "l">
+
+<!ENTITY enigmail.generatekey.accesskey "G">
+<!ENTITY enigmail.upgrade.accesskey "t">
+<!ENTITY enigmail.help.accesskey "c">
+<!ENTITY enigmail.about.accesskey "e">
+<!ENTITY enigmail.sendersKeyMenu.accesskey "K">
+
+<!ENTITY enigmail.securitybutton.label "OpenPGP">
+<!ENTITY enigmail.securitybutton.tip "OpenPGP - bezpečnostné nastavenia">
+
+<!ENTITY enigmail.signedsend.label "Podpísať správu">
+<!ENTITY enigmail.encryptedsend.label "Zašifrovať správu">
+<!ENTITY enigmail.disableRules.label "Ignorovať pravidlá príjemcov">
+
+<!ENTITY enigmail.composeOptionsMenu.label "Štandardné nastavenia">
+
+<!ENTITY enigmail.pgpAccountSettings.label "Nastavenia Podpisu/Šifrovania">
+<!ENTITY enigmail.mimeOptionsMenu.label "PGP/MIME nastavenia">
+<!ENTITY enigmail.sendOptionsMenu.label "Nastavenia odosielania">
+<!ENTITY enigmail.defaultKeySelOpts.label "Nastavenia výberu kľúča">
+<!ENTITY enigmail.sendPGPMime.label "Použiť PGP/MIME pre túto správu">
+
+<!ENTITY enigmail.undoencryption.label "Dešifrovať">
+<!ENTITY enigmail.insertkey.label "Vložiť verejný kľúč">
+<!ENTITY enigmail.attachkey.label "Priložiť verejný kľúč...">
+<!ENTITY enigmail.attachmykey.label "Priložiť môj verejný kľúč">
+
+<!ENTITY enigmail.composemenu.accesskey "O">
+
+<!ENTITY enigmail.signedsend.accesskey "P">
+<!ENTITY enigmail.signedsend.key "S">
+<!ENTITY enigmail.encryptedsend.accesskey "Z">
+<!ENTITY enigmail.encryptedsend.key "P">
+<!ENTITY enigmail.disableRules.accesskey "I">
+
+<!ENTITY enigmail.composeOptionsMenu.accesskey "d">
+<!ENTITY enigmail.sendOptionsMenu.accesskey "o">
+<!ENTITY enigmail.defaultKeySelOpts.accesskey "v">
+<!ENTITY enigmail.pgpAccountSettings.accesskey "a">
+<!ENTITY enigmail.mimeOptionsMenu.accesskey "P">
+<!ENTITY enigmail.sendPGPMime.accesskey "u">
+
+<!ENTITY enigmail.undoencryption.accesskey "f">
+<!ENTITY enigmail.insertkey.accesskey "k">
+<!ENTITY enigmail.attachkey.accesskey "e">
+<!ENTITY enigmail.attachmykey.accesskey "m">
+
+<!ENTITY enigmail.defaultEncryption.label "Správy vždy šifrovať">
+<!ENTITY enigmail.defaultEncryptionSign.label "Podpisovať šifrované správy">
+<!ENTITY enigmail.defaultSignPlainMsg.label "Podpisovať nešifrované správy">
+
+<!ENTITY enigmail.defaultEncryptionNone.label "Nešifrovať">
+<!ENTITY enigmail.defaultNotSignedsend.label "Nepodpisovať">
+
+<!ENTITY enigmail.recipientsSelectionOption.label "Akým spôsobom majú byť kľúče vyberané?">
+<!ENTITY enigmail.perRecipientRules.label "Len podľa nastavených pravidiel">
+<!ENTITY enigmail.perRecipientRules.tooltip "Vybrať kľúče podľa pravidiel a zároveň vyzve na vytvorenie nového pravidla pre príjemcov, pre ktorých ešte pravidá neexistuju.">
+<!ENTITY enigmail.perRecipientRulesAndEmail.label "Podľa pravidiel a e-mailových adries">
+<!ENTITY enigmail.perRecipientRulesAndEmail.tooltip "Umožniť ručný výber kľúčov, ak OpenPGP nemôže rozhodnúť na základe aplikovaných pravidiel a kontrolovaných e-mailových adries.">
+<!ENTITY enigmail.perEmailAddress.label "Podľa e-mailových adries">
+<!ENTITY enigmail.perEmailAddress.tooltip "Umožniť ručný výber kľúčov, ak OpenPGP nemôže rozhodnúť na základe kontrolovaných e-mailových adries (bez pravidiel).">
+<!ENTITY enigmail.askRecipientsAlways.label "Definovať pravidlá ručne">
+<!ENTITY enigmail.askRecipientsAlways.tooltip "OpenPGP nikdy nebude rozhodovať, aký kľúč má byť použitý. Rozhodovať budete vždy len vy.">
+<!ENTITY enigmail.neverAsk.label "Nepovoliť ručný výber kľúčov">
+<!ENTITY enigmail.neverAsk.tooltip "Ak nie je dostupný platný kľúč pre všetkých príjemcov, správa bude automaticky odoslaná v nezašifrovanom tvare.">
+<!ENTITY enigmail.defineRules.label "Upraviť pravidlá ...">
+<!ENTITY enigmail.defineRules.tooltip "Kliknite pre zobrazenie, pridanie, odstránenie, alebo úpravu pravidiel vybraných kľúčov.">
+
+<!ENTITY enigmail.usePGPMimeAlways.label "Vždy použiť PGP/MIME">
+<!ENTITY enigmail.usePGPMimePossible.label "Povoliť používanie PGP/MIME">
+<!ENTITY enigmail.usePGPMimeNever.label "Nikdy nepoužívať PGP/MIME">
+
+<!ENTITY enigmail.keepSettingsForReply.label "Zašifrovať, ak sa odpovedá na zašifrovanú správu">
+<!ENTITY enigmail.confirmBeforeSend.label "Vždy potvrdiť pred odoslaním">
+<!ENTITY enigmail.confirmBeforeSend.tooltip "Aktivuje zobrazenie informačného dialógu o podpísaní/zašifrovaní správy pred jej odoslaním">
+<!ENTITY enigmail.wrapHtmlBeforeSend.label "Zalamovať podpísaný HTML text pred odoslaním">
+<!ENTITY enigmail.wrapHtmlBeforeSend.tooltip "Zmení usporiadanie, aby ste sa uistili, že podpis ostane nedotknutý.">
+<!ENTITY enigmail.autoKeyRetrieve.label "Automaticky sťahovať kľúče pre overenie platnosti podpisov">
+<!ENTITY enigmail.autoKeyRetrieve2.label "z nasledovných serverov:">
+<!ENTITY enigmail.resetRememberedValues.label "Reset upozornení">
+<!ENTITY enigmail.resetRememberedValues.tooltip "Obnoví zobrazovanie upozorňujúcich dialógov a otázok, ktoré ste v minulosti zakázali zobrazovať. ">
+
+<!ENTITY enigmail.defaultEncryptionSign.accesskey "d">
+<!ENTITY enigmail.defaultEncryptionOnly.accesskey "s">
+<!ENTITY enigmail.defaultEncryptionNone.accesskey "e">
+
+<!ENTITY enigmail.usePGPMimeAlways.accesskey "V">
+<!ENTITY enigmail.usePGPMimePossible.accesskey "P">
+<!ENTITY enigmail.usePGPMimeNever.accesskey "N">
+
+<!ENTITY enigmail.defaultSignMsg.accesskey "a">
+<!ENTITY enigmail.defaultNotSignedsend.accesskey "o">
+<!ENTITY enigmail.confirmBeforeSend.accesskey "r">
+
+<!ENTITY enigmail.keygen.desc "<a class='enigmailStrong'>Poznámka: Generovanie kľúča môže trvať niekoľko minút.</a> Nevypínajte prosím program pokiaľ sa generuje kľúč. Medzitým môžete robiť na niečom inom. Ako náhle sa generovanie skončí, budete upozornení.">
+
+<!ENTITY enigmail.console.label "Zobraziť Enigmail konzolu">
+<!ENTITY enigmail.console.tooltip "Zobraziť Enigmail konzolu">
+
+<!ENTITY enigmail.uninstall.label "Odinštalovať Enigmail">
+<!ENTITY enigmail.uninstall.tooltip "Odinštalovať Enigmail">
+
+<!ENTITY enigmail.selectpanel.label "Vybrať OpenPGP Panel">
+<!ENTITY enigmail.selectpanel.tooltip "Vybrať OpenPGP Panel">
+
+<!ENTITY enigmail.userSelectionList.label "Výber OpenPGP kľúča">
+<!ENTITY enigmail.usersNotFound.label "Adresát neexistuje">
+<!ENTITY enigmail.keyExpiry.label "Koniec platnosti">
+<!ENTITY enigmail.keyTrust.label "Dôveryhodnosť">
+<!ENTITY enigmail.keySelection.label "Výber">
+<!ENTITY enigmail.keyId.label "ID kľúča">
+<!ENTITY enigmail.userSelPlainText.label "Odoslať nezašifrovanú správu">
+<!ENTITY enigmail.userSelPlainTextNotSigned.label "Odoslať nezašifrovanú a nepodpísanú správu">
+<!ENTITY enigmail.userSelPlainText.accesskey "O">
+<!ENTITY enigmail.displayNoLonger.label "Nezobrazovať dialóg znovu, ak je šifrovanie neúspešné">
+<!ENTITY enigmail.importMissingKeys.label "Stiahnuť chýbajúci kľúč">
+<!ENTITY enigmail.importMissingKeys.accesskey "S">
+<!ENTITY enigmail.importMissingKeys.tooltip "Vyskúšať importovať chýbajúci kľúč zo servera kľúčov">
+<!ENTITY enigmail.importMissingKeys.accesskey "V">
+<!ENTITY enigmail.refreshKeys.label "Obnoviť zoznam kľúčov">
+<!ENTITY enigmail.refreshKeys.accesskey "b">
+<!ENTITY enigmail.perRecipientsOption.label "Vytvoriť pravidlo pre adresátov">
+
+<!ENTITY enigmail.experimental.label "Použiť experimentálne inline podpisovanie/šifrovanie pre PGP/MIME">
+
+<!ENTITY enigmail.enigmailAttachDesc.label "Táto správa obsahuje prílohy. Chcete ich zašifrovať/podpísať?">
+<!ENTITY enigmail.enigEncryptAttachNone.label "Iba zašifrovať/podpísať text, nie prílohy">
+<!ENTITY enigmail.enigEncryptAttachInline.label "Zašifrovať každú prílohu zvlášť a odoslať správu pomocou inline PGP">
+<!ENTITY enigmail.enigEncryptAttachPgpMime.label "Zašifrovať/podpísať správu ako celok a odoslať správu pomocou inline PGP/MIME">
+<!ENTITY enigmail.encryptAttachSkipDlg.label "Použiť vybranú metódu pre všetky budúce prílohy">
+
+<!ENTITY enigmail.ctxDecryptOpen.label "Dešifrovať a otvoriť">
+<!ENTITY enigmail.ctxDecryptSave.label "Dešifrovať a Uložiť ako...">
+<!ENTITY enigmail.ctxImportKey.label "Importovať OpenPGP kľúč">
+<!ENTITY enigmail.ctxDecryptOpen.accesskey "D">
+<!ENTITY enigmail.ctxDecryptSave.accesskey "U">
+<!ENTITY enigmail.ctxImportKey.accesskey "I">
+
+<!ENTITY enigmail.amPrefTitle.label "OpenPGP nastavenia (Enigmail)">
+<!ENTITY enigmail.amPrefDesc.label "Podporu pre OpenPGP šifrovanie a podpisovanie správ poskytuje Enigmail. Na používanie tohto softvéru potrebujete mať nainštalovaný GnuPG (gpg).">
+<!ENTITY enigmail.amPrefEnablePgp.label "Povoliť OpenPGP podporu pre tento účet">
+<!ENTITY enigmail.amPrefUseFromAddr.label "Použiť adresu tejto identity pre identifikáciu PGP kľúča">
+<!ENTITY enigmail.amPrefUseKeyId.label "Použiť špecifický PGP ID kľúč (0x1234ABCD):">
+<!ENTITY enigmail.amPrefSelectKey.label "Vyberte kľúč ...">
+<!ENTITY enigmail.amPrefDefaultEncrypt.label "Možnosti písania správy">
+<!ENTITY enigmail.encryptionDlg.label "OpenPGP šifrovanie & Nastavenie podpisovania">
+<!ENTITY enigmail.encDlgEncrypt.label "Šifrovať správu">
+<!ENTITY enigmail.encDlgEncrypt.accesskey "f">
+<!ENTITY enigmail.encDlgSign.label "Podpísať správu">
+<!ENTITY enigmail.encDlgSign.accesskey "P">
+<!ENTITY enigmail.encDlgPgpMime.label "Použiť PGP/MIME">
+<!ENTITY enigmail.encDlgPgpMime.accesskey "u">
+<!ENTITY enigmail.amPrefPgpHeader.label "Odoslať 'OpenPGP' hlavičky">
+<!ENTITY enigmail.amPrefPgpHeader.none.label "Neposielať žiadne 'OpenPGP' hlavičky">
+<!ENTITY enigmail.amPrefPgpHeader.id.label "Odoslať OpenPGP ID kľúča">
+<!ENTITY enigmail.amPrefPgpHeader.url.label "Odoslať URL pre vrátenie kľúča:">
+
+<!ENTITY enigmail.retrieveKey.label "Získať kľúče">
+<!ENTITY enigmail.progressText.label "Priebeh:">
+<!ENTITY enigmail.retrieveKey.retrieveMsg.label "Získava sa kľúč, čakajte prosím ...">
+
+<!ENTITY enigmail.editPgpSecurity.label "OpenPGP bezpečnosť ...">
+<!ENTITY enigmail.editPgpSecurity.accesskey "O">
+
+<!ENTITY enigmail.openPgpSecurity.label "OpenPGP bezpečnosť">
+
+<!ENTITY enigmail.pgpSecurityInfo.label "OpenPGP bezpečnostné info ...">
+<!ENTITY enigmail.copySecurityInfo.label "Kopírovať OpenPGP bezpečnostné info">
+<!ENTITY enigmail.showPhoto.label "Zobraziť PGP foto ID">
+<!ENTITY enigmail.signSenderKey.label "Podpísať kľúč ...">
+<!ENTITY enigmail.trustSenderKey.label "Potvrdiť pravosť kľúča ...">
+<!ENTITY enigmail.signSenderKeyPopup.label "Podpísať odosielateľov kľúč ...">
+<!ENTITY enigmail.trustSenderKeyPopup.label "Potvrdiť pravosť odosielateľovho kľúča ...">
+<!ENTITY enigmail.smimeSecurityInfo.label "S/MIME bezpečnostné info ...">
+<!ENTITY enigmail.createRuleFromAddr.label "Vytvoriť OpenPGP pravidlo z adresy...">
+<!ENTITY enigmail.keyManWindow.label "Manažment kľúčov ">
+<!ENTITY enigmail.keyManWindow.accesskey "M">
+
+<!ENTITY enigmail.singleRcptSettings.label "OpenPGP - nastavenie adresáta">
+<!ENTITY enigmail.keysToUse.label "Kľúč(e) na použitie:">
+<!ENTITY enigmail.selKeysButton.label "Výber kľúčov...">
+<!ENTITY enigmail.action.label "Akcia">
+<!ENTITY enigmail.nextRule.label "Použiť ďalšie pravidlá pre porovnanie adries">
+<!ENTITY enigmail.nextAddress.label "Nekontrolovať ďalšie pravidlá k danej adrese">
+<!ENTITY enigmail.useKeys.label "Použiť nasledujúce OpenPGP kľúče:">
+<!ENTITY enigmail.selKeysButton.accesskey "V">
+<!ENTITY enigmail.setDefaultsFor.label "Základné nastavenia pre ...">
+<!ENTITY enigmail.encryption.label "Šifrovanie">
+<!ENTITY enigmail.signing.label "Podpisovanie">
+<!ENTITY enigmail.never.label "Nikdy">
+<!ENTITY enigmail.always.label "Vždy">
+<!ENTITY enigmail.maybe.label "Áno, ak bolo vybrané pri vytváraní správy">
+<!ENTITY enigmail.singleRcptSettings.desc "(Poznámka: Ak nastane konflikt, 'Nikdy' má vyššiu prioritu ako 'Vždy')">
+<!ENTITY enigmail.ruleEmail.label "Nastavenie OpenPGP pravidiel pre">
+<!ENTITY enigmail.ruleEmail.tooltip "Zadajte iba adresy, nezadávajte mená sdresátov\nNapríklad 'Nejaké Meno <nejake.meno@domena.net>' je nesprávne">
+<!ENTITY enigmail.sepratationDesc.label "(viac adries oddeľte medzerami)">
+<!ENTITY enigmail.matchDescStart.label "Použiť pravidlo, ak adresát">
+<!ENTITY enigmail.matchDescEnd.label "jedna z viacerých adries">
+<!ENTITY enigmail.matchExact.label "je presne">
+<!ENTITY enigmail.matchContains.label "obsahuje">
+<!ENTITY enigmail.matchBegin.label "začína s">
+<!ENTITY enigmail.matchEnd.label "končí na">
+<!ENTITY enigmail.not.label "Nie">
+
+<!ENTITY enigmail.rulesEditor.label "OpenPGP - editor pravidiel šifrovania">
+<!ENTITY enigmail.email.label "Správa">
+<!ENTITY enigmail.pgpKeys.label "OpenPGP kľúč">
+<!ENTITY enigmail.sign.label "Podpis">
+<!ENTITY enigmail.encrypt.label "Šifrovanie">
+<!ENTITY enigmail.edit.label "Upraviť">
+<!ENTITY enigmail.edit.accesskey "U">
+<!ENTITY enigmail.add.label "Pridať">
+<!ENTITY enigmail.add.accesskey "P">
+<!ENTITY enigmail.delete.label "Odstrániť">
+<!ENTITY enigmail.delete.accesskey "O">
+<!ENTITY enigmail.moveUp.label "Vyššie">
+<!ENTITY enigmail.moveUp.accesskey "V">
+<!ENTITY enigmail.moveDown.label "Nižšie">
+<!ENTITY enigmail.moveDown.accesskey "N">
+<!ENTITY enigmail.searchRule.label "Zobraziť pravidlá s adresou obsahujúcou:">
+<!ENTITY enigmail.clearSearch.label "Vymazať">
+<!ENTITY enigmail.clearSearch.accesskey "m">
+
+<!ENTITY enigmail.searchKeyDlg.label "Získať OpenPGP kľúče">
+<!ENTITY enigmail.searchKeyDlgCapt.label "Nájdené kľúče - Výber pre import">
+<!ENTITY enigmail.created.label "Vytvorený">
+<!ENTITY enigmail.valid.label "Platný">
+
+<!ENTITY enigmail.progress.label "Stav">
+
+<!ENTITY enigmail.sKeyDlg.title "OpenPGP - podpis kľúča">
+<!ENTITY enigmail.sKeyDlg.signKey.label "Kľúč je podpísaný:">
+<!ENTITY enigmail.sKeyDlg.fingerprint.label "Odtlačok prsta:">
+<!ENTITY enigmail.sKeyDlg.signWithKey.label "Kľúč pre podpisovanie:">
+<!ENTITY enigmail.sKeyDlg.checked.label "Ste si istí, že kľúč, ktorý sa práve chystáte podpísať, patrí osobe vyššie uvedenej?">
+<!ENTITY enigmail.sKeyDlg.noAnswer.label "Neviem">
+<!ENTITY enigmail.sKeyDlg.notChecked.label "Nekontroloval som">
+<!ENTITY enigmail.sKeyDlg.casualCheck.label "Vykonal som jednoduchú kontrolu">
+<!ENTITY enigmail.sKeyDlg.carefulCheck.label "Vykonal som podrobnú kontrolu">
+<!ENTITY enigmail.sKeyDlg.createLocal.label "Lokálny podpis (nemôže byť exportovaný)">
+<!ENTITY enigmail.sKeyDlg.alreadySigned.label "Poznámka: niektoré kľúče sú podpísané so zvoleným kľúčom pre podpis!">
+
+<!ENTITY enigmail.addUidDlg.title "OpenPGP - pridať používateľské ID">
+<!ENTITY enigmail.addUidDlg.name.label "Meno">
+<!ENTITY enigmail.addUidDlg.email.label "E-mail">
+<!ENTITY enigmail.addUidDlg.comment.label "Popis (nepovinné)">
+
+<!ENTITY enigmail.keyTrust.title "OpenPGP - nastavenie dôveryhodnosti vlastníka">
+<!ENTITY enigmail.keyTrust.trustKey.label "Dôveryhodnosť kľúča:">
+<!ENTITY enigmail.keyTrust.trustLevel.label "Ako chcete overiť kľúč?">
+<!ENTITY enigmail.keyTrust.dontKnow.label "Neviem">
+<!ENTITY enigmail.keyTrust.noTrust.label "Dôverujem">
+<!ENTITY enigmail.keyTrust.marginalTrust.label "Okrajovo dôverujem">
+<!ENTITY enigmail.keyTrust.fullTrust.label "Úplne dôverujem">
+<!ENTITY enigmail.keyTrust.ultimateTrust.label "Absolútne dôverujem">
+
+<!ENTITY enigmail.keyMan.title "OpenPGP - manažment kľúčov">
+<!ENTITY enigmail.keyMan.close.label "Zavrieť okno">
+<!ENTITY enigmail.keyMan.generate.label "Generovať">
+<!ENTITY enigmail.keyMan.sign.label "Podpísať">
+<!ENTITY enigmail.keyMan.setTrust.label "Overiť">
+<!ENTITY enigmail.keyMan.genRevoke.label "Znefunkčniť (revokovať)">
+<!ENTITY enigmail.keyMan.ctxGenRevoke.label "Generovať & uložiť certifikát znefunkčnenia">
+
+<!ENTITY enigmail.keyMan.fileMenu.label "Súbor">
+<!ENTITY enigmail.keyMan.editMenu.label "Upraviť">
+<!ENTITY enigmail.keyMan.viewMenu.label "Zobraziť">
+<!ENTITY enigmail.keyMan.keyserverMenu.label "Server kľúčov">
+<!ENTITY enigmail.keyMan.generateMenu.label "Generovanie">
+
+<!ENTITY enigmail.keyMan.fileMenu.accesskey "S">
+<!ENTITY enigmail.keyMan.editMenu.accesskey "U">
+<!ENTITY enigmail.keyMan.viewMenu.accesskey "Z">
+<!ENTITY enigmail.keyMan.keyserverMenu.accesskey "k">
+<!ENTITY enigmail.keyMan.generateMenu.accesskey "G">
+
+<!ENTITY enigmail.keyMan.importFromFile.label "Import zo súboru">
+<!ENTITY enigmail.keyMan.importFromServer.label "Hľadať kľúče">
+<!ENTITY enigmail.keyMan.importFromClipbrd.label "Import kľúčov zo schránky">
+<!ENTITY enigmail.keyMan.exportToFile.label "Do súboru">
+<!ENTITY enigmail.keyMan.sendKeys.label "Odoslať kľúče so správou">
+<!ENTITY enigmail.keyMan.uploadToServer.label "Odoslať na server kľúčov">
+<!ENTITY enigmail.keyMan.copyToClipbrd.label "Kopírovať do schránky">
+<!ENTITY enigmail.keyMan.ctxExportToFile.label "Export kľúčov do súboru">
+<!ENTITY enigmail.keyMan.ctxUploadToServer.label "Nahrať verejný kľúč na server kľúčov">
+<!ENTITY enigmail.keyMan.ctxCopyToClipbrd.label "Kopírovať verejný kľúč do schránky">
+<!ENTITY enigmail.keyMan.refreshKey.label "Obnoviť verejný kľúč">
+<!ENTITY enigmail.keyMan.refreshSelKeys.label "Obnoviť vybrané verejné kľúče">
+<!ENTITY enigmail.keyMan.refreshAllKeys.label "Obnoviť všetky verejné kľúče">
+<!ENTITY enigmail.keyMan.ctxRefreshKey.label "Obnoviť verejný kľúč zo serveru kľúčov">
+
+<!ENTITY enigmail.keyMan.reload.label "Obnoviť">
+<!ENTITY enigmail.keyMan.addUid.label "Pridať používateľské ID">
+<!ENTITY enigmail.keyMan.manageUid.label "Organizovať používateľské ID">
+<!ENTITY enigmail.keyMan.changePwd.label "Zmeniť heslo">
+<!ENTITY enigmail.keyMan.delKey.label "Odstrániť kľúč">
+<!ENTITY enigmail.keyMan.revokeKey.label "Znefunkčniť kľúč">
+<!ENTITY enigmail.keyMan.keyProps.label "Vlastnosti kľúča">
+<!ENTITY enigmail.keyMan.viewPhoto.label "Foto ID">
+<!ENTITY enigmail.keyMan.ctxViewPhoto.label "Zobraziť foto ID">
+<!ENTITY enigmail.keyMan.viewSig.label "Podpis">
+<!ENTITY enigmail.keyMan.ctxViewSig.label "Zobraziť podpis">
+<!ENTITY enigmail.keyMan.keyType.label "Typ">
+<!ENTITY enigmail.keyMan.calcTrust.label "Kalkulovaná dôveryhodnosť">
+<!ENTITY enigmail.keyMan.ownerTrust.label "Vlastník dôveryhodnosti">
+<!ENTITY enigmail.keyMan.stopTransfer.label "Zastaviť prenos">
+<!ENTITY enigmail.keyMan.fingerprint.label "Odtlačok prsta">
+<!ENTITY enigmail.keyMan.selectAll.label "Vybrať všetky kľúče">
+
+<!ENTITY enigmail.keyMan.filter.label "Filter pre používateľské ID alebo kľúč obsahuje:">
+<!ENTITY enigmail.keyMan.clearFilter.label "Vymazať">
+<!ENTITY enigmail.keyMan.clearFilter.accesskey "m">
+
+<!ENTITY enigmail.keyMan.window.accesskey "o">
+<!ENTITY enigmail.keyMan.close.accesskey "Z">
+<!ENTITY enigmail.keyMan.generate.accesskey "G">
+<!ENTITY enigmail.keyMan.sign.accesskey "P">
+<!ENTITY enigmail.keyMan.setTrust.accesskey "O">
+<!ENTITY enigmail.keyMan.genRevoke.accesskey "Z">
+<!ENTITY enigmail.keyMan.delKey.accesskey "d">
+<!ENTITY enigmail.keyMan.revokeKey.accesskey "n">
+<!ENTITY enigmail.keyMan.importFromFile.accesskey "I">
+<!ENTITY enigmail.keyMan.exportToFile.accesskey "D">
+<!ENTITY enigmail.keyMan.importFromServer.accesskey "H">
+<!ENTITY enigmail.keyMan.uploadToServer.accesskey "d">
+<!ENTITY enigmail.keyMan.reload.accesskey "b">
+<!ENTITY enigmail.keyMan.addUid.accesskey "P">
+<!ENTITY enigmail.keyMan.manageUid.accesskey "r">
+<!ENTITY enigmail.keyMan.changePwd.accesskey "Z">
+<!ENTITY enigmail.keyMan.viewSig.accesskey "P">
+<!ENTITY enigmail.keyMan.showPhoto.accesskey "F">
+<!ENTITY enigmail.keyMan.importMenu.accesskey "I">
+<!ENTITY enigmail.keyMan.exportMenu.accesskey "X">
+<!ENTITY enigmail.keyMan.importFromClipbrd.accesskey "I">
+<!ENTITY enigmail.keyMan.copyToClipbrd.accesskey "K">
+<!ENTITY enigmail.keyMan.keyDetails.accesskey "V">
+<!ENTITY enigmail.keyMan.enableKey.accesskey "">
+<!ENTITY enigmail.keyMan.refreshKey.accesskey "O">
+<!ENTITY enigmail.keyMan.refreshSelKeys.accesskey "b">
+<!ENTITY enigmail.keyMan.refreshAllKeys.accesskey "O">
+<!ENTITY enigmail.keyMan.selectAll.accesskey "V">
+<!ENTITY enigmail.keyMan.sendKeys.accesskey "O">
+
+<!ENTITY enigmail.keyMan.closeWin.key "W">
+<!ENTITY enigmail.keyMan.selectAll.key "A">
+
+<!ENTITY enigmail.viewKeySigDlg.title "Zoznam podpisov">
+<!ENTITY enigmail.viewKeySigDlg.sigForKey.label "Podpisy pre kľúč:">
+<!ENTITY enigmail.viewKeySigDlg.sigType.label "Typ podpisu">
+
+<!ENTITY enigmail.manageUidDlg.title "Zmeniť primárne používateľské ID">
+<!ENTITY enigmail.manageUidDlg.affectedKey.label "Zmeniť kľúč:">
+<!ENTITY enigmail.manageUidDlg.availableUid.label "Dostupné používateľské ID:">
+<!ENTITY enigmail.manageUidDlg.addUid.label "Pridať">
+<!ENTITY enigmail.manageUidDlg.deleteUid.label "Odstrániť">
+<!ENTITY enigmail.manageUidDlg.revokeUid.label "Znefunkčniť">
+<!ENTITY enigmail.manageUidDlg.setPrimary.label "Nastaviť ako primárne">
+
+<!ENTITY enigmail.keyDetails.title "Vlastnosti kľúča">
+<!ENTITY enigmail.keyDetails.userId.label "Primárne používateľské ID">
+<!ENTITY enigmail.keyDetails.keyId.label "ID kľúča">
+<!ENTITY enigmail.keyDetails.ID.label "ID">
+<!ENTITY enigmail.keyDetails.keyType.label "Typ">
+<!ENTITY enigmail.keyDetails.subType.label "Podkľúč">
+<!ENTITY enigmail.keyDetails.algorithm.label "Algoritmus">
+<!ENTITY enigmail.keyDetails.size.label "Veľkosť">
+<!ENTITY enigmail.keyDetails.created.label "Vytvorené">
+<!ENTITY enigmail.keyDetails.expiry.label "Platnosť">
+<!ENTITY enigmail.keyDetails.calcTrust.label "Kalkulovaná dôveryhodnosť">
+<!ENTITY enigmail.keyDetails.ownerTrust.label "Vlastník dôveryhodnosti">
+<!ENTITY enigmail.keyDetails.fingerprint.label "Odtlačok prsta">
+
+<!ENTITY enigmail.cardDetails.title "Detaily OpenPGP SmartCard">
+<!ENTITY enigmail.cardDetails.cardMenu.label "SmartCard">
+<!ENTITY enigmail.cardDetails.adminPin.label "Zmeniť PIN">
+<!ENTITY enigmail.cardDetails.genCardKey.label "Generovanie kľúča">
+
+<!ENTITY enigmail.cardDetails.vendor.label "Výrobca">
+<!ENTITY enigmail.cardDetails.serial.label "Sériové číslo">
+<!ENTITY enigmail.cardDetails.name.label "Meno, Priezvisko">
+<!ENTITY enigmail.cardDetails.lang.label "Jazyk">
+<!ENTITY enigmail.cardDetails.sex.label "Pohlavie">
+<!ENTITY enigmail.cardDetails.url.label "URL verejného kľúča">
+<!ENTITY enigmail.cardDetails.login.label "Prihlasovacie údaje">
+<!ENTITY enigmail.cardDetails.forcepin.label "Sila podpisu PIN">
+<!ENTITY enigmail.cardDetails.maxpinlen.label "Max. dĺžka PIN">
+<!ENTITY enigmail.cardDetails.pinretry.label "Počítadlo opakovaného zadávania PIN">
+<!ENTITY enigmail.cardDetails.sigcount.label "Počítadlo podpisov">
+<!ENTITY enigmail.cardDetails.sigKey.label "Podpisový kľúč">
+<!ENTITY enigmail.cardDetails.keyCreated.label "Vytvorený">
+<!ENTITY enigmail.cardDetails.encKey.label "Šifrovací kľúč">
+<!ENTITY enigmail.cardDetails.authKey.label "Overovací kľúč">
+<!ENTITY enigmail.cardDetails.yes.label "Áno">
+<!ENTITY enigmail.cardDetails.no.label "Nie">
+<!ENTITY enigmail.cardDetails.male.label "Muž">
+<!ENTITY enigmail.cardDetails.female.label "Žena">
+<!ENTITY enigmail.cardDetails.editData.label "Upraviť údaje">
+<!ENTITY enigmail.cardDetails.save.label "Uložiť">
+<!ENTITY enigmail.cardDetails.reset.label "Obnovenie">
+<!ENTITY enigmail.cardDetails.closeWindow.label "Zatvoriť">
+
+<!ENTITY enigmail.cardDetails.adminPin.accesskey "Z">
+<!ENTITY enigmail.cardDetails.genCardKey.accesskey "G">
+<!ENTITY enigmail.cardDetails.cardMenu.accesskey "S">
+<!ENTITY enigmail.cardDetails.editData.accesskey "U">
+
+<!ENTITY enigmail.genCardKey.title "Generovať OpenPGP kľúč">
+<!ENTITY enigmail.genCardKey.backupKey.label "Uložiť zálohu kľúča mimo karty">
+<!ENTITY enigmail.genCardKey.desc "<a class='enigmailStrong'>UPOZORNENIE: Generovanie kľúča môže trvať niekoľko minút.</a> Neukončujte aplikáciu pokiaľ sa kľúč nevygeneruje. Po vygenerovaní kľúča budete upozornení.">
+
+<!ENTITY enigmail.cardPin.title "Zmeniť SmartCard PIN">
+<!ENTITY enigmail.cardPin.action.label "Čo chcete urobiť">
+<!ENTITY enigmail.cardPin.changePin.label "Zmeniť PIN">
+<!ENTITY enigmail.cardPin.changeAdmPin.label "Zmeniť administrátorský PIN">
+<!ENTITY enigmail.cardPin.unblockPin.label "Odblokovať PIN">
+<!ENTITY enigmail.cardPin.currAdmPin.label "Aktuálny administrátorský PIN">
+<!ENTITY enigmail.cardPin.newAdminPin.label "Nový administrátorský PIN">
+<!ENTITY enigmail.cardPin.adminPinRepeat.label "Znovu nový PIN">
+<!ENTITY enigmail.cardPin.currPin.label "Aktuálny PIN">
+<!ENTITY enigmail.cardPin.newPin.label "Nový PIN">
+<!ENTITY enigmail.cardPin.pinRepeat.label "Opakovať nový PIN">
+
+<!ENTITY enigmail.changePasswd.title "Zmeniť OpenPGP heslo">
+<!ENTITY enigmail.changePasswd.currPasswd.label "Aktuálne heslo">
+<!ENTITY enigmail.changePasswd.newPasswd.label "Nové heslo">
+<!ENTITY enigmail.changePasswd.repeatPasswd.label "Zopakujte heslo">
+
+<!ENTITY enigmail.setupWiz.title "OpenPGP sprievodca nastavením">
+<!ENTITY enigmail.setupWiz.yes "Áno">
+<!ENTITY enigmail.setupWiz.no "Nie, ďakujem">
+<!ENTITY enigmail.setupWiz.pgWelcome.desc "Tento sprievodca Vám pomôže začať rýchlo a správne používať OpenPGP. Na nasledujúcich
+ niekoľkých obrazovkách odpoviete na niekoľko otázok a budete mať správne nastavenia.
+ <html:br/><html:br/>
+ Je to jednoduché, len odpovedzte na niekoľko otázok ohľadom konfigurácie.
+ Predpokladáme, že budete mať bezpečne nastavený systém aj pre priemerného používateľa
+ bez zbytočných problémov. Po skončení sprievodcu môžete kedykoľvek zmeniť svoje nastavenia.
+ Viac informácií o OpenPGP nájdete v Pomocníkovi, alebo na www stránke <a class='enigmailLink'><html:a
+ href='http://enigmail.mozdev.org/'>http://enigmail.mozdev.org/</html:a></a>.
+ <html:br/><html:br/>
+ Ak by ste mali akékoľvek problémy so sprievodcom, napíšte nám prosím na e-mail
+ <a class='enigmailLink'><html:a
+ href='mailto:enigmail@mozdev.org'>enigmail@mozdev.org</html:a></a>.
+ <html:br/><html:br/>
+ Tento sprievodca vám má pomôcť s prvými nastaveniami Enigmailu. Tento sprievodca sa nedá
+ spustiť znovu ani z ponuky programu.
+ <html:br/><html:br/>
+ Ďakujeme vám, že používate Enigmail OpenPGP!">
+<!ENTITY enigmail.setupWiz.pgWelcome.startNow "Chcete teraz použiť sprievodcu nastaveniami?">
+<!ENTITY enigmail.setupWiz.pgWelcome.yes "Áno, chcem použiť sprievodcu nastaveniami">
+<!ENTITY enigmail.setupWiz.pgWelcome.no "Nie, nastavím si systém manuálne">
+<!ENTITY enigmail.setupWiz.pgSelectId.title "Vyberte identitu">
+<!ENTITY enigmail.setupWiz.pgSelectId.subtitle "Vyberte účet alebo identitu, pre ktorú chcete OpenPGP nastaviť">
+<!ENTITY enigmail.setupWiz.pgSelectId.desc "OpenPGP nastavenia sú špecifické pre každý účet alebo identitu. Štandardne
+ OpenPGP nastaví konfiguráciu pre všetky účty a identity.
+ Ak nechcete spoločné nastavenia pre všetky účty a identity, vyberte účet alebo identitu pre ktoré budú nastavenia aplikované.">
+<!ENTITY enigmail.setupWiz.pgSelectId.allIds "Chcem nastaviť OpenPGP pre všetky identity">
+<!ENTITY enigmail.setupWiz.pgSelectId.selectIds "Chcem nastaviť OpenPGP iba pre vybrané identity:">
+<!ENTITY enigmail.setupWiz.pgSelectId.note "<a class='enigmailStrong'>Poznámka:</a> OpenPGP vždy overuje podpisy
+ v e-mailoch pre všetky účty a identity.">
+<!ENTITY enigmail.setupWiz.pgSign.title "Podpisovanie">
+<!ENTITY enigmail.setupWiz.pgSign.subtitle "Digitálny podpis vašich odchádzajúcich správ">
+<!ENTITY enigmail.setupWiz.pgSign.desc "OpenPGP umožňuje digitálne podpisovať vaše správy. Tento podpis považujte ako podpis na papieri,
+ a umožňuje ostatným overiť, či je správa naozaj od vás. Je dobré si zvyknúť podpisovať všetky odchádzajúce správy.
+ <html:br/><html:br/>
+ Pre overenie podpísanej správy musí aj príjemca správy používať mailového klienta s podporou OpenPGP.
+ Ak príjemca nemá mailového klienta s podporou OpenPGP môže bez problémov čítať vaše správy, ale podpis bude
+ zobrazený v prílohe alebo ako text v správe. Je naozaj dobré používať podpisovanie odchádzajúcich správ.">
+<!ENTITY enigmail.setupWiz.pgSign.signAllMsg "Chcete automaticky podpisovať všetky odchádzajúce správy?">
+<!ENTITY enigmail.setupWiz.pgSign.yesSign "Áno, chcem podpisovať všetky odchádzajúce správy">
+<!ENTITY enigmail.setupWiz.pgSign.noSign "Nie, budem podpisovať len niektoré správy">
+<!ENTITY enigmail.setupWiz.pgEnc.title "Šifrovanie">
+<!ENTITY enigmail.setupWiz.pgEnc.subtitle "Šifrovanie vašich odchádzajúcich správ">
+<!ENTITY enigmail.setupWiz.pgEnc.desc "OpenPGP umožňuje šifrovať vaše správy aj s prílohami.
+ Šifrovanie zabalí vaše dáta v správe do ochrannej obálky, aby ich nikto nepovolaný nemohol prečítať.
+ Nie je to len pre "tajné" správy, ale pre všetko, čo nechcete, aby niekto iný videl.
+ <html:br/><html:br/>
+ Po technickej stránke sa šifrovanie robí verejným kľúčom prijímateľa správy
+ a oproti podpisovaniu správy má tú nevýhodu (výhodu), že adresát správy si túto
+ správu prečíta len vtedy, ak má e-mailového klienta s podporou OpenPGP a súkromný kľúč na
+ dešifrovanie správy.
+ <html:br/><html:br/>
+ Nie všetci majú dostupný verejný kľúč na zašifrovanie správy, preto neodporúčame nastaviť automatické šifrovanie.">
+<!ENTITY enigmail.setupWiz.pgEnc.encryptAllMsg "Chcete automaticky šifrovať všetky odchádzajúce správy?">
+<!ENTITY enigmail.setupWiz.pgEnc.yesEncrypt "Áno, mám väčšinu verejných kľúčov pre adresy z môjho adresára">
+<!ENTITY enigmail.setupWiz.pgEnc.noEncrypt "Nie, nastavím si pravidlá pre šifrovanie">
+<!ENTITY enigmail.setupWiz.pgSettings.title "Nastavenia">
+<!ENTITY enigmail.setupWiz.pgSettings.subtitle "Zmeňte nastavenia, aby bolo vaše OpenPGP lepšie nastavené">
+<!ENTITY enigmail.setupWiz.pgSettings.desc "Tento sprievodca nastaví vaše nastavenia pre bezproblémové podpisovanie a šifrovanie správ vo vašom e-mailovom klientovi.
+ Tieto zmeny v nastaveniach majú technický význam a nastavia hlavne odosielanie správ v textovom formáte (nie HTML formát).">
+<!ENTITY enigmail.setupWiz.pgSettings.changePref "Chcete urobiť niekoľko nastavení pre lepší beh OpenPGP vo vašom PC?">
+<!ENTITY enigmail.setupWiz.pgSettings.details "Detaily ...">
+<!ENTITY enigmail.setupWiz.pgKeySel.title "Výber kľúča">
+<!ENTITY enigmail.setupWiz.pgKeySel.subtitle "Vytvoriť kľúč pre podpisovanie a šifrovanie správ">
+<!ENTITY enigmail.setupWiz.pgKeySel.desc "Sprievodca zistil, že už používate OpenPGP kľúč. Môžete používať existujúci kľúč, alebo vytvoriť nový pár kľúčov.">
+<!ENTITY enigmail.setupWiz.pgKeySel.createKey "Chcete vytvoriť nový pár kľúčov?">
+<!ENTITY enigmail.setupWiz.pgKeySel.newKey "Chcem vytvoriť nový pár kľúčov pre podpisovanie a šifrovanie správ">
+<!ENTITY enigmail.setupWiz.pgKeySel.useExistingKey "Chcem vybrať jeden z kľúčov pre popisovanie a šifrovqnie správ:">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.title "Vytvoriť kľúč">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.subtitle "Vytvoriť kľúč pre podpisovanie a šifrovanie správ">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.desc1 "Potrebujete mať dvojicu (pár) kľúčov pre podpisovanie a šifrovanie, alebo čítanie správ, ktoré sú zašifrované.
+ Pár kľúčov obsahuje dva kľúče. Verejný a Súkromný.">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.desc2 "Verejný kľúč slúži všetkým na zašifrovanie správy pre vás (odšifrujete ich súkromným kľúčom) a pre overenie podpísanej správy od Vás.
+ Súkromný kľúč je váš privátny kľúč pre dešifrovanie správ, ktoré pre vás niekto zašifroval. Súkromný kľúč je iba pre vás a nikomu ho neposielajte. Je to vaša digitálna identita. Kópiu si uložte na bezpečné miesto. Súkromný kľúč slúži aj na zrušenie platnosti (revokovanie) vášho kľúča. Súkromný kľúč je chránený heslom.">
+<!ENTITY enigmail.setupWiz.pgKeyCreate.passRepeat "Potvrďte vaše heslo znovu zadaním hesla">
+<!ENTITY enigmail.setupWiz.pgSummary.title "Súhrn">
+<!ENTITY enigmail.setupWiz.pgSummary.subtitle "Dokončením sprievodcu nastaveniami sa vykonajú nasledujúce operácie">
+<!ENTITY enigmail.setupWiz.pgSummary.desc "Ste takmer na konci! Ak kliknete na tlačidlo 'Ďalej', sprievodca vykoná nasledujúce operácie:">
+<!ENTITY enigmail.setupWiz.pgKeygen.title "Vytvorenie kľúčov">
+<!ENTITY enigmail.setupWiz.pgKeygen.subtitle "Vaše kľúče boli práve vygenerované">
+<!ENTITY enigmail.setupWiz.pgComplete.title "Ďakujeme">
+<!ENTITY enigmail.setupWiz.pgComplete.desc "OpenPGP je teraz pripravené na používanie.<html:br/><html:br/>Ďakujeme, že používate Enigmail.">
+<!ENTITY enigmail.setupWiz.details.title "Nastavenia">
+<!ENTITY enigmail.setupWiz.details.subtitle "Upravte nastavenia">
+<!ENTITY enigmail.setupWiz.details.imapOnDemand "Zakázať načítavanie IMAP častí na požiadanie">
+<!ENTITY enigmail.setupWiz.details.changingPrefs "Sprievodca nastaveniami vykonal nasledujúce:">
+<!ENTITY enigmail.setupWiz.details.noFlowedMsg "Zakázať flowed text (RFC 2646)">
+<!ENTITY enigmail.setupWiz.details.viewAsPlain "Zobraziť telo správy ako obyčajný text">
+<!ENTITY enigmail.setupWiz.details.8bitEncoding "Použiť 8-bitové kódovanie pre odosielanie správ">
+<!ENTITY enigmail.setupWiz.details.noComposeHTML "Nevytvárať HTML správy">
+<!ENTITY enigmail.setupWiz.pgNoStart.title "Ukončiť sprievodcu nastaveniami">
+<!ENTITY enigmail.setupWiz.pgNoStart.desc "Zvolili ste možnosť bez sprievodcu nastaveniami OpenPGP.
+ <html:br/><html:br/>Ďakujeme, že používate Enigmail.">
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/enigmail.properties
^
|
@@ -0,0 +1,432 @@
+Enigmail=Enigmail
+
+# Strings used within enigmailCommon.js
+
+enigAlert=OpenPGP upozornenie
+enigConfirm=OpenPGP potvrdenie
+enigError=OpenPGP chyba
+enigPrompt=OpenPGP výzva
+
+dlgYes=OK
+dlgNo=Zrušiť
+dlgNever=Viac sa nepýtať
+dlgKeepSetting=Zapamätať si odpoveď a viac sa nepýtať
+dlgNoPrompt=Nezobrazovať znovu tento dialóg
+
+configNow=Želáte si Enigmail %S teraz nakonfigurovať?
+configEnigmail=Konfigurovať Enigmail?
+
+repeatPrefix=\n\nToto upozornenie bude zopakované %S
+repeatSuffixSingular=jeden krát.
+repeatSuffixPlural=viac krát.
+noRepeat=\n\nToto upozornenie bude zobrazované pokiaľ nebude Enigmail aktualizovaný.
+
+noLogDir=V ladení si nastavtepriečinok pre vytváranie tohto záznamu
+noLogFile=Logovací súbor ešte nebol vytvorený!
+restartForLog=Reštartujte prosím aplikáciu, aby sa vytvoril logovací súbor
+pgpNotSupported=PGP od verzie 6.x nie je v Enigmaile štandardne podporované\n\nAk chcete, aby Vám Enigmail fungoval spoľahlivo, používajte GnuPG (GPG).\n\nAk potrebujete pomoc s prechodom na GPG, pozrite si Pomocníka, alebo Enigmail web stránku.
+avoidInitErr=Tomuto hláseniu sa môžete vyhnúť odstránením problému, alebo odinštalovaním Enigmailu - použitím ponuky Enigmail->Nastavenia...
+passphraseCleared=Heslo bolo vymazané.
+keyGeneration=Enigmail - Generovanie kľúča
+noPhotoAvailable=Foto neexistuje
+
+# Strings in enigmailAbout.js
+usingVersion=Je spustený Enigmail verzia %S
+versionWarning=Upozornenie: Nekompatibilná EnigMime verzia %S
+enigmimeWarning=Upozornenie: EnigMime modul nie je dostupný
+
+usingAgent=Použite %S spustitelný %S pre šifrovanie a dešifrovanie
+agentError=Chyba: Chýba prístup k službe Enigmail!
+
+# Strings in enigmailKeygen.js
+accessError=Chyba prístupu k službám Enigmail
+onlyGPG=Generovanie kľúča pracuje len s GnuPG (nie s PGP)!
+
+keygenComplete=Generovanie kľúča bolo úspešne ukončené! Identitu <%S> je možné používať na podpisovanie.
+revokeCertRecommended=Dôrazne sa odporúča vytvoriť revokačný certifikát pre váš kľúč. Týmto certifikátom môžete znefunkčniť váš kľúč, napríklad ak by ste stratili súkromný kľúč alebo podobne a hrozilo by zneužitie. Chcete teraz vytvoriť revokačný certifikát?
+genCompleteNoSign=Generovanie kľúča bolo úspešne ukončené!
+genGoing=Prebieha generovanie kľúča!
+
+passNoMatch=Heslá sa nezhodujú, zadajte ich ešte raz
+passCheckBox=Označte, ak si neželáte použiť heslo (neodporúčame)
+passUserName=Zadajte prosím používateľa pre túto identitu
+passCharProblem=Použili ste špeciálne znaky v hesle. To môže spôsobiť problémy v iných aplikáciách. Zadajte prosím heslo pomocou nasledujúcich znakov:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
+changePassFailed=Heslo NEBOLO zmenené.
+removePassphrase=Chcete odstrániť aktuálne heslo bez vytvorenia nového?
+
+keyConfirm=Vytvorit verejný aj súkromný kľúč pre '%S'?
+keyAbort=Zrušiť generovanie kľúča?
+expiryTooLong=Nemožno vytvoriť kľúč s časom vypršania väčším ako 100 rokov.
+expiryTooShort=Váš kľúč musí byť platný aspoň jeden nasledujúci deň.
+keyGenFailed=Generovanie kľúča zlyhalo. Skontrolujte prosím OpenPGP konzolu (Ponuka OpenPGP > Ladenie OpenPGP) , kde sa dozviete detaily.
+keyGenNoPassphrase=bez hesla
+
+# Strings in enigmailMessengerOverlay.js
+pubKeyNeeded=Pre overenie podpisu potrebujete verejný kľúč.
+keyImport=\n\nKliknite na tlačidlo OK pre import verejného kľúča %S zo servera kľúčov.
+keyImportError=Nemožno prijať verejný kľúč\n\n
+securityInfo=OpenPGP bezpečnostné informácie\n\n
+
+enigHeader=OpenPGP:
+enigNote=Poznámka z OpenPGP: Prílohy tejto správy nemôžu byť podpísané alebo zašifrované.
+enigContentNote=OpenPGP: *Prílohy tejto správy nemôžu byť podpísané alebo zašifrované*\r\n\r\n
+possiblyPgpMime=Správa je pravdepodobne šifrovaná pomocou PGP/MIME. Kliknite na tlačidlo Dešifrovať pre overenie.
+
+noDecrypted=Neexistuje dešifrovaná správa pre uloženie!\nPoužite možnosť Uložiť z ponuky Súbor
+noMessage=Žiadna správa pre uloženie!
+useButton=Použite tlačidlo Dešifrovať pre dešifrovanie správy
+saveHeader=OpenPGP: Uložiť dešifrovanú správu
+saveAttachmentHeader=OpenPGP: Uložiť dešifrovanú prílohu
+noTempDir=Nemožno nájsť dočasný priečinok (tmp) pre zápis\nNastavte prosím premennú TEMP (dočasný priečinok)
+attachmentPgpKey=Príloha '%S' nemôže byť otvorená pomocou PGP kľúča.\n\n Kliknite na OK pre import potrebného kľúča, alebo Zrušiť pre prehliadnutie obsahu v okne
+
+beginPgpPart=********* *ZACIATOK ZASIFROVANEJ alebo PODPISANEJ CASTI* *********
+endPgpPart=********** *KONIEC ZASIFROVANEJ alebo PODPISANEJ CASTI* **********
+notePartEncrypted=OpenPGP: *Niektoré časti správy nemôžu byť zašifrované alebo podpísané*
+noteCutMessage=OpenPGP: *Správa obsahuje viac častí -- dešifrovanie/overenie zlyhalo*
+
+decryptOkNoSig=Upozornenie\n\nDešifrovanie je ukončené, ale podpis nebol korektne overený
+contAnyway=Chcete pokračovať?
+noPgpMessage=Správa nie je zašifrovaná alebo podpísaná pomocou OpenPGP
+
+# Strings in enigmailMsgComposeOverlay.js
+keysToExport=Vyberte PGP kľúč pre vloženie
+keysToUse=Vyberte OpenPGP kľúč(e) pre %S
+pubKey=Verejný kľúč pre %S\n
+
+windowLocked=Vytvorenie správy je zamknuté; odoslanie zrušené
+sendUnencrypted=Nepodarilo sa inicializovať Enigmail.\nChcete odoslať správu nezašifrovanú?
+composeSpecifyEmail=Zadajte prosím svoju adresu, ktorá bude použitá pri podpisovaní odchádzajúcej správy.\n Ak túto položku nevyplníte, bude pre podpis použitá položka OD v adrese správy.
+sendingBCC=Táto správa je typu BCC (blind copy - skrytá kópia). Ak je táto správa určená pre zašifrovanie, všetci adresáti budú tiež použitý ako BCC adresáti a budú v šifrovacom zozname. \n\nKliknite na OK pre zašifrovanie, alebo Zrušiť pre zablokovanie odoslania.
+sendingNews=Správu sa nepodarilo zašifrovať a odoslať.\n\nTáto správa nemôže byť zašifrovaná pretože je to správa pre diskusnú skupinu. Pošlite prosím správu ako nešifrovanú.
+noPGPMIME=PGP/MIME nie je prístupné!\nPoužiť inline PGP pre podpis/šifrovanie?
+hasHTML=HTML e-mail upozornenie:\nTáto správa môže obsahovať HTML, ktoré nie je možné podpísať/zašifrovať. V budúcnosti ak budete klikať na tlačidlo Nová/Odoslať stlačte na klávesnici SHIFT, pre odoslanie podpísanej správy.\nAk chcete podpisovať správy štandardne, odznačte prosím 'Vytvoriť správu v HTML' a v nastaveniach permanentne zakážte HTML mail pre tento e-mail účet.
+strippingHTML=Správa obsahuje HTML formátovanie a toto bude pri konvertovaní do čistého text formátu pri podpise/šifrovaní odstránené. Chcete naozaj pokračovať?
+attachWarning=Prílohy tejto správy nie sú lokálne a preto nemôžu byť zašifrované. Požiadavka na zašifrovanie najskôr uloží prílohy ako lokálne a až potom ich pridá ako prílohy. Chcete pokračovať?
+savingMessage=Chcete dešifrovať správu pred jej uložením?\n\nStlačte OK pre dešifrovanie, alebo Zrušiť pre uloženie nedešifrovanej správy.
+quotedPrintableWarn=Máte povolené 'quoted-printable' kódovanie pre odosielané správy. Toto môže spôsobiť nekorektné dešifrovanie a/alebo overenie vašej správy.\n Chcete vypnúť kódovanie 'quoted-printable' správ teraz?
+minimalLineWrapping=Máte nastavené zalamovanie riadkov po %S znakoch. Pre korektné šifrovanie a/alebo podpisovanie treba nastaviť maximíálne 68 znakov.\nChcete nastaviť maximálne 68 znakov teraz?
+warning=Upozornenie
+signIconClicked=Môžete manuálne modifikovať podpis.
+
+sendAborted=Odosielanie správy zlyhalo.\n\n
+
+statPGPMIME=PGP/MIME
+statSigned=PODPÍSANÉ
+statEncrypted=ŠIFROVANÉ
+statPlain=IBA TEXT
+
+offlineSave=Uložiť %S správu do %S priečinku pre Neodoslanú poštu?
+
+onlineSend=Odoslať správu ako %S do %S?
+offlineNote=Momentálne ste offline. Chcete uložiť správu do priečinku Neodoslaná pošta?
+encryptKeysNote=Poznámka: správa je šifrovaná pomocou ID/kľúčov: %S
+
+signFailed=Chyba v Enigmail; Šifrovanie/Podpisovanie zlyhalo; odoslať poštu nezašifrovanú?
+acctNotConfigured=Na používanie OpenPGP tento účet nie je nakonfigurovaný.\nOdoslať poštu nezašifrovanú?
+recipientsSelectionHdr=Vyberte adresáta pre šifrovanie
+
+configureNow=Pre tento účet nemáte OpenPGP nakonfigurovaný. Chcete ho nakonfigurovať teraz?
+
+signYes=Správa bude podpísaná
+signNo=Správa nebude podpísaná
+encryptYes=Správa bude šifrovaná
+encryptNo=Správa nebude šifrovaná
+rulesConflict=Konflikt pravidiel pre adresátov \n%S\n\nOdoslať správu s týmito nastaveniami?
+
+# Strings in enigmailMsgHdrViewOverlay.js
+keyNeeded=Verejný kľúč %S nemá overený podpis
+clickDecrypt=; kliknite na Dešifrovať
+clickDecryptRetry=; kliknite na Dešifrovať znovu
+clickPen=; kliknite na ikonu zlomeného pera
+clickPenDetails=; pre získanie podrobnejších informácií kliknite na ikonu zlomeného pera
+clickQueryPenDetails=; kliknite na ikonu zlomeného pera pre získanie podrobnejších informácií
+clickKey=; kliknite na ikonu pera
+clickQueryKeyDetails=; kliknite na ikonu kľúča pre získanie podrobnejších informácií
+clickKeyDetails=; kliknite na ikonu pera pre získanie podrobnejších informácií
+clickPenKeyDetails=; kliknite na ikonu pera alebo kľúča pre získanie podrobnejších informácií
+msgPart=Časť správy je %S
+msgSigned=podpísaná
+msgEncrypted=šifrovaná
+msgSignedAndEnc=podpísaná a šifrovaná
+
+reloadImapMessage=Znovu načítať kompletne IMAP správy pre dešifrovanie/overenie?
+reloadImapError=Chyba - IMAP správy sú veľmi veľké pre dešifrovanie/overenie
+
+unverifiedSig=Neoverený podpis
+incompleteDecrypt=Nekompletné dešifrovanie
+failedSig=Chyba - overovanie podpisu zlyhalo
+needKey=Chyba - chýba súkromný kľúč pre dešifrovanie správy
+failedDecrypt=Chyba - dešifrovanie zlyhalo
+badPhrase=Chyba - zlé heslo
+failedDecryptVerify=Chyba - dešifrovanie/overenie zlyhalo
+viewInfo=; Zobraziť > Bezpečnostné informácie správy pre detaily
+
+decryptedMsg=Dešifrovaná správa
+
+# Strings in enigmailNavigatorOverlay.js
+navEncryptError=Chyba pri šifrovaní a/alebo podpise správy.\n
+navDecryptError=Chyba pri dešifrovaní správy.\n
+
+# Strings in pref-enigmail.js
+uninstallConfirm=Naozaj chcete odstrániť všetky súbory spojené s OpenPGP? Mozilla komponenty aj chrome priečinky?
+uninstallFailOverlay=Nemožno odinštalovať OpenPGP komunikátor kvôli prekrývaniu RDF; nemožno odstrániť chrome jar súbor
+uninstallFailDelete=Chyba pri odstraňovaní súboru
+uninstallFail=Nepodarilo sa odinštalovať Enigmail
+uninstallSuccess=Enigmail bol úspešne odinštalovaný
+testNoSvc=EnigTest: Nie je prístup k službe Enigmail
+testNoEmail=EnigTest: Zadajte e-mailovú adresu pre testovanie
+testSucceeded=OpenPGP pracuje správne. Detaily získate v konzole dostupnej cez OpenPGP menu
+oldGpgVersion=Stará verzia OpenPGP.\n\nPoužívate GnuPG verzie %S, ktorá už nie je podporovaná. OpenPGP(Enigmail) potrebuje GnuPG verzie 1.2.5 alebo novšie; nainštalujte si prosím GnuPG novšej verzie, lebo OpenPGP nebude pracovať.
+locateGpg=Cesta k programu GnuPG
+invalidGpgPath=GnuPG nemôže byť spustené zo zadanej cesty. Služba OpenPGP je teraz deaktivovaná pokiaľ nenastavíte správnu cestu k GnuPG a nereštartujete aplikáciu.
+warningsAreReset=Všetky upozornenia boli resetované.
+prefs.gpgFound=GnuPG sa nachádza v %S
+prefs.gpgNotFound=GnuPG sa nepodarilo nájsť
+prefs.warnAskNever=Upozornenie: aktivácia tejto možnosti spôsobí odosielanie nešifrovaných správ bez upozornenia aj v prípade, že bude chýbať kľúč pre jedného z príjemcov -- Ak sa toto stane, OpenPGP vás nebude o tomto stave informovať!
+
+# Strings used in components/enigmail.js
+# (said file also re-uses some strings given above)
+
+enterPass=Zadajte prosím vaše %S heslo
+enterPassOrPin=Zadajte prosím vaše OpenPGP heslo, alebo SmartCard PIN
+repeatPass=Zadajte prosím znovu vaše OpenPGP heslo
+rememberPass=Pamätať si %S minút
+enterAdminPin=Zadajte prosím ADMIN PIN pre vašu SmartCard
+enterCardPin=Zadajte prosím Smartcard PIN
+
+notInit=Chyba - OpenPGP(Enigmail) nebol inicializovaný
+badCommand=Chyba - zlý šifrovací príkaz
+cmdLine=príkazový riadok a výstup:
+notRequired=Chyba - nie je požadované šifrovanie
+notComplete=Chyba - generovanie kľúča nebolo kompletné
+invalidEmail=Chyba - chybná adresa (adresy)
+noPassphrase=Chyba - nebolo zadané heslo
+noPGPblock=Chyba - Nebol nájdený správny OpenPGP blok údajov
+unverifiedReply=Niektorá časť správy (odpovede) bola pravdepodobne modifikovaná (zmenená)
+decryptToImport=Kliknite na Dešifrovať pre import bloku verejného kľúča v správe
+sigMismatch=Chyba - Poškodený podpis
+cantImport=Chyba v importovanom verejnom kľúči\n\n
+messageSizeError=Správa je pre overenie príliš veľká
+sc.noCardAvailable=Vo vašej čítačke nebola nájdená SmartCard\nVložte prosím vašu SmartCard a skúste to znovu
+sc.noReaderAvailable=Vaša SmartCard nie je prístupná\nPripojte prosím vašu SmartCard čítačku, vložte vašu kartu, a skúste to znovu
+
+gpgNotFound=Nie je možné nájsť GnuPG agenta '%S'.\nUistite sa, či máte správne zadanú cestu, k spustiteľnému GnuPG súboru v OpenPGP nastaveniach
+gpgNotInPath=Na zadanej ceste nie je možné nájsť spustiteľný GnuPG súbor.\nUistite sa prosím, či máte k spustiteľnému GnuPG súboru cestu správne zadanú v OpenPGP nastaveniach
+enigmimeNotAvail=Služba Enigmime nie je dostupná
+gpgAgentNotStarted=Nepodarilo sa spustiť program pgp-agenta, ktorý je potrebný pre vašu verziu GnuPG %S.
+
+prefUntrusted=NEOVERENÝ
+prefRevoked=REVOKOVANÝ (znefunkčnený) kľúč
+prefExpiredKey=VYPRŠANÝ (neplatný) kľúč
+prefExpired=VYPRŠANÉ (neplatné)
+prefGood=Podpis od %S je SPRÁVNY
+prefBad=Podpis od %S je ZLÝ
+
+failFingerprint=Chyba - Príkaz na extrakciu odtlačku prsta (fingerprint) zlyhal
+failMultiple=Chyba - Nájdený mnohonásobný kľúč pre %S
+failNoKey=Chyba - Chýba kľúč pre %S
+failOnlyGPG=Chyba - Iba GnuPG kľúč môže byť prijatý zo servera kľúčov
+failCancel=Chyba - Príjem kľúča zrušený používateľom
+failNoServer=Error - Nie je špecifikovaný server kľúčov pre príjem kľúča z
+failNoID=Chyba - Nešpecifikované ID kľúča na príjem kľúča pre
+failKeyExtract=Chyba - Príkaz na extrakciu kľúča zlyhal
+notFirstBlock=Chyba - Prvý OpenPGP blok nie je blok verejného kľúča
+importKeyConfirm=Importovať verejný kľúč vložený v správe?
+failKeyImport=Chyba - import kľúča zlyhal
+fileWriteFailed=Nemožno zapisovať do súboru %S
+
+successKeyImport=Kľúče boli úspešne importované
+
+importKey=Import verejného kľúča %S zo servera kľúčov:
+uploadKey=Odoslať verejný kľúč %S na server kľúčov:
+keyId=ID kľúča
+keyAndSigDate=Kľúč ID: 0x%S / Podpísaný: %S
+keyFpr=Odtlačok prsta (fingerprint): %S
+photoFor=PGP foto ID pre %S
+noEmailProvided=Chýba adresa!
+invalidRecp=Chybný adresáti: %S
+
+# Strings used in enigmailUserSelection.js
+selKeyExpired=Platnosť kľúča %S vypršala
+createdHeader=Vytvorené
+keyInvalid=NEPLATNÝ kľúč
+keyDisabled=ZAKÁZANÝ kľúč
+atLeastOneKey=Nevybrali ste žiadny kľúč! Musíte vybrať aspoň jeden kľúč
+
+# Strings used in enigmailAttachmentDialog.js
+pgpMimeNote=POZNÁMKA: PGP/MIME je podporovaný iba v niektorých e-mailových klientoch! V prostredí Windows je to Enigmail, OpenPGP, Sylpheed, Pegasus a Mulberry; v Linuxe/UNIXe a Mac OS X je v najčastejšie používaných e-mailových klientoch plná podpora. Ak uznáte za vhodné, vyberte %S voľbu.
+first=prvý
+second=druhý
+
+# Strings used in am-enigprefs.js
+encryptKeyHeader=Vyberte PGP kľúč pre šifrovanie
+identityName=Identita: %S
+
+# Strings used in enigmailSingleRcptSettings.js
+noEncryption=Aktivovali ste šifrovanie, ale nevybrali ste kľúč. V príkaze na šifrovanie správ pre %S, musíte vybrať jeden alebo viac správnych kľúčov z vášho zoznamu. Nechcete zašifrovať správu pre %S?
+noKeyToUse=(nie - nešifrovať)
+noEmptyRule=Pravidlo nesmie byť prázdne! Zadajte prosím adresu(y) do prvého poľa.
+invalidAddress=Nezadali ste správne adresu(y). Nezadávajte mená adresátov, ale iba adresy. Napríklad:\nZlé: Nejaké Meno <nejake.meno@domena.sk>\nSprávne: najake.meno@domena.sk
+noCurlyBrackets=Klasické zátvorky {} majú špeciálny význam a nemožno ich použiť v adrese. Ak chcete upraviť použitie porovnávania pre toto pravidlo, použite 'Použiť pravidlo ak adresát ...'.\nViac informácií získate v Pomocníkovi.
+
+# Strings used in enigmailRulesEditor.js
+never=Nikdy
+always=Vždy
+possible=Možno
+deleteRule=Naozaj chcete odstrániť vybrané pravidlo?
+nextRcpt=(Ďalší adresát)
+negateRule=Nie
+
+# Strings used in enigmailSearchKey.js
+needOnline=Funkcia, ktorú ste vybrali, nie je prístupná v offline režime. Prepnite sa do online a skúste to znovu.
+protocolNotSupported=Protokol '%S://' ktorý ste vybrali nie je podporovaný pre získanie OpenPGP kľúčov.
+gpgkeysDisabled=Mohlo by Vám pomôcť povolenie nastavenia 'extensions.enigmail.useGpgKeysTool'.
+noKeyserverConn=Nemožno sa pripojiť na server kľúčov %S.
+keyDownloadFailed=Nepodarilo sa získať kľúče zo servera kľúčov. Informácia o stave:\n%S
+internalError=Nastala vnútorná chyba. Kľúče nemožno získať alebo importovať.
+noKeyFound=Prepáčte, nebol nájdený žiadny kľúč pre Vami zadané adresy.
+
+# gpgkeys_%S je jeden z nástrojov príkazového riadka gpg, gpgkeys_hkp, gpgkeys_ldap, atd.
+gpgKeysFailed=Nepodarilo sa nájsť alebo získať kľúč zo servera kľúčov: gpgkeys_%S nemožno spustiť.
+
+
+# Strings in enigmailEditKeyTrustDlg.xul
+setKeyTrustFailed=Kľúč sa nepodarilo overiť (trustovať)
+setKeyTrustOK=Kľúč bol úspešne overený (trustovaný)
+
+# Strings in enigmailSignKeyDlg.xul
+signKeyFailed=Kľúč sa nepodarilo podpísať
+signKeyOK=Kľúč bol podpísaný
+undefinedError=Nastala neočakávaná chyba.
+keyAlreadySigned=Kľúč je už podpísaný, nemôže mať dva podpisy.
+noSignKeyExpired=Kľúč je neplatný (vypršala jeho platnosť). Tento kľúč si môžete podpísať na vlastnú zodpovednosť.
+
+
+# Strings in enigmailKeyManager.js
+keyMan.loadingKeys=Načítavanie kľúčov, čakajte...
+keyValid.unknown=neznámy
+keyValid.invalid=zlý
+keyValid.disabled=zakázaný
+keyValid.revoked=znefunkčnený
+keyValid.expired=vypršaný
+keyValid.noSubkey=neplatný podkľúč
+
+keyTrust.untrusted=nedôveryhodný
+keyTrust.marginal=skoro dôveryhodný
+keyTrust.full=dôveryhodný
+keyTrust.ultimate=bezpodmienečne dôveryhodný
+keyType.public=verejný
+keyType.publicAndSec=verejný/súkromný
+keyMan.enableKey=Povoliť kľúč
+keyMan.disableKey=Zakázať kľúč
+userAtt.photo=Používateľov atribút (JPEG obrázok)
+
+asciiArmorFile=ASCII kódovanie (*.asc)
+gnupgFile=GnuPG súbory
+saveRevokeCertAs=Vytvoriť a uložiť certifikát znefunkčnenia.
+revokeCertOK=Certifikát znefunkčnenia bol vytvorený. Pomocou neho môžete zrušiť platnosť vášho verejného kľúča, v tom prípade prídete aj o súkromný kľúč.\n\nUložte si tento kľúč na CD alebo Floppy Disk kvôli bezpečnosti. Ak sa niekto dostane k tomuto kľúču, môže zrušiť platnosť vášho verejného aj súkromného kľúča.
+revokeCertFailed=Certifikát znefunkčnenia sa nepodarilo vytvoriť.
+
+addUidOK=UID bolo úspešne pridané
+addUidFailed=Nepodarilo sa pridať UID
+noKeySelected=Musíte vybrať aspoň jeden kľúč za účelom vykonania vybranej operácie
+exportToFile=Export verejného kľúča do súboru
+exportSecretKey=Chcete uložiť súkromný kľúč medzi uložené OpenPGP kľúče?
+saveKeysOK=Kľúč bol úspešne uložený
+saveKeysFailed=Kľúč sa nepodarilo uložiť
+importKeysFailed=Import kľúča zlyhal
+enableKeyFailed=Povolenie/Zakázanie kľúča zlyhalo
+specificPubKeyFilename=%S (0x%S) verejný
+specificPubSecKeyFilename=%S (0x%S) verejný-súkromný
+defaultPubKeyFilename=Exportovaný verejný kľúč
+defaultPubSecKeyFilename=Exportované-verejné-a-súkromné-kľúče
+noSecretKeys=Nebol nájdený súkromný kľúč.\n\nChcete teraz vygenerovať svoj vlastný kľúč?
+
+sendKeysOk=Kľúč(e) bol úspešne odoslaný
+sendKeysFailed=Odoslanie kľúčov zlyhalo
+receiveKeysOk=Kľúč(e) boli úspešne aktualizované
+receiveKeysFailed=Získanie kľúčov zlyhalo
+
+importFromClip=Chcete importovať nejaký kľúč(e) zo schránky?
+copyToClipbrdFailed=Vybraný kľúč(e) sa nedajú skopírovať do schránky.
+copyToClipbrdOK=Kľúč(e) boli skopírované do schránky
+
+deleteSecretKey=UPOZORNENIE: Chystáte sa odstrániť súkromný kľúč!\nAk ho odstránite, nebudete môcť už nikdy prečítať správy zašifrované týmto kľúčom.\n\nNaozaj chcete odstrániť súkromný aj verejný kľúč\n'%S'?
+deleteMix=UPOZORNENIE: Chystáte sa odstrániť tajný kľúč!\nAk odstránite svoj tajný kľúč, nebudete už môcť dešifrovať žiadne správy zašifrované vašim verejným kľúčom.\n\nNaozaj chcete odstrániť obidva kľúče?
+deletePubKey=Chcete odstrániť verejný kľúč\n'%S'?
+deleteSelectedPubKey=Naozaj chcete odstrániť verejný kľúč?
+deleteKeyOk=Kľúč bol úspešne odstránený
+deleteKeyFailed=Kľúč sa nepodarilo odstrániť.
+revokeKeyAsk=Táto funkcia vytvorí a importuje certifikát znefunkčnenia kľúča. Naozaj chcete znefunkčniť kľúč %S?
+revokeKeyOk=Kľúč bol úspešne znefunkčnený. Ak je vás kľúč dostupný na serveri kľúčov nahrajte tento kľúč na server kľúčov, aby aj ostatný vedeli, že tento kľúč je už neplatný.
+revokeKeyFailed=Kľúč sa nepodarilo znefunkčniť.
+uploadingKey=Aktualizovanie kľúča(ov)...
+downloadingKey=Získanie kľúča(ov)...
+keyserverAccessAborted=zrušené
+refreshAllQuestion=Nevybrali ste žiadny kľúč. Chcete obnoviť všetky kľúče?
+refreshKey.warn=Upozornenie: Uvážte prosím, koľko máte kľúčov a ako rýchle máte pripojenie, môže to trvať dlhšie!\n\nPokračovať?
+
+# Strings in enigmailViewKeySigDlg.xul
+keySignatureLocal=Lokálny
+keySignatureExportable=Exportovateľný
+keySignatureNoKey=Bez kľúča
+userIdNotFound=(UID nenájdené)
+retrieveKeyConfirm=Kľúč nie je dostupný - chcete ho získať zo servera kľúčov?
+
+# Strings in enigmailManageUidDlg.xul
+changePrimUidFailed=Zmena primárneho používateľského ID zlyhala
+changePrimUidOK=Zmena primárneho používateľského ID bola úspešná
+deleteUidFailed=Zrušenie používateľského ID %S zlyhalo
+deleteUidOK=Zrušenie používateľského ID %S bolo úspešné
+revokeUidFailed=Znefunkčnenie používateľského ID %S zlyhalo
+revokeUidOK=Znefunkčnenie používateľského ID %S bolo úspešné. Ak je váš kľúč dostupný na serveri kľúčov, nahrajte tento kľúč tiež na server kľúčov, aby aj ostatní vedeli, že tento kľúč je už neplatný.
+revokeUidQuestion=Naozaj chcete znefunkčniť používateľské ID %S?
+deleteUidQuestion=Naozaj chcete odstrániť používateľské ID %S?\n\nPoznámka: týmto spôsobom však neznefunkčníte kľúč, ak je publikovaný na serveri kľúčov. Na to sa používa znefunkčnenie kľúča (revokácia).
+
+# Strings in enigmailKeyDetailsDlg.xul
+keyTypePublic=verejný kľúč
+keyTypeSubkey=podkľúč
+keyTypePair=pár kľúčov
+keyExpiryNever=nikdy
+keyAlgorithm_1=RSA
+keyAlgorithm_2=RSA
+keyAlgorithm_3=RSA
+keyAlgorithm_16=ELG
+keyAlgorithm_17=DSA
+keyAlgorithm_20=ELG
+
+# Strings in enigmailGenCardKey.xul
+keygen.started=Čakajte prosím, generuje sa kľúč ....
+keygen.completed=Kľúč bol vygenerovaný. ID nového kľúča je: 0x%S
+keygen.keyBackup=Kľúč bol zálohovaný ako %S
+keygen.passRequired=Zadajte prosím heslo ak chcete vytvoriť záložnú kópiu vášho kľúča mimo vašej SmartCard.
+
+# Strings in enigmailSetCardPin.xul
+cardPin.dontMatch=PIN nebol zadaný správne, zadajte ho znovu prosím
+cardPin.minLength=PIN musí obsahovať aspoň %S znakov, alebo čísiel
+cardPin.processFailed=Nepodarilo sa zmeniť PIN
+
+# Strings in enigRetrieveProgress.xul
+keyserverProgress.refreshing=Obnovujú sa kľúče, čakajte prosím ...
+keyserverProgress.uploading=Odosielajú sa kľúče, čakajte prosím ...
+keyserverTitle.refreshing=Obnovovanie kľúčov
+keyserverTitle.uploading=Odosielanie kľúčov
+
+# Strings in enigmailSetupWizard
+setupWizard.gpgNotFound=Nemožno nájsť GnuPG, zadajte prosím správnu cestu
+passphrase.min8keys=Vaše heslo obsahuje menej ako 8 znakov!
+setupWizard.applyAllId=Aktivovať OpenPGP pre všetky identity
+setupWizard.applySomeId=Aktivovať OpenPGP pre identitu: %S
+setupWizard.applySingleId=Aktivovať OpenPGP pre váš účet
+setupWizard.setAllPrefs=Nastaviť všetky dôležité nastavenia
+setupWizard.setSomePrefs=Nastaviť všetky dôležité nastavenia ručne
+setupWizard.setNoPrefs=Nenastavovať žiadne dôležité nastavenia
+setupWizard.createKey=Vytvoriť nový 2048-bit OpenPGP kľúč, platný 5 rokov
+setupWizard.useKey=Použiť existujúci OpenPGP kľúč ID %S pre podpisovanie
+setupWizard.encryptAll=Šifrovať všetky správy
+setupWizard.encryptNone=Nešifrovať všetky správy
+setupWizard.signAll=Podpisovať všetky správy
+setupWizard.signNone=Nepodpisovať všetky správy
+setupWizard.reallyCancel=Naozaj chcete zrušiť sprievodcu nastavením OpenPGP?
+setupWizard.locateGpg=Sprievodca nastavením nemohol nájsť GnuPG spustiteľný súbor (exe), nájdite ho prosím manuálne v nasledujúcom dialógu. Ak nemáte nainštalované GnuPG, prejdite prosím na stránku http://www.gnupg.org a nainštalujte ho.
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/help
^
|
+(directory)
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/help/compose.html
^
|
@@ -0,0 +1,86 @@
+<html>
+<head><title>Enigmail Help: Message Composition</title>
+</head>
+<body>
+<h1>Enigmail Help</h1>
+
+<h3>Using Enigmail when composing messages</h3>
+
+<ul>
+ <li><b>Enigmail menu in Mail/Compose window</b>
+ <ul>
+ <li><b>Sign message</b>: Enable/Disable sending signed mail. User is notified
+ if signing fails.
+ </li>
+ <li><b>Encrypt message</b>: Enable/Disable encryption to all recipient(s) before
+ sending. User is notified if encryption fails.
+ <ul>
+ <p>If <em>Display selection when necessary</em> is set in <b>Preferences
+ -> Key Selection tab</b>, a list of keys will pop up if there are addresses
+ in the list of recipients for the message for whom you have no public key.</p>
+ <p>If <em>Never display OpenPGP key selection dialog</em> is set in <b>Preferences
+ -> Key Selection tab</b>, and there are addresses in the list of recipients for
+ the message for whom you have no public key, the message will be sent unencrypted.</p>
+ </ul>
+ </li>
+ <li><b>Use PGP/MIME for this message</b>: Enable/Disable the use of
+ <a href="http://community.roxen.com/developers/idocs/rfc/rfc3156.html" target="_blank">PGP/MIME</a>
+ for this message.
+ <ul>
+ <p>If you know the recipient(s) can read mail using the PGP/MIME format,
+ you should use it.</p>
+ <p>This feature is dependent on the settings in <b>Preferences
+ -> PGP/MIME tab</b> being set to <em>Allow to use PGP/MIME</em> or <em>Always use
+ PGP/MIME</em>.</p>
+ </ul></li>
+ <li><b>Default composition options</b>: Submenu.
+ </p>
+ <ul>
+ <li><b>Signing/Encryption Options...</b>: shortcut to <b>Account Settings ->
+ OpenPGP Options.</b>
+ </li>
+ <li><b>Send options...</b>: shortcut to <b>Preferences ->
+ Send</b> tab.
+ </li>
+ <li><b>Key selection options...</b>: shortcut to <b>Preferences ->
+ Key Selection</b> tab.
+ </li>
+ <li><b>PGP/MIME options...</b>: shortcut to <b>Preferences ->
+ PGP/MIME</b> tab.
+ </li>
+ </li>
+ </ul>
+ <li><b>Undo encryption</b>: If there is a failure when actually sending mail,
+ such as the POP server not accepting the request, Enigmail will not know
+ about it, and the encrypted message will continue to be displayed in the
+ Compose window. Choosing this menu item will undo the encryption/signing,
+ reverting the Compose window back to its original text.<br>
+ <em>As a temporary fix, this option may also be used to decrypt the quoted
+ text when replying to encrypted messages. Enigmail should automatically
+ decrypt the quoted message, but if that fails for some reason, you can use
+ this menu item to force it.</em>
+ </li>
+ <li><b>Insert public key</b>: insert ASCII-armored public key block at the
+ current cursor location in the Compose window. You will be prompted for the
+ email addresses of the key(s) to be inserted. Keys inserted in this manner
+ will automatically be recognized at the receiving end by Enigmail. After
+ key insertion, you may still choose to sign/encrypt the mail as
+ needed. Also, do not insert more than one key block in a message; just
+ specify multiple email addresses, separated by commas or spaces, when
+ prompted.
+ </li>
+ <li><b>Clear save passphrase</b>: Clears cached passphrase. Useful if you
+ have multiple passphrases.
+ </li>
+ <li><b>Help</b>: Displays Help information from the website (this page).
+ </li>
+ </li>
+ </ul>
+</ul>
+<hr/>
+<p>
+Further help is available on the
+<a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail Help web page</a>
+</p>
+</body>
+</html>
\ No newline at end of file
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/help/editRcptRule.html
^
|
@@ -0,0 +1,107 @@
+<html>
+<head><title>Enigmail Help: Edit OpenPGP Rule</title>
+</head>
+<body>
+<h1>Enigmail Help</h1>
+
+<h3>Using the Enigmail Rules Editor: Edit OpenPGP Rule</h3>
+<p>In the Rules Editor, you can specify defaults per recipient for enabling
+encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this
+dialog, you can specify the rules for a single recipient, and for a group
+of recipients with very similar attributes.
+</p>
+<ul>
+ <li><span style="font-weight: bold;">Set OpenPGP Rules for</span>: Contains the email
+ addresses of the recipients (without names, i.e. just an address like
+ <tt>somebody@email.domain</tt>). You can specify several email addresses, separated by spaces.
+ The address specified here can consist of
+ only the domain section so that mail to any address at that domain will
+ be matched, e.g. <tt>@email.domain will</tt> allow matching to <tt>body@email.domain</tt>,
+ <tt>somebody@email.domain</tt>, <tt>anybody@email.domain</tt>, etc.
+ </li>
+ <li><span style="font-weight: bold;">Apply rule if recipient ...</span>:
+ This modifies the matching of the email addresses.
+ If multiple addresses are entered, the setting will apply to all.
+ The examples below are based on <tt>body@email.domain</tt>
+ entered in the <i>OpenPGP Rules</i> field above.
+ <ul>
+ <li><i>Is exactly</i>: with this setting, the rule will only trigger on
+ emails to <tt>body@email.domain</tt> (exact, case insensitive matching).
+ </li>
+ <li><i>Contains</i>: with this setting, any email address containing the string
+ is matched,
+ e.g. <tt>anybody@email.domain</tt> or <tt>body@email.domain.net</tt>
+ </li>
+ <li><i>Begins with</i>: with this setting, any email address starting with
+ the string is matched, e.g. <tt>body@email.domain.net</tt>,
+ <tt>body@email.domain-name.com</tt>.
+ </li>
+ <li><i>Ends with</i>: with this setting, any email address ending with
+ the string is matched, e.g. <tt>anybody@email.domain</tt>,
+ <tt>somebody@email.domain</tt>.
+ </li>
+ </ul>
+
+ </li>
+ <li><span style="font-weight: bold;">Continue with the next rule for the matching address</span><br>
+ Enabling this function will allow you to define a rule but not have
+ to specify a KeyID in the <em>Use the following OpenPGP keys:</em>
+ field, so that the email address is used to check for a key at the
+ time of sending. Also, further rules for the same address(es) will
+ be processed as well.
+ </li>
+ <li><span style="font-weight: bold;">Do not check further rules for the matching address</span><br>
+ Enabling this function stops processing any other rules for the
+ matching address(es) if this rule is matched; i.e. rule processing
+ continues with the next recipient.
+ </li>
+ <li><span style="font-weight: bold;">Use the following OpenPGP keys:</span><br>
+ Use the <em>Select Key(s)..</em> button to select the recipient
+ keys to be used for encryption. As in the action above, no further
+ rules for the matching address(es) are processed.
+ </li>
+ <li><span style="font-weight: bold;">Default for Signing</span>: enable or disable
+ message signing. This either uses or overrides what you have specified
+ in the message composition window. The values are:
+ </li>
+ <ul>
+ <li><i>Never</i>: disable signing, even if it was enabled in the message
+ composition window (overrules the other values)<br>
+ </li>
+ <li><i>Yes, if selected from in Message Composition</i>: leave signing
+ as specified in the message composition window
+ </li>
+ <li><i>Always</i>: enable signing, even if it was <span
+ style="font-style: italic;">not</span> enabled in the message
+ composition window
+ </li>
+ </ul>
+</ul>
+<div style="margin-left: 40px;">These signing settings are applied for
+all rules that match. If one of the rules disables signing, the message
+will not be signed, regardless of other rules that specify <i>Always</i>.<br>
+</div>
+<ul>
+ <li><span style="font-weight: bold;">Encryption</span>: enable or
+ disable message encryption. The allowed settings and their meaning are
+ the same as for message signing.</li>
+ <li><span style="font-weight: bold;">PGP/MIME</span>: enable or
+ disable the use of the PGP/MIME (RFC 3156) message encoding.
+ If PGP/MIME is disabled, the
+ messages are encoded using "inline PGP". The allowed values and their
+ meaning are the same as for message signing.
+ </li>
+</ul>
+<p>The rules are processed in the order displayed in the list in the
+<em>OpenPGP Rules Editor</em>. Whenever a rule
+matches a recipient and contains a OpenPGP Key ID, in addition to using the
+specified Key ID, the recipient is not considered anymore when processing
+further rules.
+</p>
+<hr/>
+<p>
+Further help is available on the
+<a href="http://enigmail.mozdev.org/pgprules_file.html" target="_blank">Enigmail Per-Recipient Settings page</a>
+</p>
+</body>
+</html>
\ No newline at end of file
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/help/messenger.html
^
|
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="sk"><head><title>Pomocník Enigmailu: Čítanie
+správ</title></head>
+<body><h1>Pomocník OpenPGP</h1>
+<h3>Používanie OpenPGP pri čítaní správ</h3>
+<ul> <li><b>Tlačidlo dešifrovať v hlavnom
+okne </b><br>Toto
+tlačidlo má niekoľko funkcií: dešifrovanie, overovanie, alebo import
+verejných kľúčov. Bežne prebieha
+dešifrovanie/overovanie automaticky,
+ale táto funkcia môže byť zakázaná v Nastaveniach. Ak nastane chyba,
+zobrazí sa krátka správa v stavovom riadku správy. Ak kliknete na
+ikonu Dešifrovať, zobrazí sa detailný výpis chýb vrátane GnuPG
+príkazov. </li> <li><b>Ikony pera a kľúča v hlavičke
+správy</b><br>
+Ikony pera a kľúča v hlavičke správy indikujú, či správa, ktorú čítate
+je podpísaná a (alebo) šifrovaná a či je podpis platný tj. že
+správa
+nebola zmenená. Ak bola správa zmenená, ikona pera sa zmení na ikonu
+zlomeného pera, ktorá indikuje neplatný podpis.<em></em><em></em>
+Ak kliknete pravým tlačidlom na ikonu pera alebo kľúča zobrazí sa
+ponuka s nasledujúcimi možnosťami: <ul> <li><em>OpenPGP
+Bezpečnostné informácie</em>: umožní zobraziť
+výstup GnuPG pre túto správu.</li> <li><em>Kopírovať
+OpenPGP bezpečnostné informácie</em>: kopíruje výstup z GnuPG do
+schránky; umožní napríklad vloženie do odpovedi na správu.</li> <li><em>Zobraz OpenPGP
+foto ID</em>: umožní zobraziť <em>Foto ID</em>
+osoby, ktorá zaslala danú správu, ak ho verejný kľúč obsahuje. (<em>Táto
+možnosť je dostupná len ak je fotografia vo verejnom kľúči uložená.)</em></li>
+<li><em>S/MIME Bezpečnostné informácie</em>: umožní
+zobraziť S/MIME Bezpečnostné informácie správy.</li> </ul>
+<p>Ak nemáte nastavené <em>keyserver-options
+auto-key-retrieve</em> v súbore <tt>gpg.conf</tt> a
+čítate správy, ktoré sú podpísané alebo šifrované, uvidíte v paneli
+správy ikonku <em>Pera</em>, na ktorom bude ešte <em>Otáznik</em>
+a v hornej časti sa zobrazí: <em>Časť správy bola podpísaná;
+kliknite na ikonku pera pre viac informácií</em> a potom sa vám na
+paneli zobrazia všetky OpenPGP údaje o podpísanej správe.</p>
+<p>Toto sa môže stať aj v prípade, že máte možnosť <em>keyserver-options
+auto-key-retrieve</em> nastavenú v súbore <tt>gpg.conf</tt>
+ale OpenPGP kľúč nie je dostupný na prednastavenom keyservere.</p>
+<p>Kliknutím na ikonku <em>Pera a Otázniku</em>
+sa vám zobrazí hlásenie že kľúč, ktorým bola správa podpísaná nemáte
+dostupný. Kliknutím na tlačidlo OK sa dostanete k ďalšiemu oknu, kde si
+môžete zo zoznamu keyserverov odkiaľ je možné stiahnuť odosieľateľov verejný
+kľúč.</p> <p>Pre nastavenia, ktorý z keyserverov chcete
+používať použite ponuku <b>OpenPGP -> Nastavenia
+-> Základné</b> a napíšte adresy do riadku<em>
+Keyserver(y) kľúčov:</em> viac adries oddelte čiarkou. <em>Prvý
+keyserver bude použitý ako predvolený.</em></p> </li> <li><b>Otváranie
+šifrovaných príloh / import priložených OpenPGP kľúčov</b><br>Prílohy
+nazvané *.pgp, *,asc a *.gpg je OpenPGP schopné rozpoznať a použiť.
+Pravým kliknutím na túto prílohu máte k dispozícií dve špecifické položky v
+kontextovej ponuke: <span style="font-style: italic;">Dešifrovať
+a Otvoriť</span> a <span style="font-style: italic;">Dešifrovať
+a uložiť</span>. Môžete použiť prvú možnosť, ak
+chcete prílohu najskôr otvoriť alebo druhú, ak
+chcete kľúč uložiť. Ak je príloha správy
+rozpoznaná ako súbor obsahujúci OpenPGP kľúč, budete vyzvaní či
+chcete kľúč importovať do vášho zoznamu kľúčov. </li>
+</ul><hr><p>Ďalšia pomoc je dostupná na
+stánkach <a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail Help (anglicky)</a>
+</p></body></html>
+
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/help/rulesEditor.html
^
|
@@ -0,0 +1,68 @@
+<html>
+<head><title>Enigmail Help: Rules Editor</title>
+</head>
+<body>
+<h1>Enigmail Help</h1>
+
+<h3>Using the Enigmail Rules Editor</h3>
+<p>In the Rules Editor, you can specify defaults per recipient for enabling
+encryption, signing and PGP/MIME, and to
+define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented
+on a single line:
+</p>
+<ul>
+ <li><span style="font-weight: bold;">Email</span>: the e-mail(s) from
+ the To:, Cc: and Bcc: fields to match. The matching works on <span
+ style="font-style: italic;">substrings</span> (Further details can be
+ found in the Edit Rule dialog)
+ </li>
+ <li><span style="font-weight: bold;">OpenPGP Key(s)</span>: a list of OpenPGP
+Key ID's to use for the recipient</li>
+ <li><span style="font-weight: bold;">Sign</span>: enable or disable
+ message signing. This either uses or overrides what you have specified
+ in the message composition window. The values are:
+ </li>
+ <ul>
+ <li><i>Never</i>: disable signing, even if it was enabled in the message
+ composition window (overrules the other values)<br>
+ </li>
+ <li><i>Possible</i>: leave signing as specified in the message composition
+ window</li>
+ <li><i>Always</i>: enable signing, even if it was <span
+ style="font-style: italic;">not</span> enabled in the message
+ composition window
+ </li>
+ </ul>
+</ul>
+<div style="margin-left: 40px;">These signing settings are applied for
+all rules that match. If one of the rules disables signing, the message
+will not be signed, regardless of other rules that specify <i>Always</i>.<br>
+</div>
+<ul>
+ <li><span style="font-weight: bold;">Encrypt</span>: enable or
+ disable message encryption. The allowed settings and their meaning are
+ the same as for message signing.</li>
+ <li><span style="font-weight: bold;">PGP/MIME</span>: enable or
+ disable the use of the PGP/MIME (RFC 3156) message encoding.
+ If PGP/MIME is disabled, the
+ messages are encoded using "inline PGP". The allowed values and their
+ meaning are the same as for message signing.
+ </li>
+</ul>
+<p>The rules are processed in the order displayed in the list. Whenever a rule
+matches a recipient and contains a OpenPGP Key ID, in addition to using the
+specified Key ID, the recipient is not considered anymore when processing
+further rules.</p>
+<p><i>Note:</i> The rule editor is not yet complete. It is possible to write
+some more advanced rules by directly editing the rules file (these rules
+should then not be edited anymore in the rule editor). <a
+href="http://enigmail.mozdev.org/pgprules_file.html" target="_blank">Further
+information</a> for directly editing the file
+is available on the Enigmail Homepage</p>
+<hr/>
+<p>
+Further help is available on the
+<a href="http://enigmail.mozdev.org/help.html" target="_blank">Enigmail Help web page</a>
+</p>
+</body>
+</html>
\ No newline at end of file
|
[-]
[+]
|
Added |
enigmail-0.95.7.tar.bz2/lang/sk-SK/upgrade_080.html
^
|
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/st
+rict.dtd">
+<html>
+<head>
+</head>
+<body>
+<h1>Upgrade Information for Enigmail 0.8x</h1>
+
+<p>Enigmail v0.8x for Thunderbird has received a new user interface!
+<b>If you are familiar with Enigmail versions prior to 0.81.0, please
+read this information before proceeding</b>.
+</p>
+<h2>Configuring Enigmail</h2>
+<p>Enigmail configuration is now split into two parts:</p>
+<ul>
+<li>Account specific settings for PGP key ID, default encryption
+/ signing
+</li>
+<li>Common global preferences
+</li>
+</ul>
+<h3>Account Specific Settings</h3>
+<p>The account specific settings are available through the menu <em>Tools
+-> Account Settings</em>. For each account there is now an
+<em>OpenPGP Security</em> list item which holds the options specific
+for each account.
+</p>
+<p>The PGP key settings from Enigmail v0.80.0 and earlier version are
+<b>not</b> converted into the new per-account settings.
+Enigmail is by default <b>disabled</b> for all accounts!
+</p>
+<h3>Common Global Preferences</h3>
+<p>The common global settings have been cleaned up and merged into one dialog.
+The preferences are either available through the Enigmail menu, or by clicking
+the <em>Advanced</em> button in the Account Manager's OpenPGP Security Preferences.
+</p>
+<p>A new option has been added that enables you to turn on encryption
+automatically if replying to an encrypted message. Note that this
+doesn't influence the settings for message signing.
+</p>
+<h2>Composing Messages</h2>
+<p>The behavior of Enigmail has been adapted to be more similar
+to the behavior of S/MIME. A new OpenPGP button has been added
+from where the encryption / signature settings can be selected.
+The Enigmail menu does no longer serve for sending encrypted or
+signed mails, sending isdone uniquely from the normal
+<em>Send</em> button or the File -> Send menu. <b>It is
+suggested that you try the new settings by sending a couple of
+mails to yourself before you use it actively</b>, so that you
+understand the new behavior.
+</p>
+<p>The settings for encrypting or signing a message are now visible
+in the lower right corner of the compose window, with small icons
+being displayed if signing or encryption is turned on.
+</p>
+
+<h2>Known Issues</h2>
+
+<ul>
+<li>Enigmail is not yet capable of remembering several passwords for
+different PGP keys. Either type in the password each time, or
+set the same password for all keys you're using.
+</li>
+</ul>
+</body>
+</html>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/package/Makefile.in
^
|
@@ -35,7 +35,7 @@
# Specify these as parameters to the make command
XPI_MODULE = enigmail
-XPI_MODULE_VERS = 0.95.6.0
+XPI_MODULE_VERS = 0.95.7.0
DEPTH = ../../../..
topsrcdir = @top_srcdir@
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/package/enigmail.js
^
|
@@ -67,6 +67,8 @@
const NS_ENIGCLINE_SERVICE_CID =
Components.ID("{847b3ab1-7ab1-11d4-8f02-006008948af5}");
+const ENIGMAIL_EXTENSION_ID = "{847b3a00-7ab1-11d4-8f02-006008948af5}";
+
// Contract IDs and CIDs used by this module
const NS_IPCSERVICE_CONTRACTID = "@mozilla.org/process/ipc-service;1";
const NS_IPCBUFFER_CONTRACTID = "@mozilla.org/process/ipc-buffer;1";
@@ -92,6 +94,7 @@
const NS_DOMSERIALIZER_CONTRACTID = "@mozilla.org/xmlextras/xmlserializer;1";
const NS_CATMAN_CONTRACTID = "@mozilla.org/categorymanager;1";
const NS_CLINE_SERVICE_CONTRACTID = "@mozilla.org/enigmail/cline-handler;1";
+const NS_EXTENSION_MANAGER_CONTRACTID = "@mozilla.org/extensions/manager;1"
// Interfaces
const nsISupports = Components.interfaces.nsISupports;
@@ -919,6 +922,7 @@
Enigmail.prototype.isUnix = false;
Enigmail.prototype.isWin32 = false;
+Enigmail.prototype.isMacOs = false;
Enigmail.prototype.isOs2 = false;
Enigmail.prototype.isDosLike = false;
@@ -1229,6 +1233,7 @@
this.isUnix = (this.platform.search(/X11/i) == 0);
this.isWin32 = (this.platform.search(/Win/i) == 0);
this.isOs2 = (this.platform.search(/OS\/2/i) == 0);
+ this.isMacOs = (this.platform.search(/Mac/i) == 0);
if (this.isOs2) {
this.quoteSign="\\\"";
@@ -1331,7 +1336,7 @@
this.detectGpgAgent(domWindow);
- if (this.useGpgAgent()) {
+ if (this.useGpgAgent() & (! this.isDosLike)) {
gEnvList.push("GPG_AGENT_INFO="+this.gpgAgentInfo.envStr);
}
@@ -1355,7 +1360,13 @@
var useAgent = false;
try {
- useAgent= (this.gpgAgentInfo.envStr.length>0 || this.prefBranch.getBoolPref("useGpgAgent"));
+ if (this.isDosLike && this.agentVersion < "2.0") {
+ // gpg-agent is not allowed for gpg v1.x on Dos-like systems
+ useAgent = false;
+ }
+ else {
+ useAgent= (this.gpgAgentInfo.envStr.length>0 || this.prefBranch.getBoolPref("useGpgAgent"));
+ }
}
catch (ex) {}
return useAgent;
@@ -1499,6 +1510,20 @@
command += " --version --version --batch --no-tty --charset utf8";
}
+ if (this.isMacOs) {
+ try {
+ var installLoc = Components.classes[NS_EXTENSION_MANAGER_CONTRACTID]
+ .getService(Components.interfaces.nsIExtensionManager)
+ .getInstallLocation(ENIGMAIL_EXTENSION_ID);
+ var extensionLoc = installLoc.getItemFile(ENIGMAIL_EXTENSION_ID, "components");
+ extensionLoc.append("gpg-wrapper.sh");
+ command = extensionLoc.path + " " + command;
+ }
+ catch (ex) {
+ ERROR_LOG("enigmail.js: Enigmail.initialize: cannot get extension location\n");
+ }
+ }
+
// This particular command execution seems to be essential on win32
// (In particular, this should be the first command executed and
// *should* use the shell, i.e., command.com)
@@ -1530,7 +1555,7 @@
this.agentPath = agentPath.replace(/\\/g, "\\\\");
}
- var versionParts = outStr.replace(/[\r\n].*/g,"").split(/ /);
+ var versionParts = outStr.replace(/[\r\n].*/g,"").replace(/ *\(gpg4win.*\)/i, "").split(/ /);
var gpgVersion = versionParts[versionParts.length-1]
this.agentVersion = gpgVersion;
@@ -1597,7 +1622,7 @@
DEBUG_LOG("enigmail.js: detectGpgAgent: no GPG_AGENT_INFO variable set\n");
this.gpgAgentInfo.preStarted = false;
- if ((this.agentVersion >= "1.9.92") && (! this.isDosLike)) {
+ if (this.agentVersion >= "2.0") {
var command = null;
var gpgConnectAgent = resolveAgentPath("gpg-connect-agent");
@@ -1616,7 +1641,7 @@
envFile.initWithPath(this.determineGpgHomeDir());
envFile.append(".gpg-agent-info");
- if (envFile.exists() && gpgConnectAgent &&
+ if (envFile.exists() && (!this.isDosLike) && gpgConnectAgent &&
gpgConnectAgent.isExecutable()) {
// try to connect to a running gpg-agent
@@ -1650,25 +1675,49 @@
throw Components.results.NS_ERROR_FAILURE;
}
- command += " --sh --daemon --write-env-file '"+envFile.path+"'";
- command += " --default-cache-ttl " + (this.getMaxIdleMinutes()*60);
- command += " --max-cache-ttl 999999"; // ca. 11 days
-
- var exitCode = this.ipcService.execPipe(command, false, "", "", 0,
- envList, envList.length,
- outStrObj, outLenObj, errStrObj, errLenObj);
-
- CONSOLE_LOG("enigmail> "+command.replace(/\\\\/g, "\\")+"\n");
- if (exitCode == 0) {
- var outStr = outStrObj.value;
- this.gpgAgentInfo.envStr = extractAgentInfo(outStrObj.value);
+ if (! this.isDosLike) {
+ command += " --sh --write-env-file '"+envFile.path+"'";
+ command += " --daemon";
+ command += " --default-cache-ttl " + (this.getMaxIdleMinutes()*60);
+ command += " --max-cache-ttl 999999"; // ca. 11 days
+
+ CONSOLE_LOG("enigmail> "+command.replace(/\\\\/g, "\\")+"\n");
+
+ var exitCode = this.ipcService.execPipe(command, false, "", "", 0,
+ envList, envList.length,
+ outStrObj, outLenObj, errStrObj, errLenObj);
+
+ if (exitCode == 0) {
+ var outStr = outStrObj.value;
+ this.gpgAgentInfo.envStr = extractAgentInfo(outStrObj.value);
+ }
+ else {
+ ERROR_LOG("enigmail.js: detectGpgAgent: gpg-agent output: "+errStrObj.value+"\n");
+ this.alertMsg(domWindow, EnigGetString("gpgAgentNotStarted", this.agentVersion));
+ throw Components.results.NS_ERROR_FAILURE;
+ }
}
else {
- ERROR_LOG("enigmail.js: detectGpgAgent: gpg-agent output: "+errStrObj.value+"\n");
- this.alertMsg(domWindow, EnigGetString("gpgAgentNotStarted", this.agentVersion));
- throw Components.results.NS_ERROR_FAILURE;
+ this.gpgAgentInfo.envStr = "dummy";
+ envFile.initWithPath(this.determineGpgHomeDir());
+ envFile.append("gpg-agent.conf");
+
+ var data="default-cache-ttl " + (this.getMaxIdleMinutes()*60)+"\n";
+ data += "max-cache-ttl 999999";
+ if (! envFile.exists()) {
+ try {
+ var flags = 0x02 | 0x08 | 0x20;
+ var fileOutStream = Components.classes[NS_LOCALFILEOUTPUTSTREAM_CONTRACTID].createInstance(Components.interfaces.nsIFileOutputStream);
+ fileOutStream.init(envFile, flags, 0600, 0);
+ fileOutStream.write(data, data.length);
+ fileOutStream.flush();
+ fileOutStream.close();
+ }
+ catch (ex) {}
+ }
}
+
}
}
DEBUG_LOG("enigmail.js: detectGpgAgent: GPG_AGENT_INFO='"+this.gpgAgentInfo.envStr+"'\n");
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/package/enigmail.spec
^
|
@@ -1,7 +1,7 @@
Name: mozilla-enigmail
-Version: 0.95.6.0
+Version: 0.95.7.0
Release: 1
-Requires: mozilla = 1.5, mozilla-mail = 1.5, mozilla-enigmime = 0.95.6.0
+Requires: mozilla = 1.5, mozilla-mail = 1.5, mozilla-enigmime = 0.95.7.0
Summary: Enigmail: GPG/PGP integration in Mozilla
Copyright: Mozilla Public License 1.1/GPL
Group: Applications/Internet
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/package/install.js
^
|
@@ -1,7 +1,7 @@
// Install script for Enigmail
var err;
-const APP_VERSION="0.95.6.0";
+const APP_VERSION="0.95.7.0";
const ABI_PLATFORM_LINUX="Linux_x86-gcc3";
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/package/install.rdf
^
|
@@ -5,7 +5,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>{847b3a00-7ab1-11d4-8f02-006008948af5}</em:id>
- <em:version>0.95.6</em:version>
+ <em:version>0.95.7</em:version>
<em:type>2</em:type> <!-- type = extension -->
<!-- Target Applications this extension can install into,
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/package/prefs/enigmail.js
^
|
@@ -155,7 +155,7 @@
pref("extensions.enigmail.warnClearPassphrase",true);
// display a warning if ISO-2022-JP is used
-pref("extensions.enigmail.warnIso2022jp", 1)
+pref("extensions.enigmail.warnIso2022jp", 1);
// display a warning when all keys are to be refreshed
pref("extensions.enigmail.warnRefreshAll",true);
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/content/contents.rdf
^
|
@@ -9,7 +9,7 @@
<!-- enigmail package information -->
<RDF:Description about="urn:mozilla:package:enigmail"
- chrome:displayName="Enigmail v0.95.6.0"
+ chrome:displayName="Enigmail v0.95.7.0"
chrome:author="Team Enigmail"
chrome:authorURL="http://enigmail.mozdev.org/"
chrome:name="enigmail"
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/content/enigmailAbout.htm
^
|
@@ -13,7 +13,7 @@
<p>
<font size="+1">
- OpenPGP provided by <b><a target="_new" href="http://enigmail.mozdev.org">Enigmail</a></b>
+ OpenPGP provided by <b><a target="_new" href="http://enigmail.mozdev.org/">Enigmail</a></b>
</font>
</p>
@@ -38,12 +38,12 @@
<li>User Support: <em>Barry Porter, John Clizbe, Olav Seyfarth</em></li>
<li> Website Management: <em>Olav Seyfarth, Shane M. Coughlan</em></li>
<li> Icons: <em>Jochen Eisinger (Modern), Jan Gerber (Classic), Frank Gerhardt</em></li>
- <li> Localization: <em>See the <a href="http://enigmail.mozdev.org/langpack.html" target="_blank">Enigmail Language Packs page</a></em></li>
- <li>Website hosting: <em><a href="http://www.mozdev.org" target="_blank">mozdev.org</a></em></li>
+ <li> Localization: <em>See the <a href="http://enigmail.mozdev.org/download/langpack.php" target="_blank">Enigmail Language Packs page</a></em></li>
+ <li>Website hosting: <em><a href="http://www.mozdev.org/" target="_blank">mozdev.org</a></em></li>
</ul>
- <p>Enigmail OpenPGP is updated frequently. Visit the Enigmail OpenPGP <a target="_blank" href="http://enigmail.mozdev.org/download.html">download page</a> to check for newer versions</p>
+ <p>Enigmail OpenPGP is updated frequently. Visit the Enigmail OpenPGP <a target="_blank" href="http://enigmail.mozdev.org/download/">download page</a> to check for newer versions</p>
<p> Enigmail OpenPGP is open source and licensed under the <a href="http://www.gnu.org/copyleft/gpl.html" target="_blank"> GNU General Public License </a> and the <a href="http://www.mozilla.org/MPL/" target="_blank">Mozilla Public License</a></p>
- <p>Visit our homepage at <a target="_blank" href="http://enigmail.mozdev.org">http://enigmail.mozdev.org</a></p>
+ <p>Visit our homepage at <a target="_blank" href="http://enigmail.mozdev.org/">http://enigmail.mozdev.org</a></p>
</body>
</html>
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/content/enigmailCommon.js
^
|
@@ -34,8 +34,8 @@
// enigmailCommon.js: shared JS functions for Enigmail
// This Enigmail version and compatible Enigmime version
-var gEnigmailVersion = "0.95.6";
-var gEnigmimeVersion = "0.95.6.0";
+var gEnigmailVersion = "0.95.7";
+var gEnigmimeVersion = "0.95.7.0";
// Maximum size of message directly processed by Enigmail
const ENIG_MSG_BUFFER_SIZE = 96000;
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/content/enigmailMsgComposeOverlay.js
^
|
@@ -2381,6 +2381,8 @@
},
+ NotifyComposeBodyReady: function() {},
+
SaveInFolderDone: function(folderURI) {
}
};
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/enigmail-en-US.spec
^
|
@@ -1,7 +1,7 @@
Name: mozilla-enigmail-en-US
-Version: 0.95.6.0
+Version: 0.95.7.0
Release: 1
-Requires: mozilla-enigmail = 0.95.6.0
+Requires: mozilla-enigmail = 0.95.7.0
Summary: Language pack for Enigmail (en-US)
Copyright: Mozilla Public License 1.1/GPL
Group: Applications/Internet
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/install.js
^
|
@@ -2,7 +2,7 @@
var chromeNode = "en-US";
-var vers = "0.95.6.0";
+var vers = "0.95.7.0";
var srDest = 10; // Disk space required for installation (KB)
var prettyName = chromeNode + " language pack for Enigmail";
|
[-]
[+]
|
Changed |
enigmail-0.95.7.tar.bz2/ui/locale/en-US/enigmail.dtd
^
|
@@ -27,7 +27,7 @@
<!ENTITY enigmail.preferences.label "OpenPGP Preferences">
<!ENTITY enigmail.passwordSettings.label "Passphrase settings">
-<!ENTITY enigmail.userNoPassphrase.label "Never ask for any passprase">
+<!ENTITY enigmail.userNoPassphrase.label "Never ask for any passphrase">
<!ENTITY enigmail.userNoPassphrase.tooltip "Activate if your OpenPGP key is not protected by a passphrase.">
<!ENTITY enigmail.expertUser.label "Display expert settings">
<!ENTITY enigmail.expertUser.tooltip "Activate if you want to see menu items and options for advanced users.">
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/af/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/be/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3=GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-5
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-5, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/bg/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=windows-1251
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ca/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/cs/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-2, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/da/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/de/mail/chrome/messenger-region/region.properties
^
|
@@ -1,7 +1,7 @@
#
# messenger.properties
# mailnews.js
-mailnews.hints_and_tips.url=http://www.mozilla-world.org/de/products/thunderbird/support
+mailnews.hints_and_tips.url=http://www.mozilla-europe.org/de/products/thunderbird/support
# To make mapit buttons to disappear in the addressbook, specify empty string. For example:
# mail.addr_book.mapit_url.format=
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/de/mail/chrome/messenger/prefs.properties
^
|
@@ -32,7 +32,7 @@
defaultEmailText=Geben Sie Ihre E-Mail-Adresse an. Diese Adresse ist jene, die andere verwenden, um Ihnen Nachrichten zu senden (zum Beispiel "%1$S@%2$S").
serverNameChanged=Die Servername-Einstellung wurde geändert.. Bitte überprüfen Sie, ob alle von Filtern verwendeten Ordner am neuen Server existieren.
prefPanel-copies=Kopien & Ordner
-modifiedAccountExists=Ein Konto mit diesem Benutzer- und Servernamen existiert bereits. Biite geben Sie einen anderen Benutzer- und/oder Servernamen ein.
+modifiedAccountExists=Ein Konto mit diesem Benutzer- und Servernamen existiert bereits. Bitte geben Sie einen anderen Benutzer- und/oder Servernamen ein.
accountExists=Ein E-Mail- oder Newsgruppen-Konto mit dem gleichen Benutzernamen und Servernamen existiert bereits. Gehen Sie zurück und geben Sie einen anderen Servernamen an oder wählen Sie "Abbrechen".
exampleEmailDomain=beispiel.de
choosefile=Datei auswählen
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/de/toolkit/chrome/global/intl.properties
^
|
@@ -13,4 +13,4 @@
intl.charsetmenu.browser.static=ISO-8859-1, ISO-8859-15, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/el/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/en-GB/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/es-AR/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/es-ES/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3 = GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = ISO-8859-1
intl.charset.detector =
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/eu/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/fi/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/fr/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/fr/toolkit/chrome/global/textcontext.dtd
^
|
@@ -10,7 +10,7 @@
<!ENTITY selectAllCmd.accesskey "t">
<!ENTITY deleteCmd.label "Supprimer">
<!ENTITY deleteCmd.accesskey "s">
-<!ENTITY spellAddToDictionary.label "Ajouter un dictionnaire">
+<!ENTITY spellAddToDictionary.label "Ajouter au dictionnaire">
<!ENTITY spellAddToDictionary.accesskey "A">
<!ENTITY spellEnable.label "Vérifier l'orthographe de ce champ">
<!ENTITY spellEnable.accesskey "V">
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ga-IE/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/he/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3 = GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = windows-1255
intl.charset.detector =
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/hu/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/it/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3 = GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = ISO-8859-1
intl.charset.detector =
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ja-JP-mac/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = Shift_JIS
intl.charset.detector = ja_parallel_state_machine
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ja/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4 = armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5 = ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode = UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default = Shift_JIS
intl.charset.detector = ja_parallel_state_machine
intl.charsetmenu.mailedit = ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ko/mail/chrome/messenger/SearchDialog.dtd
^
|
@@ -43,7 +43,7 @@
<!ENTITY linesColumn.label "행">
<!ENTITY unreadColumn.label "읽지 않음">
<!ENTITY totalColumn.label "전체">
-<!ENTITY readColumn.label "읽지 않음">
+<!ENTITY readColumn.label "읽음">
<!ENTITY starredColumn.label "별표">
<!ENTITY locationColumn.label "주소">
<!ENTITY idColumn.label "받은 순서">
@@ -58,9 +58,9 @@
<!ENTITY statusColumn.tooltip "메일 상태로 정렬">
<!ENTITY sizeColumn.tooltip "크기로 정렬">
<!ENTITY junkStatusColumn.tooltip "스팸 상태로 정렬">
-<!ENTITY unreadColumn.tooltip "읽지 않은 메일 개수">
+<!ENTITY unreadColumn.tooltip "글타래의 읽지 않은 메일 수">
<!ENTITY totalColumn.tooltip "메시지 전체 개수">
-<!ENTITY readColumn.tooltip "읽지 않은 메일 개수">
+<!ENTITY readColumn.tooltip "읽은 상태로 정렬">
<!ENTITY starredColumn.tooltip "별표로 정렬">
<!ENTITY locationColumn.tooltip "주소로 정렬">
<!ENTITY idColumn.tooltip "받은 순서로 정렬">
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ko/mail/chrome/messenger/messenger.dtd
^
|
@@ -147,7 +147,7 @@
<!ENTITY sortBySenderCmd.accesskey "n">
<!ENTITY sortByRecipientCmd.label "받는 사람">
<!ENTITY sortByRecipientCmd.accesskey "c">
-<!ENTITY sortByUnreadCmd.label "읽지 않은 메일">
+<!ENTITY sortByUnreadCmd.label "읽음">
<!ENTITY sortByUnreadCmd.accesskey "R">
<!ENTITY sortByOrderReceivedCmd.label "받은 순서">
<!ENTITY sortByOrderReceivedCmd.accesskey "O">
@@ -483,9 +483,9 @@
<!ENTITY sizeColumn.label "크기">
<!ENTITY junkStatusColumn.label "스팸 상태">
<!ENTITY linesColumn.label "행">
-<!ENTITY unreadColumn.label "읽지 않은 메일:">
-<!ENTITY totalColumn.label "전체:">
-<!ENTITY readColumn.label "글타래">
+<!ENTITY unreadColumn.label "읽지 않음">
+<!ENTITY totalColumn.label "전체">
+<!ENTITY readColumn.label "읽음">
<!ENTITY starredColumn.label "별표">
<!ENTITY locationColumn.label "주소">
<!ENTITY idColumn.label "받은 순서">
@@ -501,9 +501,9 @@
<!ENTITY statusColumn.tooltip "메일 상태로 정렬">
<!ENTITY sizeColumn.tooltip "크기로 정렬">
<!ENTITY junkStatusColumn.tooltip "스팸 상태로 정렬">
-<!ENTITY unreadColumn.tooltip "읽지 않은 메시지 개수">
-<!ENTITY totalColumn.tooltip "메시지 전체 개수">
-<!ENTITY readColumn.tooltip "읽지 않은 메시지 개수">
+<!ENTITY unreadColumn.tooltip "글타래의 읽지 않은 메시지 수">
+<!ENTITY totalColumn.tooltip "글타래의 메시지 전체 수">
+<!ENTITY readColumn.tooltip "읽은 상태로 정렬">
<!ENTITY starredColumn.tooltip "별표로 정렬">
<!ENTITY locationColumn.tooltip "주소로 정렬">
<!ENTITY idColumn.tooltip "받은 순서로 정렬">
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ko/toolkit/chrome/global/intl.properties
^
|
@@ -7,7 +7,7 @@
intl.charsetmenu.browser.more3=GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=EUC-KR
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ko/toolkit/chrome/mozapps/downloads/downloads.properties
^
|
@@ -27,7 +27,7 @@
statusFormatUnknownMB=#1 MB
remain=남음
unknownFilesize=알 수 없는 크기
-statusFormat=속도: #1 (전송 속도: #2 KB/초 - 남은 시간: #3)
+statusFormat=용량: #1 (전송 속도: #2 KB/초 - 남은 시간: #3)
longTimeFormat= #1:#2:#3
shortTimeFormat=#2:#3
fileDoesNotExistOpenTitle=%S를 열 수 없음
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ko/toolkit/chrome/mozapps/update/updates.properties
^
|
@@ -19,7 +19,7 @@
pauseButtonPause=중지
pauseButtonResume=재실행
-updatesfound_minor.title=없데이트 가능
+updatesfound_minor.title=업데이트 가능
updatesfound_major.title=새 버전으로 업데이트
progressFormatKBKB=#1 / #2 KB
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/lt/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=windows-1257
intl.charset.detector=
intl.charsetmenu.mailedit=windows-1257, ISO-8859-13, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-14, ISO-8859-2, GB2312, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/mk/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=UTF-8
intl.charset.detector=
intl.charsetmenu.mailedit=UTF-8, ISO-8859-5, windows-1251, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/nb-NO/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/nl/mail/chrome/messenger-region/region.properties
^
|
@@ -1,7 +1,7 @@
#
# messenger.properties
# mailnews.js
-mailnews.hints_and_tips.url=http://www.mozilla-world.org/nl/products/thunderbird/support
+mailnews.hints_and_tips.url=http://www.mozilla-nl.org/ondersteuning/thunderbird
# To make mapit buttons to disappear in the addressbook, specify empty string. For example:
# mail.addr_book.mapit_url.format=
# The format for "mail.addr_book.mapit_url.format" is:
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/nl/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/nn-NO/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/pa-IN/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/pl/toolkit/chrome/global/intl.properties
^
|
@@ -28,7 +28,7 @@
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/pt-BR/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/pt-PT/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ru/mail/chrome/messenger-region/region.properties
^
|
@@ -1,2 +1,2 @@
-mailnews.hints_and_tips.url = http://www.mozilla-world.org/ru/products/thunderbird/support
+mailnews.hints_and_tips.url = http://www.mozilla-russia.org/products/thunderbird/support/
mail.addr_book.mapit_url.format = http://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ru/mail/chrome/messenger-smime/msgSecurityInfo.properties
^
|
@@ -15,7 +15,7 @@
SIRevoked=Сертификат, используемый для подписи сообщения, был отозван. Вам не следует считать это сообщение действительным, пока вы не удостоверитесь у отправителя, что его содержание не было изменено.
EIValid=Это сообщение было зашифровано перед отправкой. Шифрование делает сложным, но не невозможным просмотр информации другими людьми во время её доставки по сети.
SINoneLabel=Сообщение не содержит цифровую подпись
-SIContentAltered=Подпись неполностью соответствует содержимому сообщения. Похоже, что оно было изменено после того, как отправитель подписал его. Вам не следует считать это сообщение действительным, пока вы не удостоверитесь у отправителя, что его содержание не было изменено.
+SIContentAltered=Подпись не соответствует содержимому сообщения. Похоже, что оно было изменено после того, как отправитель подписал его. Вам не следует считать это сообщение действительным, пока вы не удостоверитесь у отправителя, что его содержание не было изменено.
SPCannotHeader=Вы не можете поставить на это сообщение цифровую подпись.
SIValid=Это сообщение содержит действительную цифровую подпись. Оно не было изменено после отправки.
SIPartiallyValidLabel=Сообщение содержит цифровую подпись
@@ -48,5 +48,5 @@
EIContentAltered=Содержание этого сообщения, видимо, было изменено во время передачи.
SIRevokedCA=Сертификат, используемый для подписи сообщения, был выдан центром сертификации, чей собственный сертификат был отозван. Вам не следует считать это сообщение действительным, пока вы не удостоверитесь у отправителя, что его содержание не было изменено.
SPNoCert=Вы не указали действительный сертификат для создания цифровых подписей.
-SIHeaderMismatch=Подпись не полностью соответствует заголовкам сообщения. Видимо, сообщение было изменено после подписи отправителем. Вам не следует считать это сообщение действительным, пока вы не удостоверитесь у отправителя, что его содержание не было изменено.
+SIHeaderMismatch=Адрес электронной почты сертификата подписи отличается от адреса электронной почты отправителя. Чтобы узнать о том, кто подписал это сообщение, просмотрите сертификат подписи.
EPNoCerts=У вас нет действительных сертификатов для следующих адресатов:
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ru/mail/chrome/messenger/AccountWizard.dtd
^
|
@@ -57,7 +57,7 @@
<!ENTITY accnameLabel.label "Имя учётной записи:">
<!ENTITY accnameLabel.accesskey "у">
<!ENTITY completionTitle.label "Поздравляем!">
-<!ENTITY completionText.label "Пожалуйста проверьте, что привёденная ниже информация верна.">
+<!ENTITY completionText.label "Пожалуйста проверьте, что приведённая ниже информация верна.">
<!ENTITY serverTypePrefix.label "Тип сервера входящей почты:">
<!ENTITY serverNamePrefix.label "Имя сервера входящей почты:">
<!ENTITY smtpServerNamePrefix.label "Имя сервера исходящей почты (SMTP):">
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ru/mail/chrome/messenger/messenger.properties
^
|
@@ -141,7 +141,7 @@
priorityHighest = Самая высокая
today = Сегодня
yesterday = Вчера
-lastWeek = Неделю назад
+lastWeek = За последнюю неделю
twoWeeksAgo = Две недели назад
older = Старая почта
untaggedMessages = Сообщения без метки
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/ru/toolkit/chrome/global/intl.properties
^
|
@@ -15,4 +15,4 @@
intl.charsetmenu.browser.static=windows-1251, KOI8-R, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/sk/toolkit/chrome/global/intl.properties
^
|
@@ -22,7 +22,7 @@
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, iso-8859-11, windows-874, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=win-1250
intl.charset.detector=
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/sl/toolkit/chrome/global/intl.properties
^
|
@@ -15,7 +15,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-2
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-2, ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/sv-SE/toolkit/chrome/global/intl.properties
^
|
@@ -51,7 +51,7 @@
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
# Localization Note: Never change the following entry.
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=ISO-8859-1
intl.charset.detector=universal_charset_detector
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, GB18030, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/tr/toolkit/chrome/global/intl.properties
^
|
@@ -14,7 +14,7 @@
intl.charsetmenu.browser.static=ISO-8859-9, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
# valid intl.menuitems.insertseparatorbeforeaccesskeys are: true or false, <empty string> (missing or empty preference equals false)
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/uk/toolkit/chrome/global/intl.properties
^
|
@@ -13,4 +13,4 @@
intl.charsetmenu.browser.static=windows-1251, KOI8-R, UTF-8
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/zh-CN/mail/chrome/messenger/msgViewPickerOverlay.dtd
^
|
@@ -1,4 +1,4 @@
-<!ENTITY viewPicker.label "查看:">
+<!ENTITY viewPicker.label "视图:">
<!ENTITY viewPicker.accesskey "i">
<!ENTITY viewAll.label "全部">
<!ENTITY viewAll.accesskey "A">
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/zh-CN/toolkit/chrome/global/intl.properties
^
|
@@ -15,4 +15,4 @@
intl.charsetmenu.browser.static=GB18030, UTF-8, ISO-8859-1
intl.charsetmenu.browser.more1=ISO-8859-1, ISO-8859-15, IBM850, x-mac-roman, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3
intl.collationOption=
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
|
[-]
[+]
|
Changed |
l10n-2.0.0.18.tar.bz2/zh-TW/toolkit/chrome/global/intl.properties
^
|
@@ -8,7 +8,7 @@
intl.charsetmenu.browser.more3=Big5, GB2312, x-gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR
intl.charsetmenu.browser.more4=armscii-8, GEOSTD8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
intl.charsetmenu.browser.more5=ISO-8859-6, windows-1256, IBM864, x-mac-arabic, x-mac-farsi, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862, x-mac-hebrew
-intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, UTF-7
+intl.charsetmenu.browser.unicode=UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE
intl.charset.default=Big5
intl.charset.detector=
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, Big5, GB2312, GB18030, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, windows-1255, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
|
Changed |
mailredirect-0.7.5.xpi
^
|
|
Deleted |
thunderbird-2.0.0.16-source.tar.bz2
^
|
|
Added |
thunderbird-2.0.0.18-source.tar.bz2
^
|