Update translation and messages

- extended russian translation by Pavel Belly
 - dropped approach to create sentences from different parts
   like "Successfully created %1 '%2'" with %1 being "the certificate"
   and %2 being the name. This leads to trouble for other languages.
   Therefore I decided to mention the whole sentences and accept
   the many, almost duplicated sentences.

 - Consolidate german translation:
   . Smart card/Smartcard -> Chipkarte
   . Besitzer -> Inhaber
   . Unterschriftsanfrage/Zertifikatsanfrage -> Zertifikatsantrag

 - Support translations for pki_*.cpp by adding Q_OBJECT
This commit is contained in:
Christian Hohnstaedt 2010-05-16 14:47:10 +02:00
parent 45eaa3b7ab
commit 670c45e268
37 changed files with 1041 additions and 666 deletions

View File

@ -2,7 +2,7 @@
.SH NAME
xca \- X Certificate and key management
.br
A GUI for handling X509 certificates, RSA/DSA/EC keys, PKCS#10 Requests and CRLs in Software and on Smart cards.
A GUI for handling X509 certificates, RSA/DSA/EC keys, PKCS#10 Requests and CRLs in Software and on Smartcards.
.SH SYNOPSIS
.B xca
.RI [ -v ]
@ -17,7 +17,7 @@ is supported. Both can use templates for simplicity.
The PKI structures can be imported and exported in several formats
like PKCS#12, PEM, DER, PKCS#8, PKCS#7.
.br
XCA enables users to manage smart cards via the PKCS#11 interface
XCA enables users to manage smartcards via the PKCS#11 interface
.SH OPTIONS
A summary of options are included below.

View File

@ -11,7 +11,7 @@
<abstract>
This application is intended for creating and managing X.509 certificates, certificate requests, RSA, DSA and EC private keys, Smart cards and CRLs.
This application is intended for creating and managing X.509 certificates, certificate requests, RSA, DSA and EC private keys, Smartcards and CRLs.
Everything that is needed for a CA is implemented.
All CAs can sign sub-CAs recursively. These certificate chains are shown clearly.
For an easy company-wide use there are customiseable templates that can be used for certificate or request generation.
@ -494,13 +494,13 @@ noticeNumbers=1,2,3,4
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<sect>Smart cards (Security tokens)
<sect>Smartcards (Security tokens)
<p>
Since XCA 0.8.0 the use of Smart cards (Security tokens) is supported.
Since XCA 0.8.0 the use of Smartcards (Security tokens) is supported.
It is based on the PKCS#11 standard. The Options dialog contains an input field to select a PKCS#11 library.
This is not restricted to Smart cards but includes all type of security tokens like USB tokens.
This is not restricted to Smartcards but includes all type of security tokens like USB tokens.
The default is <tt>/usr/lib/opensc-pkcs11.so</tt> and <tt>opensc-pkcs11.dll</tt> in the XCA installation path, depending on your OS.
<p>
@ -527,7 +527,7 @@ It is of course possible to create your own keys on the token.
When selecting a token-key for signing, XCA verifies that the
corresponding token is available.
The following actions with smart cards are supported:
The following actions with smartcards are supported:
<itemize>
<item>Import keys and certificates from the token.
@ -576,7 +576,7 @@ a missing public-key object is the cause.
A new menu item: <tt>Token</tt> is accessible if a PKCS#11 library was loaded and initialized.
<sect2>Managing Smart cards
<sect2>Managing Smartcards
<p>

File diff suppressed because it is too large Load Diff

View File

@ -311,7 +311,7 @@
<context>
<name>CertView</name>
<message>
<location filename="../lib/db_x509.cpp" line="+898"/>
<location filename="../lib/db_x509.cpp" line="+896"/>
<source>There was no key found for the Certificate: </source>
<translation type="unfinished"></translation>
</message>
@ -668,17 +668,17 @@ PKCS#8 es un formato estandar de intercambio de claves</translation>
</message>
<message>
<location filename="../widgets/ImportMulti.cpp" line="+101"/>
<location line="+127"/>
<location line="+135"/>
<source>The type of the Item &apos;%1&apos; is not recognized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-48"/>
<source>The new name of %1 &apos;%2&apos;</source>
<location line="-56"/>
<source>Rename &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+97"/>
<location line="+105"/>
<source>Details of the item &apos;%1&apos; cannot be shown</source>
<translation type="unfinished"></translation>
</message>
@ -687,11 +687,6 @@ PKCS#8 es un formato estandar de intercambio de claves</translation>
<source>The type of the item &apos;%1&apos; is not recognized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>Successfully imported the %1 &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/ImportMulti.ui" line="-79"/>
<source>Import PKI Items</source>
@ -708,7 +703,7 @@ PKCS#8 es un formato estandar de intercambio de claves</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/ImportMulti.cpp" line="-262"/>
<location filename="../widgets/ImportMulti.cpp" line="-232"/>
<source>
Name: %1
Model: %2
@ -845,7 +840,7 @@ Serial: %3</source>
<translation type="unfinished">Contraeña incorrecta, inténtelo de nuevo</translation>
</message>
<message>
<location filename="../widgets/MW_menu.cpp" line="+32"/>
<location filename="../widgets/MW_menu.cpp" line="+34"/>
<source>&amp;Close DataBase</source>
<translation type="unfinished"></translation>
</message>
@ -855,17 +850,17 @@ Serial: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<location line="+2"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-54"/>
<location line="-57"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+52"/>
<location line="+54"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
@ -1067,7 +1062,7 @@ Serial: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<location line="+21"/>
<source>Donations</source>
<translation type="unfinished"></translation>
</message>
@ -1097,7 +1092,7 @@ Serial: %3</source>
<translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="-96"/>
<location line="-97"/>
<source>I&amp;mport</source>
<translation type="unfinished"></translation>
</message>
@ -1107,7 +1102,7 @@ Serial: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
<location line="+65"/>
<source>Database dump ( *.dump );;All files ( * )</source>
<translation type="unfinished"></translation>
</message>
@ -1132,17 +1127,17 @@ Serial: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/MW_menu.cpp" line="-100"/>
<location filename="../widgets/MW_menu.cpp" line="-103"/>
<source>&amp;New DataBase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<location line="+2"/>
<source>&amp;Open DataBase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<location line="+42"/>
<source>&amp;Init Security token</source>
<translation type="unfinished"></translation>
</message>
@ -1157,7 +1152,7 @@ Serial: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+149"/>
<location line="+150"/>
<source>You need to restart XCA to load the new library</source>
<translation type="unfinished"></translation>
</message>
@ -1213,7 +1208,7 @@ Serial: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/MW_menu.cpp" line="-164"/>
<location filename="../widgets/MW_menu.cpp" line="-165"/>
<source>Generate DH parameter</source>
<translation type="unfinished"></translation>
</message>
@ -2072,13 +2067,11 @@ though you have declared them as mandatory in the options menu.</source>
<name>PassRead</name>
<message>
<location filename="../ui/PassRead.ui" line="+14"/>
<location line="+25"/>
<location line="+60"/>
<source>Password</source>
<translation type="unfinished">Contraseña</translation>
</message>
<message>
<location line="+35"/>
<location line="+113"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@ -2102,18 +2095,11 @@ though you have declared them as mandatory in the options menu.</source>
<name>PassWrite</name>
<message>
<location filename="../ui/PassWrite.ui" line="+14"/>
<location line="+25"/>
<location line="+60"/>
<source>Password</source>
<translation type="unfinished">Contraseña</translation>
</message>
<message>
<location line="+14"/>
<source>Repeat password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<location line="+123"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@ -2488,14 +2474,6 @@ You must set it manually.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>db_base</name>
<message>
<location filename="../lib/db_base.cpp" line="+50"/>
<source>Successfully created %1 &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>db_crl</name>
<message>
@ -2524,7 +2502,7 @@ You must set it manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+109"/>
<location line="+107"/>
<source>CRL ( *.pem *.der *.crl )</source>
<translation type="unfinished"></translation>
</message>
@ -2554,17 +2532,7 @@ You must set it manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-209"/>
<source>Delete the revokation list &apos;%1&apos; ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 revokation lists: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+72"/>
<location line="-136"/>
<source>The revokation list already exists in the database as:
&apos;%1&apos;
and so it was not imported</source>
@ -2574,7 +2542,7 @@ and so it was not imported</source>
<context>
<name>db_key</name>
<message>
<location filename="../lib/db_key.cpp" line="+135"/>
<location filename="../lib/db_key.cpp" line="+134"/>
<source>Key size too small !</source>
<translation type="unfinished"></translation>
</message>
@ -2625,7 +2593,32 @@ This will delete the key &apos;%1&apos; and make it unexportable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<location line="-160"/>
<source>Name</source>
<translation type="unfinished">Nombre</translation>
</message>
<message>
<location line="+0"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Use</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Password</source>
<translation type="unfinished">Contraseña</translation>
</message>
<message>
<location line="+213"/>
<source>Change PIN</source>
<translation type="unfinished"></translation>
</message>
@ -2646,7 +2639,7 @@ This will delete the key &apos;%1&apos; and make it unexportable</source>
</message>
<message>
<location line="+86"/>
<source>Tried to change password of a smart card</source>
<source>Tried to change password of a token</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2665,17 +2658,7 @@ This will delete the key &apos;%1&apos; and make it unexportable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-354"/>
<source>Delete the key &apos;%1&apos; ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 keys: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+59"/>
<location line="-294"/>
<source>The key is already in the database as:
&apos;%1&apos;
and is not going to be imported</source>
@ -2697,7 +2680,17 @@ and will be completed by the new, private part of the key</source>
<context>
<name>db_temp</name>
<message>
<location filename="../lib/db_temp.cpp" line="+116"/>
<location filename="../lib/db_temp.cpp" line="+23"/>
<source>Name</source>
<translation type="unfinished">Nombre</translation>
</message>
<message>
<location line="+0"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+91"/>
<source>Nothing</source>
<translation type="unfinished"></translation>
</message>
@ -2767,17 +2760,7 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-169"/>
<source>Delete the template &apos;%1&apos; ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 templates: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<location line="-141"/>
<source>Bad template: %1</source>
<translation type="unfinished"></translation>
</message>
@ -2785,7 +2768,7 @@ and will be completed by the new, private part of the key</source>
<context>
<name>db_x509</name>
<message>
<location filename="../lib/db_x509.cpp" line="-875"/>
<location filename="../lib/db_x509.cpp" line="-873"/>
<source>Internal name</source>
<translation type="unfinished"></translation>
</message>
@ -2801,11 +2784,6 @@ and will be completed by the new, private part of the key</source>
</message>
<message>
<location line="+1"/>
<source>not After</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Trust state</source>
<translation type="unfinished"></translation>
</message>
@ -2815,7 +2793,12 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+100"/>
<location line="+0"/>
<source>Expiry date</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+98"/>
<source>Plain View</source>
<translation type="unfinished"></translation>
</message>
@ -2945,7 +2928,12 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+470"/>
<location line="+116"/>
<source>Not possible for a token key: &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+354"/>
<source> days</source>
<translation type="unfinished"></translation>
</message>
@ -2965,17 +2953,7 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-587"/>
<source>Delete the certificate &apos;%1&apos; ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 certificates: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+281"/>
<location line="-305"/>
<source>The certificate already exists in the database as:
&apos;%1&apos;
and so it was not imported</source>
@ -2988,12 +2966,7 @@ and so it was not imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-27"/>
<source>Not possible for smart card key: &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+32"/>
<location line="+5"/>
<source>Not possible for the token-key Certificate &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
@ -3011,7 +2984,7 @@ and so it was not imported</source>
<context>
<name>db_x509req</name>
<message>
<location filename="../lib/db_x509req.cpp" line="+130"/>
<location filename="../lib/db_x509req.cpp" line="+128"/>
<source>Certificate request ( *.pem *.der *.crl )</source>
<translation type="unfinished"></translation>
</message>
@ -3056,7 +3029,7 @@ and so it was not imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-161"/>
<location line="-159"/>
<source>Name</source>
<translation type="unfinished">Nombre</translation>
</message>
@ -3071,7 +3044,7 @@ and so it was not imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+159"/>
<location line="+157"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
@ -3081,22 +3054,12 @@ and so it was not imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-158"/>
<source>Delete the %1 requests: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<location line="-139"/>
<source>The certificate signing request already exists in the database as
&apos;%1&apos;
and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
<source>Delete the request &apos;%1&apos; ?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>db_x509super</name>
@ -3122,12 +3085,12 @@ and thus was not stored</source>
<context>
<name>pass_info</name>
<message>
<location filename="../lib/pass_info.h" line="+34"/>
<location filename="../lib/pass_info.cpp" line="+11"/>
<source>Password</source>
<translation type="unfinished">Contraseña</translation>
</message>
<message>
<location line="+37"/>
<location line="+6"/>
<source>PIN</source>
<translation type="unfinished"></translation>
</message>
@ -3144,16 +3107,16 @@ and thus was not stored</source>
<source>Error: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lib/pki_base.h" line="+64"/>
<source>Internal error: Unexpected message: %1 %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>pki_crl</name>
<message>
<location filename="../lib/pki_crl.cpp" line="+41"/>
<source>the certificate revokation list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
<location filename="../lib/pki_crl.cpp" line="+93"/>
<source>No issuer given</source>
<translation type="unfinished"></translation>
</message>
@ -3168,7 +3131,27 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+82"/>
<location line="-24"/>
<source>Successfully imported the revokation list &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the revokation list &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the revokation list &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 revokation lists: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+102"/>
<location line="+178"/>
<source>Wrong Size %1</source>
<translation type="unfinished"></translation>
@ -3241,17 +3224,37 @@ and thus was not stored</source>
<context>
<name>pki_key</name>
<message>
<location filename="../lib/pki_key.cpp" line="+105"/>
<source>the %1 public key</source>
<location filename="../lib/pki_key.cpp" line="+117"/>
<source>Successfully imported the %1 public key &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>the %1 private key</source>
<location line="+1"/>
<source>Delete the %1 public key &apos;%2&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+168"/>
<location line="+5"/>
<source>Successfully imported the %1 private key &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 private key &apos;%2&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the %1 private key &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Delete the %1 keys: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+169"/>
<source>Common</source>
<translation type="unfinished"></translation>
</message>
@ -3325,7 +3328,7 @@ and thus was not stored</source>
<context>
<name>pki_scard</name>
<message>
<location filename="../lib/pki_scard.cpp" line="+383"/>
<location filename="../lib/pki_scard.cpp" line="+401"/>
<source>This Key is already on the token</source>
<translation type="unfinished"></translation>
</message>
@ -3345,12 +3348,7 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+63"/>
<source>Token</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<location line="+76"/>
<source>Failed to find the key on the token</source>
<translation type="unfinished"></translation>
</message>
@ -3365,7 +3363,27 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+51"/>
<location line="-179"/>
<source>Successfully imported the token key &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the token key &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the token key &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 keys: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+226"/>
<source>only RSA keys can be stored on tokens</source>
<translation type="unfinished"></translation>
</message>
@ -3384,16 +3402,16 @@ and thus was not stored</source>
<source>Wrong Size %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>Token %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>pki_temp</name>
<message>
<location filename="../lib/pki_temp.cpp" line="+96"/>
<source>the XCA template</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+321"/>
<location filename="../lib/pki_temp.cpp" line="+429"/>
<source>Template file content error (too small): %1</source>
<translation type="unfinished"></translation>
</message>
@ -3409,7 +3427,27 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-113"/>
<location line="-457"/>
<source>Successfully imported the XCA template &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the XCA template &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the XCA template &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 XCA templates: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+340"/>
<source>Template file content error (bad size): %1 </source>
<translation type="unfinished"></translation>
</message>
@ -3417,7 +3455,32 @@ and thus was not stored</source>
<context>
<name>pki_x509</name>
<message>
<location filename="../lib/pki_x509.cpp" line="+747"/>
<location filename="../lib/pki_x509.cpp" line="+69"/>
<source>Successfully imported the certificate &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the certificate &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the certificate &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 certificates: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+269"/>
<source>Delete the certificate &apos;%1&apos; from the token &apos;%2 (#%3)&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+418"/>
<source>Not trusted</source>
<translation type="unfinished"></translation>
</message>
@ -3437,12 +3500,7 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-404"/>
<source>the certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<location line="-369"/>
<source>Unable to load the certificate in file %1. Tried PEM and DER certificate.</source>
<translation type="unfinished"></translation>
</message>
@ -3457,12 +3515,7 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-435"/>
<source>Delete the certificate &apos;%1&apos; from the token &apos;%2 (#%3)&apos; ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+170"/>
<location line="-265"/>
<location line="+362"/>
<source>Wrong Size %1</source>
<translation type="unfinished"></translation>
@ -3476,17 +3529,27 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<source>the SPKAC request</source>
<location line="+39"/>
<source>Successfully imported the %1 certificate request &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>the PKCS#10 request</source>
<location line="+1"/>
<source>Delete the %1 certificate request &apos;%2&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<location line="+1"/>
<source>Successfully created the %1 certificate request &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 certificate requests: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
<source>Unable to load the certificate request in file %1. Tried PEM, DER and SPKAC format.</source>
<translation type="unfinished"></translation>
</message>

View File

@ -312,7 +312,7 @@
<context>
<name>CertView</name>
<message>
<location filename="../lib/db_x509.cpp" line="+898"/>
<location filename="../lib/db_x509.cpp" line="+896"/>
<source>There was no key found for the Certificate: </source>
<translation>Не найден ключ для сетификата: </translation>
</message>
@ -670,17 +670,17 @@ PKCS#8 - это официальный с возможностью шифров
</message>
<message>
<location filename="../widgets/ImportMulti.cpp" line="+101"/>
<location line="+127"/>
<location line="+135"/>
<source>The type of the Item &apos;%1&apos; is not recognized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-48"/>
<source>The new name of %1 &apos;%2&apos;</source>
<location line="-56"/>
<source>Rename &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+97"/>
<location line="+105"/>
<source>Details of the item &apos;%1&apos; cannot be shown</source>
<translation type="unfinished"></translation>
</message>
@ -689,11 +689,6 @@ PKCS#8 - это официальный с возможностью шифров
<source>The type of the item &apos;%1&apos; is not recognized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>Successfully imported the %1 &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/ImportMulti.ui" line="-79"/>
<source>Import PKI Items</source>
@ -710,7 +705,7 @@ PKCS#8 - это официальный с возможностью шифров
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/ImportMulti.cpp" line="-262"/>
<location filename="../widgets/ImportMulti.cpp" line="-232"/>
<source>
Name: %1
Model: %2
@ -847,7 +842,7 @@ Serial: %3</source>
<translation>Неверный пароль, попробуйте еще раз</translation>
</message>
<message>
<location filename="../widgets/MW_menu.cpp" line="+32"/>
<location filename="../widgets/MW_menu.cpp" line="+34"/>
<source>&amp;Close DataBase</source>
<translation>&amp;Закрыть базу данных</translation>
</message>
@ -857,17 +852,17 @@ Serial: %3</source>
<translation>&amp;Содержание</translation>
</message>
<message>
<location line="+1"/>
<location line="+2"/>
<source>&amp;About</source>
<translation>&amp;О программе</translation>
</message>
<message>
<location line="-54"/>
<location line="-57"/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
<location line="+52"/>
<location line="+54"/>
<source>&amp;Help</source>
<translation>&amp;Помощь</translation>
</message>
@ -1069,7 +1064,7 @@ Serial: %3</source>
<translation>PEM файл</translation>
</message>
<message>
<location line="+20"/>
<location line="+21"/>
<source>Donations</source>
<translation>Пожертвование</translation>
</message>
@ -1099,7 +1094,7 @@ Serial: %3</source>
<translation>Отмена</translation>
</message>
<message>
<location line="-96"/>
<location line="-97"/>
<source>I&amp;mport</source>
<translation>И&amp;мпорт</translation>
</message>
@ -1109,7 +1104,7 @@ Serial: %3</source>
<translation type="unfinished">вставить PEM файл</translation>
</message>
<message>
<location line="+64"/>
<location line="+65"/>
<source>Database dump ( *.dump );;All files ( * )</source>
<translation>Дамп базы данных ( *.dump );;All files ( * )</translation>
</message>
@ -1134,17 +1129,17 @@ Serial: %3</source>
<translation>Hex пароль должен содержать символы &apos;0 &apos;- &apos;9&apos; и &apos;a&apos; - &apos;f&apos; и должен состоять из четного числа символов</translation>
</message>
<message>
<location filename="../widgets/MW_menu.cpp" line="-100"/>
<location filename="../widgets/MW_menu.cpp" line="-103"/>
<source>&amp;New DataBase</source>
<translation>&amp;Новая база данных</translation>
</message>
<message>
<location line="+1"/>
<location line="+2"/>
<source>&amp;Open DataBase</source>
<translation>&amp;Открыть базу данных</translation>
</message>
<message>
<location line="+41"/>
<location line="+42"/>
<source>&amp;Init Security token</source>
<translation>&amp;Инициализировать Токен</translation>
</message>
@ -1159,7 +1154,7 @@ Serial: %3</source>
<translation>Выход</translation>
</message>
<message>
<location line="+149"/>
<location line="+150"/>
<source>You need to restart XCA to load the new library</source>
<translation>Необходимо перезапустить XCA, чтобы загрузить новую библиотеку</translation>
</message>
@ -1215,7 +1210,7 @@ Serial: %3</source>
<translation type="unfinished">Ошибка открытия файла: &apos;%1&apos;: %2</translation>
</message>
<message>
<location filename="../widgets/MW_menu.cpp" line="-164"/>
<location filename="../widgets/MW_menu.cpp" line="-165"/>
<source>Generate DH parameter</source>
<translation type="unfinished">Генерировать DH параметр</translation>
</message>
@ -2076,13 +2071,11 @@ though you have declared them as mandatory in the options menu.</source>
<name>PassRead</name>
<message>
<location filename="../ui/PassRead.ui" line="+14"/>
<location line="+25"/>
<location line="+60"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location line="+35"/>
<location line="+113"/>
<source>&amp;Cancel</source>
<translation>&amp;Отмена</translation>
</message>
@ -2106,18 +2099,15 @@ though you have declared them as mandatory in the options menu.</source>
<name>PassWrite</name>
<message>
<location filename="../ui/PassWrite.ui" line="+14"/>
<location line="+25"/>
<location line="+60"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location line="+14"/>
<source>Repeat password</source>
<translation>Повторите пароль</translation>
<translation type="obsolete">Повторите пароль</translation>
</message>
<message>
<location line="+35"/>
<location line="+123"/>
<source>&amp;Cancel</source>
<translation>О&amp;тмена</translation>
</message>
@ -2495,9 +2485,8 @@ You must set it manually.</source>
<context>
<name>db_base</name>
<message>
<location filename="../lib/db_base.cpp" line="+50"/>
<source>Successfully created %1 &apos;%2&apos;</source>
<translation>Успешно создан %1 &apos;%2&apos;</translation>
<translation type="obsolete">Успешно создан %1 &apos;%2&apos;</translation>
</message>
</context>
<context>
@ -2528,7 +2517,7 @@ You must set it manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+109"/>
<location line="+107"/>
<source>CRL ( *.pem *.der *.crl )</source>
<translation type="unfinished">CRL ( *.pem *.der *.crl )</translation>
</message>
@ -2558,17 +2547,7 @@ You must set it manually.</source>
<translation type="unfinished">Удалить</translation>
</message>
<message>
<location line="-209"/>
<source>Delete the revokation list &apos;%1&apos; ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 revokation lists: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+72"/>
<location line="-136"/>
<source>The revokation list already exists in the database as:
&apos;%1&apos;
and so it was not imported</source>
@ -2578,7 +2557,7 @@ and so it was not imported</source>
<context>
<name>db_key</name>
<message>
<location filename="../lib/db_key.cpp" line="+135"/>
<location filename="../lib/db_key.cpp" line="+134"/>
<source>Key size too small !</source>
<translation type="unfinished"></translation>
</message>
@ -2629,7 +2608,32 @@ This will delete the key &apos;%1&apos; and make it unexportable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<location line="-160"/>
<source>Name</source>
<translation type="unfinished">Имя</translation>
</message>
<message>
<location line="+0"/>
<source>Type</source>
<translation type="unfinished">Тип</translation>
</message>
<message>
<location line="+0"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Use</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Password</source>
<translation type="unfinished">Пароль</translation>
</message>
<message>
<location line="+213"/>
<source>Change PIN</source>
<translation>Сменить PIN</translation>
</message>
@ -2650,7 +2654,7 @@ This will delete the key &apos;%1&apos; and make it unexportable</source>
</message>
<message>
<location line="+86"/>
<source>Tried to change password of a smart card</source>
<source>Tried to change password of a token</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2669,17 +2673,11 @@ This will delete the key &apos;%1&apos; and make it unexportable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-354"/>
<source>Delete the key &apos;%1&apos; ?</source>
<translation>Удалить ключ &apos;%1&apos; ?</translation>
<translation type="obsolete">Удалить ключ &apos;%1&apos; ?</translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 keys: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+59"/>
<location line="-294"/>
<source>The key is already in the database as:
&apos;%1&apos;
and is not going to be imported</source>
@ -2701,7 +2699,17 @@ and will be completed by the new, private part of the key</source>
<context>
<name>db_temp</name>
<message>
<location filename="../lib/db_temp.cpp" line="+116"/>
<location filename="../lib/db_temp.cpp" line="+23"/>
<source>Name</source>
<translation type="unfinished">Имя</translation>
</message>
<message>
<location line="+0"/>
<source>Type</source>
<translation type="unfinished">Тип</translation>
</message>
<message>
<location line="+91"/>
<source>Nothing</source>
<translation type="unfinished">Ничего</translation>
</message>
@ -2771,17 +2779,11 @@ and will be completed by the new, private part of the key</source>
<translation>XCA шаблоны ( *.xca);; Всеl файлы ( * )</translation>
</message>
<message>
<location line="-169"/>
<source>Delete the template &apos;%1&apos; ?</source>
<translation>Удалить шаблон &apos;%1&apos; ?</translation>
<translation type="obsolete">Удалить шаблон &apos;%1&apos; ?</translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 templates: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<location line="-141"/>
<source>Bad template: %1</source>
<translation>Неправильный шаблон: %1</translation>
</message>
@ -2789,7 +2791,7 @@ and will be completed by the new, private part of the key</source>
<context>
<name>db_x509</name>
<message>
<location filename="../lib/db_x509.cpp" line="-875"/>
<location filename="../lib/db_x509.cpp" line="-873"/>
<source>Internal name</source>
<translation>Внутреннее имя</translation>
</message>
@ -2804,12 +2806,11 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished">Серийный номер</translation>
</message>
<message>
<location line="+1"/>
<source>not After</source>
<translation>Не позже, чем</translation>
<translation type="obsolete">Не позже, чем</translation>
</message>
<message>
<location line="+0"/>
<location line="+1"/>
<source>Trust state</source>
<translation type="unfinished"></translation>
</message>
@ -2819,7 +2820,12 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished">Аннулирован</translation>
</message>
<message>
<location line="+100"/>
<location line="+0"/>
<source>Expiry date</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+98"/>
<source>Plain View</source>
<translation>Список</translation>
</message>
@ -2949,7 +2955,12 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished">Отозвать</translation>
</message>
<message>
<location line="+470"/>
<location line="+116"/>
<source>Not possible for a token key: &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+354"/>
<source> days</source>
<translation type="unfinished"></translation>
</message>
@ -2969,17 +2980,11 @@ and will be completed by the new, private part of the key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-587"/>
<source>Delete the certificate &apos;%1&apos; ?</source>
<translation>Удалить сертификат &apos;%1&apos; ?</translation>
<translation type="obsolete">Удалить сертификат &apos;%1&apos; ?</translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 certificates: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+281"/>
<location line="-305"/>
<source>The certificate already exists in the database as:
&apos;%1&apos;
and so it was not imported</source>
@ -2992,12 +2997,7 @@ and so it was not imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-27"/>
<source>Not possible for smart card key: &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+32"/>
<location line="+5"/>
<source>Not possible for the token-key Certificate &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
@ -3015,7 +3015,7 @@ and so it was not imported</source>
<context>
<name>db_x509req</name>
<message>
<location filename="../lib/db_x509req.cpp" line="+130"/>
<location filename="../lib/db_x509req.cpp" line="+128"/>
<source>Certificate request ( *.pem *.der *.crl )</source>
<translation type="unfinished">Запросы на сертификат ( *.pem *.der *.crl )</translation>
</message>
@ -3060,7 +3060,7 @@ and so it was not imported</source>
<translation>Удалить</translation>
</message>
<message>
<location line="-161"/>
<location line="-159"/>
<source>Name</source>
<translation>Имя</translation>
</message>
@ -3075,7 +3075,7 @@ and so it was not imported</source>
<translation type="unfinished">Подписанный</translation>
</message>
<message>
<location line="+159"/>
<location line="+157"/>
<source>File</source>
<translation>Файл</translation>
</message>
@ -3085,21 +3085,15 @@ and so it was not imported</source>
<translation>Шаблон</translation>
</message>
<message>
<location line="-158"/>
<source>Delete the %1 requests: %2 ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<location line="-139"/>
<source>The certificate signing request already exists in the database as
&apos;%1&apos;
and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
<source>Delete the request &apos;%1&apos; ?</source>
<translation>Удалить запрос &apos;%1&apos; ?</translation>
<translation type="obsolete">Удалить запрос &apos;%1&apos; ?</translation>
</message>
</context>
<context>
@ -3126,12 +3120,12 @@ and thus was not stored</source>
<context>
<name>pass_info</name>
<message>
<location filename="../lib/pass_info.h" line="+34"/>
<location filename="../lib/pass_info.cpp" line="+11"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location line="+37"/>
<location line="+6"/>
<source>PIN</source>
<translation>ПИН</translation>
</message>
@ -3148,16 +3142,20 @@ and thus was not stored</source>
<source>Error: </source>
<translation>Ошибка: </translation>
</message>
<message>
<location filename="../lib/pki_base.h" line="+64"/>
<source>Internal error: Unexpected message: %1 %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>pki_crl</name>
<message>
<location filename="../lib/pki_crl.cpp" line="+41"/>
<source>the certificate revokation list</source>
<translation>список отзыва сертификатов</translation>
<translation type="obsolete">список отзыва сертификатов</translation>
</message>
<message>
<location line="+40"/>
<location filename="../lib/pki_crl.cpp" line="+93"/>
<source>No issuer given</source>
<translation>Данного издателя несуществует</translation>
</message>
@ -3172,7 +3170,27 @@ and thus was not stored</source>
<translation>Не удается загрузить список отзыва сертификатов из файла %1. Формат файла, содержащий CRL должен быть PEM или DER.</translation>
</message>
<message>
<location line="+82"/>
<location line="-24"/>
<source>Successfully imported the revokation list &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the revokation list &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the revokation list &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 revokation lists: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+102"/>
<location line="+178"/>
<source>Wrong Size %1</source>
<translation>Неверный размер %1</translation>
@ -3245,17 +3263,45 @@ and thus was not stored</source>
<context>
<name>pki_key</name>
<message>
<location filename="../lib/pki_key.cpp" line="+105"/>
<source>the %1 public key</source>
<translation>%1 открытый ключ</translation>
<translation type="obsolete">%1 открытый ключ</translation>
</message>
<message>
<location line="+0"/>
<source>the %1 private key</source>
<translation>%1 закрытый ключ</translation>
<translation type="obsolete">%1 закрытый ключ</translation>
</message>
<message>
<location line="+168"/>
<location filename="../lib/pki_key.cpp" line="+117"/>
<source>Successfully imported the %1 public key &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 public key &apos;%2&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Successfully imported the %1 private key &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 private key &apos;%2&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the %1 private key &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Delete the %1 keys: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+169"/>
<source>Common</source>
<translation type="unfinished">Общий</translation>
</message>
@ -3329,7 +3375,7 @@ and thus was not stored</source>
<context>
<name>pki_scard</name>
<message>
<location filename="../lib/pki_scard.cpp" line="+383"/>
<location filename="../lib/pki_scard.cpp" line="+401"/>
<source>This Key is already on the token</source>
<translation type="unfinished">Этот ключ уже есть на Токене безопасности</translation>
</message>
@ -3349,12 +3395,11 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+63"/>
<source>Token</source>
<translation type="unfinished">Токен безопасности</translation>
<translation type="obsolete">Токен безопасности</translation>
</message>
<message>
<location line="+13"/>
<location line="+76"/>
<source>Failed to find the key on the token</source>
<translation type="unfinished"></translation>
</message>
@ -3369,7 +3414,27 @@ and thus was not stored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+51"/>
<location line="-179"/>
<source>Successfully imported the token key &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the token key &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the token key &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 keys: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+226"/>
<source>only RSA keys can be stored on tokens</source>
<translation type="unfinished"></translation>
</message>
@ -3388,16 +3453,20 @@ and thus was not stored</source>
<source>Wrong Size %1</source>
<translation type="unfinished">Неправильный размер %1</translation>
</message>
<message>
<location line="+11"/>
<source>Token %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>pki_temp</name>
<message>
<location filename="../lib/pki_temp.cpp" line="+96"/>
<source>the XCA template</source>
<translation>XCA шаблон</translation>
<translation type="obsolete">XCA шаблон</translation>
</message>
<message>
<location line="+321"/>
<location filename="../lib/pki_temp.cpp" line="+429"/>
<source>Template file content error (too small): %1</source>
<translation>Содержимое файл-шаблона ошибочно (слишком мал) :%1</translation>
</message>
@ -3413,7 +3482,27 @@ and thus was not stored</source>
<translation>Неправильный размер %1</translation>
</message>
<message>
<location line="-113"/>
<location line="-457"/>
<source>Successfully imported the XCA template &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the XCA template &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the XCA template &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 XCA templates: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+340"/>
<source>Template file content error (bad size): %1 </source>
<translation>Содержимое файл-шаблона ошибочно (неверный размер) :%1</translation>
</message>
@ -3421,7 +3510,32 @@ and thus was not stored</source>
<context>
<name>pki_x509</name>
<message>
<location filename="../lib/pki_x509.cpp" line="+747"/>
<location filename="../lib/pki_x509.cpp" line="+69"/>
<source>Successfully imported the certificate &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the certificate &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the certificate &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 certificates: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+269"/>
<source>Delete the certificate &apos;%1&apos; from the token &apos;%2 (#%3)&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+418"/>
<source>Not trusted</source>
<translation type="unfinished">Не доверенный</translation>
</message>
@ -3441,12 +3555,11 @@ and thus was not stored</source>
<translation type="unfinished">Не существует ключа для подписания !</translation>
</message>
<message>
<location line="-404"/>
<source>the certificate</source>
<translation>сертификат</translation>
<translation type="obsolete">сертификат</translation>
</message>
<message>
<location line="+35"/>
<location line="-369"/>
<source>Unable to load the certificate in file %1. Tried PEM and DER certificate.</source>
<translation type="unfinished">Не удается загрузить сертификат из файла %1. Формат файла должен быть PEM или DER.</translation>
</message>
@ -3461,12 +3574,11 @@ and thus was not stored</source>
<translation type="unfinished">CRL истекает: %1</translation>
</message>
<message>
<location line="-435"/>
<source>Delete the certificate &apos;%1&apos; from the token &apos;%2 (#%3)&apos; ?</source>
<translation type="unfinished">Удалить сертификат &apos;%1&apos; из Токена &apos;%2 (#%3)&apos; ?</translation>
<translation type="obsolete">Удалить сертификат &apos;%1&apos; из Токена &apos;%2 (#%3)&apos; ?</translation>
</message>
<message>
<location line="+170"/>
<location line="-265"/>
<location line="+362"/>
<source>Wrong Size %1</source>
<translation type="unfinished">Неправильный размер %1</translation>
@ -3480,17 +3592,35 @@ and thus was not stored</source>
<translation type="unfinished">Ключ для подписи не действителен (открытый ключ)</translation>
</message>
<message>
<location line="+28"/>
<source>the SPKAC request</source>
<translation type="unfinished">SPKAC запрос</translation>
<translation type="obsolete">SPKAC запрос</translation>
</message>
<message>
<location line="+0"/>
<source>the PKCS#10 request</source>
<translation type="unfinished">PKCS#10 запрос</translation>
<translation type="obsolete">PKCS#10 запрос</translation>
</message>
<message>
<location line="+38"/>
<location line="+39"/>
<source>Successfully imported the %1 certificate request &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete the %1 certificate request &apos;%2&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Successfully created the %1 certificate request &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Delete the %1 certificate requests: %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
<source>Unable to load the certificate request in file %1. Tried PEM, DER and SPKAC format.</source>
<translation type="unfinished">Не удается загрузить запрос на создание сертификата из файла %1. Формат файла должен быть PEM или DER.</translation>
</message>

View File

@ -3,11 +3,12 @@ ifeq ($(TOPDIR),)
TOPDIR=..
endif
MOCNAMES=db_crl db_key db_temp db_x509 db_x509req db_x509super db_base pki_base
NAMES=$(MOCNAMES) asn1int oid pki_pkcs7 x509rev asn1time \
pki_temp x509v3ext pki_x509 func pki_crl pki_x509req \
load_obj pki_key pki_x509super main pki_pkcs12 x509name db import \
pki_multi pki_evp pki_scard pk11_attribute pkcs11
MOCNAMES=db_crl db_key db_temp db_x509 db_x509req db_x509super db_base pki_base \
pki_temp pki_x509 pki_crl pki_x509req pki_key pki_x509super pki_pkcs12 \
pki_multi pki_evp pki_scard pass_info pki_pkcs7
NAMES=$(MOCNAMES) asn1int oid x509rev asn1time \
x509v3ext func load_obj main x509name db import \
pk11_attribute pkcs11
OBJS=$(patsubst %, %.o, $(NAMES)) $(patsubst %, moc_%.o, $(MOCNAMES))

View File

@ -45,11 +45,8 @@ void db_base::createSuccess(pki_base *pki)
return;
QMessageBox::information(mainwin, XCA_TITLE,
/* %1 resolves to "the certificate" or
"the Smart card RSA private key" */
tr("Successfully created %1 '%2'").
arg(pki->getFriendlyClassName()).
arg(pki->getIntName()));
pki->getMsg(pki_base::msg_create).
arg(pki->getIntName()));
}
void db_base::remFromCont(QModelIndex &idx)
@ -137,7 +134,8 @@ void db_base::delete_ask()
pki_base *pki = static_cast<pki_base*>(currentIdx.internalPointer());
if (QMessageBox::question(mainwin, XCA_TITLE,
delete_txt.arg(pki->getIntName()),
pki->getMsg(pki_base::msg_delete)
.arg(pki->getIntName()),
QMessageBox::Ok | QMessageBox::Cancel) !=
QMessageBox::Ok)
return;
@ -180,8 +178,9 @@ void db_base::deleteSelectedItems(XcaTreeView* view)
{
QModelIndexList indexes = view->getSelectedIndexes();
QModelIndex index;
QString items, single, msg;
QString items, msg;
int count = 0;
pki_base *pki;
if (indexes.count() == 0)
return;
@ -189,15 +188,15 @@ void db_base::deleteSelectedItems(XcaTreeView* view)
foreach(index, indexes) {
if (index.column() != 0)
continue;
pki_base *pki = static_cast<pki_base*>(index.internalPointer());
pki = static_cast<pki_base*>(index.internalPointer());
items += "'" + pki->getIntName() + "' ";
single = pki->getIntName();
count++;
}
if (count == 1)
msg = delete_txt.arg(single);
msg = pki->getMsg(pki_base::msg_delete).arg(pki->getIntName());
else
msg = delete_multi_txt.arg(count).arg(items);
msg = pki->getMsg(pki_base::msg_delete_multi).arg(count).
arg(items);
if (QMessageBox::question(mainwin, XCA_TITLE, msg,
QMessageBox::Ok | QMessageBox::Cancel) !=

View File

@ -32,9 +32,9 @@ class db_base: public QAbstractItemModel
Q_OBJECT
protected:
QString dbName, delete_txt, delete_multi_txt;
QString dbName;
QModelIndex currentIdx;
void _writePKI(pki_base *pki, bool overwrite );
void _writePKI(pki_base *pki, bool overwrite);
void _removePKI(pki_base *pki );
void removeItem(QString k);
enum pki_type pkitype[4];

View File

@ -19,8 +19,6 @@ db_crl::db_crl(QString db, MainWindow *mw)
{
headertext << tr("Name") << tr("Signer") << tr("Common name") <<
tr("No. revoked") << tr("Next update");
delete_txt = tr("Delete the revokation list '%1' ?");
delete_multi_txt = tr("Delete the %1 revokation lists: %2 ?");
view = mw->crlView;
class_name = "crls";
pkitype[0] = revokation;

View File

@ -32,9 +32,8 @@ db_key::db_key(QString db, MainWindow *mw)
:db_base(db, mw)
{
rootItem->setIntName("[key root]");
headertext << "Name" << "Type" << "Size" << "Use" << "Password";
delete_txt = tr("Delete the key '%1' ?");
delete_multi_txt = tr("Delete the %1 keys: %2 ?");
headertext << tr("Name") << tr("Type") << tr("Size")
<< tr("Use") << tr("Password");
view = mw->keyView;
class_name = "keys";
pkitype[0] = asym_key;
@ -341,7 +340,7 @@ void db_key::__setOwnPass(enum pki_key::passType x)
return;
targetKey = static_cast<pki_evp*>(currentIdx.internalPointer());
if (targetKey->isToken()) {
throw errorEx(tr("Tried to change password of a smart card"));
throw errorEx(tr("Tried to change password of a token"));
}
targetKey->setOwnPass(x);
updatePKI(targetKey);

View File

@ -20,9 +20,7 @@
db_temp::db_temp(QString DBfile, MainWindow *mw)
:db_base(DBfile, mw)
{
headertext << "Name" << "Type";
delete_txt = tr("Delete the template '%1' ?");
delete_multi_txt = tr("Delete the %1 templates: %2 ?");
headertext << tr("Name") << tr("Type");
view = mw->tempView;
class_name = "templates";
pkitype[0] = tmpl;

View File

@ -28,11 +28,9 @@ db_x509::db_x509(QString DBfile, MainWindow *mw)
:db_x509super(DBfile, mw)
{
rootItem->setIntName("[x509 root]");
headertext << tr("Internal name") << tr("Common name") << tr("Serial") <<
tr("not After") << tr("Trust state") << tr("Revocation");
headertext << tr("Internal name") << tr("Common name") << tr("Serial")
<< tr("Expiry date") << tr("Trust state") << tr("Revocation");
delete_txt = tr("Delete the certificate '%1' ?");
delete_multi_txt =tr("Delete the %1 certificates: %2 ?");
view = mw->certView;
class_name = "certificates";
pkitype[0] = x509;
@ -754,7 +752,7 @@ void db_x509::store()
}
if (privkey->isToken()) {
QMessageBox::warning(mainwin, XCA_TITLE,
tr("Not possible for smart card key: '%1'").
tr("Not possible for a token key: '%1'").
arg(crt->getIntName()));
return;
}

View File

@ -19,8 +19,6 @@ db_x509req::db_x509req(QString DBfile, MainWindow *mw)
:db_x509super(DBfile, mw)
{
headertext << tr("Name") << tr("Subject") << tr("Signed");
delete_txt = tr("Delete the request '%1' ?");
delete_multi_txt = tr("Delete the %1 requests: %2 ?");
view = mw->reqView;
class_name = "requests";
pkitype[0] = x509_req;

20
lib/pass_info.cpp Normal file
View File

@ -0,0 +1,20 @@
#include "pass_info.h"
pass_info::pass_info(QString t, QString d, QWidget *w)
{
title = t;
description = d;
widget = w;
if (!widget)
widget = qApp->activeWindow();
type = tr("Password");
pixmap = MainWindow::keyImg;
}
void pass_info::setPin()
{
type = tr("PIN");
pixmap = MainWindow::scardImg;
}

View File

@ -16,6 +16,7 @@
class pass_info: public QObject
{
Q_OBJECT
private:
QString title;
QString description;
@ -24,16 +25,7 @@ class pass_info: public QObject
QPixmap *pixmap;
public:
pass_info(QString t, QString d, QWidget *w = NULL)
{
title = t;
description = d;
widget = w;
if (!widget)
widget = qApp->activeWindow();
type = tr("Password");
pixmap = MainWindow::keyImg;
}
pass_info(QString t, QString d, QWidget *w = NULL);
QString getTitle()
{
return title;
@ -66,11 +58,7 @@ class pass_info: public QObject
{
widget = w;
}
void setPin()
{
type = tr("PIN");
pixmap = MainWindow::scardImg;
}
void setPin();
};
#endif

View File

@ -32,6 +32,12 @@ class pki_base : public QObject
void fopen_error(const QString fname);
public:
enum msg_type {
msg_import,
msg_delete,
msg_delete_multi,
msg_create,
};
QList<pki_base*> childItems;
pki_base(const QString d = "", pki_base *p = NULL);
virtual void fload(const QString) {};
@ -53,9 +59,10 @@ class pki_base : public QObject
void setIntName(const QString &d);
QString getClassName();
static QString rmslashdot(const QString &fname);
virtual QString getFriendlyClassName()
virtual QString getMsg(msg_type msg)
{
return QString("---");
return tr("Internal error: Unexpected message: %1 %2").
arg(class_name).arg(msg);
};
int getVersion();
enum pki_type getType();

View File

@ -35,10 +35,22 @@ void pki_crl::fromPEM_BIO(BIO *bio, QString name)
setIntName(rmslashdot(name));
}
QString pki_crl::getFriendlyClassName()
QString pki_crl::getMsg(msg_type msg)
{
/* used in sentences like: "Successfully created %1 '%2'" */
return tr("the certificate revokation list");
/*
* We do not construct english sentences from fragments
* to allow proper translations.
*
* %1 will be replaced by the internal name of the CRL
*/
switch (msg) {
case msg_import: return tr("Successfully imported the revokation list '%1'");
case msg_delete: return tr("Delete the revokation list '%1'?");
case msg_create: return tr("Successfully created the revokation list '%1'");
/* %1: Number of CRLs; %2: list of CRL names */
case msg_delete_multi: return tr("Delete the %1 revokation lists: %2?");
}
return pki_base::getMsg(msg);
}
void pki_crl::fload(const QString fname)

View File

@ -18,6 +18,7 @@
class pki_crl: public pki_base
{
Q_OBJECT
friend class pki_x509;
protected:
pki_x509 *issuer;
@ -57,7 +58,7 @@ class pki_crl: public pki_base
a1int getVersion();
QVariant column_data(int col);
QVariant getIcon(int column);
virtual QString getFriendlyClassName();
virtual QString getMsg(msg_type msg);
void d2i(QByteArray &ba);
QByteArray i2d();
};

View File

@ -21,6 +21,7 @@
class pki_evp: public pki_key
{
Q_OBJECT
protected:
QByteArray encKey;
void init(int type = EVP_PKEY_RSA);

View File

@ -99,11 +99,36 @@ QString pki_key::getTypeString()
return type;
}
QString pki_key::getFriendlyClassName()
QString pki_key::getMsg(msg_type msg)
{
/* used in sentences like: "Successfully created %1 '%2'" */
QString txt = isPubKey() ? tr("the %1 public key") : tr("the %1 private key");
return txt.arg(getTypeString());
/*
* We do not construct english sentences (just a little bit)
* from fragments to allow proper translations.
* The drawback are all the slightly different duplicated messages
*
* %1 will be replaced by "RSA", "DSA", "EC"
* %2 is the internal name of the key
*/
QString ktype = getTypeString();
if (isPubKey()) {
switch (msg) {
case msg_import: return tr("Successfully imported the %1 public key '%2'").arg(ktype);
case msg_delete: return tr("Delete the %1 public key '%2'?").arg(ktype);
default: break;
}
} else {
switch (msg) {
case msg_import: return tr("Successfully imported the %1 private key '%2'").arg(ktype);
case msg_delete: return tr("Delete the %1 private key '%2'?").arg(ktype);
case msg_create: return tr("Successfully created the %1 private key '%2'").arg(ktype);
default: break;
}
}
if (msg == msg_delete_multi) {
/* %1: Number of keys; %2: list of keynames */
return tr("Delete the %1 keys: %2?");
}
return pki_base::getMsg(msg);
}
QString pki_key::getIntNameWithType()

View File

@ -20,6 +20,7 @@
class pki_key: public pki_base
{
Q_OBJECT
protected:
int ownPass;
EVP_PKEY *key;
@ -57,7 +58,7 @@ class pki_key: public pki_base
{
return QList<int>();
}
virtual QString getFriendlyClassName();
virtual QString getMsg(msg_type msg);
virtual QString length();
void writePublic(const QString fname, bool pem);

View File

@ -17,6 +17,7 @@
class pki_multi: public pki_base
{
Q_OBJECT
protected:
QList<pki_base*> multi;
public:

View File

@ -19,6 +19,7 @@
class pki_pkcs12: public pki_base
{
Q_OBJECT
friend class pki_x509;
friend class pki_evp;

View File

@ -12,6 +12,7 @@
class pki_pkcs7: public pki_base
{
Q_OBJECT
friend class pki_x509;
protected:
PKCS7 *p7;

View File

@ -137,6 +137,24 @@ pki_scard::pki_scard(const QString name)
init();
}
QString pki_scard::getMsg(msg_type msg)
{
/*
* We do not construct english sentences from fragments
* to allow proper translations.
*
* %1 will be replaced by the name of the smartcard
*/
switch (msg) {
case msg_import: return tr("Successfully imported the token key '%1'");
case msg_delete: return tr("Delete the token key '%1'?");
case msg_create: return tr("Successfully created the token key '%1'");
/* %1: Number of ktemplates; %2: list of templatenames */
case msg_delete_multi: return tr("Delete the %1 keys: %2?");
}
return pki_base::getMsg(msg);
}
EVP_PKEY *pki_scard::load_pubkey(pkcs11 &p11, CK_OBJECT_HANDLE object) const
{
const unsigned char *p;
@ -650,7 +668,7 @@ bool pki_scard::isPubKey() const
QString pki_scard::getTypeString(void)
{
return tr("Token") + " " + pki_key::getTypeString();
return tr("Token %1").arg(pki_key::getTypeString());
}
EVP_PKEY *pki_scard::decryptKey() const

View File

@ -17,6 +17,7 @@
class pki_scard: public pki_key
{
Q_OBJECT
protected:
QString card_serial;
QString card_manufacturer;
@ -86,7 +87,7 @@ class pki_scard: public pki_key
void deleteFromToken(unsigned long slot);
void store_token(unsigned int slot, EVP_PKEY *pkey);
virtual int renameOnToken(unsigned long slot, QString name);
virtual QString getMsg(msg_type msg);
};
#endif

View File

@ -90,10 +90,22 @@ pki_temp::pki_temp(const QString d)
noWellDefined=false;
}
QString pki_temp::getFriendlyClassName()
QString pki_temp::getMsg(msg_type msg)
{
/* used in sentences like: "Successfully created %1 '%2'" */
return tr("the XCA template");
/*
* We do not construct english sentences from fragments
* to allow proper translations.
*
* %1 will be replaced by the internal name of the template
*/
switch (msg) {
case msg_import: return tr("Successfully imported the XCA template '%1'");
case msg_delete: return tr("Delete the XCA template '%1'?");
case msg_create: return tr("Successfully created the XCA template '%1'");
/* %1: Number of ktemplates; %2: list of templatenames */
case msg_delete_multi: return tr("Delete the %1 XCA templates: %2?");
}
return pki_base::getMsg(msg);
}
static QStringList extVlistToString(extList &el, int nid, bool *crit)

View File

@ -15,6 +15,7 @@
class pki_temp: public pki_base
{
Q_OBJECT
protected:
int dataSize();
public:
@ -46,7 +47,7 @@ class pki_temp: public pki_base
void writeTemp(QString fname);
QVariant column_data(int col);
QVariant getIcon(int column);
virtual QString getFriendlyClassName();
virtual QString getMsg(msg_type msg);
};

View File

@ -56,10 +56,23 @@ pki_x509::pki_x509(const QString name)
openssl_error();
}
QString pki_x509::getFriendlyClassName()
QString pki_x509::getMsg(msg_type msg)
{
/* used in sentences like: "Successfully created %1 '%2'" */
return tr("the certificate");
/*
* We do not construct english sentences from fragments
* to allow proper translations.
* The drawback are all the slightly different duplicated messages
*
* %1 will be replaced by the internal name of the certificate
*/
switch (msg) {
case msg_import: return tr("Successfully imported the certificate '%1'");
case msg_delete: return tr("Delete the certificate '%1'?");
case msg_create: return tr("Successfully created the certificate '%1'");
/* %1: Number of certs; %2: list of cert ames */
case msg_delete_multi: return tr("Delete the %1 certificates: %2?");
}
return pki_base::getMsg(msg);
}
void pki_x509::fromPEM_BIO(BIO *bio, QString name)
@ -326,7 +339,7 @@ void pki_x509::deleteFromToken(unsigned long slot)
tkInfo ti = p11.tokenInfo();
if (QMessageBox::question(NULL, XCA_TITLE,
tr("Delete the certificate '%1' from the token '%2 (#%3)' ?").
tr("Delete the certificate '%1' from the token '%2 (#%3)'?").
arg(getIntName()).arg(ti.label()).arg(ti.serial()),
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes)
{

View File

@ -23,6 +23,7 @@
class pki_x509 : public pki_x509super
{
Q_OBJECT
private:
pki_x509 *psigner;
a1time revoked, crlExpiry;
@ -140,7 +141,7 @@ class pki_x509 : public pki_x509super
void d2i(QByteArray &ba);
void deleteFromToken();
void deleteFromToken(unsigned long slot);
virtual QString getFriendlyClassName();
virtual QString getMsg(msg_type msg);
virtual int renameOnToken(unsigned long slot, QString name);
};

View File

@ -75,10 +75,27 @@ void pki_x509req::createReq(pki_key *key, const x509name &dn, const EVP_MD *md,
EVP_PKEY_free(privkey);
}
QString pki_x509req::getFriendlyClassName()
QString pki_x509req::getMsg(msg_type msg)
{
/* used in sentences like: "Successfully created %1 '%2'" */
return isSpki() ? tr("the SPKAC request") : tr("the PKCS#10 request");
/*
* We do not construct english sentences from fragments
* to allow proper translations.
* The drawback are all the slightly different duplicated messages
*
* %1 will be replaced by either "SPKAC" or "PKCS#10"
* %2 will be replaced by the internal name of the request
*/
QString type = isSpki() ? "SPKAC" : "PKCS#10";
switch (msg) {
case msg_import: return tr("Successfully imported the %1 certificate request '%2'").arg(type);
case msg_delete: return tr("Delete the %1 certificate request '%2'?").arg(type);
case msg_create: return tr("Successfully created the %1 certificate request '%2'").arg(type);
/* %1: Number of requests; %2: list of request names */
case msg_delete_multi: return tr("Delete the %1 certificate requests: %2?");
}
return pki_base::getMsg(msg);
}
void pki_x509req::fromPEM_BIO(BIO *bio, QString name)

View File

@ -20,6 +20,7 @@ class pki_x509;
class pki_x509req : public pki_x509super
{
Q_OBJECT
private:
//loading spkac file and convert it to a request
int load_spkac(const QString filename);
@ -70,7 +71,7 @@ class pki_x509req : public pki_x509super
{
return done;
}
virtual QString getFriendlyClassName();
virtual QString getMsg(msg_type msg);
void d2i(QByteArray &ba);
void d2i_spki(QByteArray &ba);
QByteArray i2d();

View File

@ -16,6 +16,7 @@
class pki_x509super : public pki_base
{
Q_OBJECT
protected:
pki_key *privkey;
public:

View File

@ -35,9 +35,6 @@
<strikeout>false</strikeout>
</font>
</property>
<property name="text">
<string>Password</string>
</property>
</widget>
</item>
<item>
@ -94,11 +91,7 @@
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Password</string>
</property>
</widget>
<widget class="QLabel" name="label"/>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="pass">

View File

@ -35,9 +35,6 @@
<strikeout>false</strikeout>
</font>
</property>
<property name="text">
<string>Password</string>
</property>
</widget>
</item>
<item>
@ -94,11 +91,7 @@
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Password</string>
</property>
</widget>
<widget class="QLabel" name="label"/>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="passA">
@ -108,11 +101,7 @@
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="repeatLabel">
<property name="text">
<string>Repeat password</string>
</property>
</widget>
<widget class="QLabel" name="repeatLabel"/>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="passB">

View File

@ -177,8 +177,7 @@ void ImportMulti::on_renameToken_clicked()
QString label = QInputDialog::getText(this, XCA_TITLE,
/* %1 resolves to "the certificate" or
"the Smart card RSA private key" */
tr("The new name of %1 '%2'").
arg(pki->getFriendlyClassName()).
tr("Rename '%1'").
arg(pki->getIntName()), QLineEdit::Normal,
pki->getIntName(), &ok);
if (!ok)
@ -192,10 +191,28 @@ void ImportMulti::on_renameToken_clicked()
}
}
static db_base *select_db(QString cn)
{
if (cn == "pki_x509")
return MainWindow::certs;
if (cn == "pki_evp")
return MainWindow::keys;
if (cn == "pki_scard")
return MainWindow::keys;
if (cn == "pki_x509req")
return MainWindow::reqs;
if (cn == "pki_crl")
return MainWindow::crls;
if (cn == "pki_temp")
return MainWindow::temps;
return NULL;
}
pki_base *ImportMulti::import(QModelIndex &idx)
{
pki_base *pki = static_cast<pki_base*>(idx.internalPointer());
db_base *db;
if (!pki)
return NULL;
@ -210,27 +227,18 @@ pki_base *ImportMulti::import(QModelIndex &idx)
return NULL;
}
if (cn == "pki_x509") {
pki = MainWindow::certs->insert(pki);
} else if (cn == "pki_evp") {
if (cn == "pki_evp")
((pki_evp*)pki)->setOwnPass(pki_evp::ptCommon);
pki = MainWindow::keys->insert(pki);
} else if (cn == "pki_scard") {
pki = MainWindow::keys->insert(pki);
} else if (cn == "pki_x509req") {
pki = MainWindow::reqs->insert(pki);
} else if (cn == "pki_crl") {
pki = MainWindow::crls->insert(pki);
} else if (cn == "pki_temp") {
pki = MainWindow::temps->insert(pki);
} else {
db = select_db(cn);
if (!db) {
QMessageBox::warning(this, XCA_TITLE,
tr("The type of the Item '%1' is not recognized").
arg(cn));
delete pki;
return NULL;
}
return pki;
return db->insert(pki);
}
void ImportMulti::on_butDetails_clicked()
@ -316,12 +324,11 @@ void ImportMulti::execute(int force)
pki_base *pki = import(idx);
if (pki)
QMessageBox::information(this, XCA_TITLE,
tr("Successfully imported the %1 '%2'").
arg(pki->getFriendlyClassName()).
pki->getMsg(pki_base::msg_import).
arg(pki->getIntName()));
accept();
return;
}
/* the behavoiour for more than one item */
/* the behaviour for more than one item */
exec();
}

View File

@ -111,6 +111,7 @@ SOURCES += lib/asn1int.cpp \
lib/load_obj.cpp \
lib/main.cpp \
lib/oid.cpp \
lib/pass_info.cpp \
lib/pki_base.cpp \
lib/pki_crl.cpp \
lib/pki_key.cpp \