1
0
mirror of https://github.com/mailcow/mailcow-dockerized.git synced 2026-02-19 10:48:46 +00:00

Show spam aliases #

This commit is contained in:
andryyy
2017-02-21 22:27:11 +01:00
parent 76426b65b2
commit 0eb932b3ab
2737 changed files with 357639 additions and 22 deletions

View File

@@ -0,0 +1,64 @@
Enigma Plugin for Roundcube
This plugin adds support for viewing and sending of signed and encrypted
messages in PGP (RFC 2440) and PGP/MIME (RFC 3156) format.
The plugin uses gpg binary on the server and stores all keys
(including private keys of the users) on the server.
Encryption/decryption is done server-side. So, this plugin
is for users that trust the server.
Implemented features:
---------------------
+ PGP: signatures verification
+ PGP: messages decryption
+ PGP: Sending of encrypted/signed messages
+ PGP: keys management UI (key import, export, delete)
+ PGP: key generation (client- or server-side)
+ Handling of PGP keys attached to incoming messages
+ User preferences to disable plugin features
+ Attaching public keys to email
+ Key server(s) support (search, import)
TODO:
-----
- Handling of big messages with temp files (? - security)
- Key info in contact details page (optional)
- Extended key management:
- disable,
- revoke,
- change expiration date, change passphrase, add photo,
- manage user IDs
- export private keys
- Generate revocation certs
- Search filter to see invalid/expired keys
- Key server(s) support (upload, refresh)
- Mark keys as trusted/untrasted, display appropriate message in verify/decrypt status
- Support for multi-server installations (store keys in sql database? probably impossible with GnuPG 2.1)
- Performance improvements:
- cache decrypted message key id so we can skip decryption if we have no password in session
- cache (last or successful only?) sig verification status to not verify on every msg preview (optional)
- S/MIME: Certs generation (?)
- S/MIME: Certs management
- S/MIME: signed messages verification
- S/MIME: encrypted messages decryption
- S/MIME: Sending signed/encrypted messages
- S/MIME: Handling of certs attached to incoming messages
- S/MIME: Certificate info in Contacts details page (optional)
KNOWN ISSUES:
-------------
There are some known issues with accepting key passphrases on various
system configurations. This is caused by issues in PinEntry handling.
Make sure that vendor/bin/crypt-gpg-pinentry works from command line.
Possible reasons:
- non-working loader in shebang (#! /usr/bin/env php)
Make sure it works for the user the php scripts are executed upon
(i.e. apache, www-date, etc.)
Note: pinentry is used with gpg >= 2.0 and <= 2.1.12.
Note: for server use GnuPG developers still recommend version 1.4.

View File

@@ -0,0 +1,29 @@
{
"name": "roundcube/enigma",
"type": "roundcube-plugin",
"description": "Server-side PGP Encryption for Roundcube",
"license": "GPLv3+",
"version": "0.7",
"authors": [
{
"name": "Aleksander Machniak",
"email": "alec@alec.pl",
"role": "Lead"
}
],
"repositories": [
{
"type": "pear",
"url": "http://pear.php.net/"
},
{
"type": "composer",
"url": "http://plugins.roundcube.net"
}
],
"require": {
"php": ">=5.3.0",
"roundcube/plugin-installer": "~0.1.6",
"pear-pear.php.net/crypt_gpg": "~1.6.0@beta"
}
}

View File

@@ -0,0 +1,62 @@
<?php
// Enigma Plugin options
// --------------------
// A driver to use for PGP. Default: "gnupg".
$config['enigma_pgp_driver'] = 'gnupg';
// A driver to use for S/MIME. Default: "phpssl".
$config['enigma_smime_driver'] = 'phpssl';
// Enables logging of enigma operations (including Crypt_GPG debug info)
$config['enigma_debug'] = false;
// Keys directory for all users. Default 'enigma/home'.
// Must be writeable by PHP process
$config['enigma_pgp_homedir'] = null;
// Location of gpg binary. By default it will be auto-detected.
// This is also a way to force gpg2 use if there are both 1.x and 2.x on the system.
$config['enigma_pgp_binary'] = '';
// Location of gpg-agent binary. By default it will be auto-detected.
// It's used with GnuPG 2.x.
$config['enigma_pgp_agent'] = '';
// Location of gpgconf binary. By default it will be auto-detected.
// It's used with GnuPG >= 2.1.
$config['enigma_pgp_gpgconf'] = '';
// Enables signatures verification feature.
$config['enigma_signatures'] = true;
// Enables messages decryption feature.
$config['enigma_decryption'] = true;
// Enables messages encryption and signing feature.
$config['enigma_encryption'] = true;
// Enable signing all messages by default
$config['enigma_sign_all'] = false;
// Enable encrypting all messages by default
$config['enigma_encrypt_all'] = false;
// Enable attaching a public key to all messages by default
$config['enigma_attach_pubkey'] = false;
// Default for how long to store private key passwords (in minutes).
// When set to 0 passwords will be stored for the whole session.
$config['enigma_password_time'] = 5;
// With this option you can lock composing options
// of the plugin forcing the user to use configured settings.
// The array accepts: 'sign', 'encrypt', 'pubkey'.
//
// For example, to force your users to sign every email,
// you should set:
// - enigma_sign_all = true
// - enigma_options_lock = array('sign')
// - dont_override = array('enigma_sign_all')
$config['enigma_options_lock'] = array();

View File

@@ -0,0 +1,625 @@
/* Enigma Plugin */
window.rcmail && rcmail.addEventListener('init', function(evt) {
if (rcmail.env.task == 'settings') {
if (rcmail.gui_objects.keyslist) {
rcmail.keys_list = new rcube_list_widget(rcmail.gui_objects.keyslist,
{multiselect:true, draggable:false, keyboard:false});
rcmail.keys_list
.addEventListener('select', function(o) { rcmail.enigma_keylist_select(o); })
.addEventListener('keypress', function(o) { rcmail.enigma_keylist_keypress(o); })
.init()
.focus();
rcmail.enigma_list();
rcmail.register_command('firstpage', function(props) { return rcmail.enigma_list_page('first'); });
rcmail.register_command('previouspage', function(props) { return rcmail.enigma_list_page('previous'); });
rcmail.register_command('nextpage', function(props) { return rcmail.enigma_list_page('next'); });
rcmail.register_command('lastpage', function(props) { return rcmail.enigma_list_page('last'); });
}
if (rcmail.env.action == 'plugin.enigmakeys') {
rcmail.register_command('search', function(props) {return rcmail.enigma_search(props); }, true);
rcmail.register_command('reset-search', function(props) {return rcmail.enigma_search_reset(props); }, true);
rcmail.register_command('plugin.enigma-import', function() { rcmail.enigma_import(); }, true);
rcmail.register_command('plugin.enigma-import-search', function() { rcmail.enigma_import_search(); }, true);
rcmail.register_command('plugin.enigma-key-export', function() { rcmail.enigma_export(); });
rcmail.register_command('plugin.enigma-key-export-selected', function() { rcmail.enigma_export(true); });
rcmail.register_command('plugin.enigma-key-import', function() { rcmail.enigma_key_import(); }, true);
rcmail.register_command('plugin.enigma-key-delete', function(props) { return rcmail.enigma_delete(); });
rcmail.register_command('plugin.enigma-key-create', function(props) { return rcmail.enigma_key_create(); }, true);
rcmail.register_command('plugin.enigma-key-save', function(props) { return rcmail.enigma_key_create_save(); }, true);
rcmail.addEventListener('responseafterplugin.enigmakeys', function() {
rcmail.enable_command('plugin.enigma-key-export', rcmail.env.rowcount > 0);
});
if (rcmail.gui_objects.importform) {
// make sure Enter key in search input starts searching
// instead of submitting the form
$('#rcmimportsearch').keydown(function(e) {
if (e.which == 13) {
rcmail.enigma_import_search();
return false;
}
});
$('input[type="button"]:first').focus();
}
}
}
else if (rcmail.env.task == 'mail') {
if (rcmail.env.action == 'compose') {
rcmail.addEventListener('beforesend', function(props) { rcmail.enigma_beforesend_handler(props); })
.addEventListener('beforesavedraft', function(props) { rcmail.enigma_beforesavedraft_handler(props); });
$('input,label', $('#enigmamenu')).mouseup(function(e) {
// don't close the menu on mouse click inside
e.stopPropagation();
});
$('a.button.enigma').prop('tabindex', $('#messagetoolbar > a:first').prop('tabindex'));
}
$.each(['encrypt', 'sign'], function() {
if (rcmail.env['enigma_force_' + this])
$('[name="_enigma_' + this + '"]').prop('checked', true);
});
if (rcmail.env.enigma_password_request) {
rcmail.enigma_password_request(rcmail.env.enigma_password_request);
}
}
});
/*********************************************************/
/********* Enigma Settings/Keys/Certs UI *********/
/*********************************************************/
// Display key(s) import form
rcube_webmail.prototype.enigma_key_import = function()
{
this.enigma_loadframe('&_action=plugin.enigmakeys&_a=import');
};
// Display key(s) generation form
rcube_webmail.prototype.enigma_key_create = function()
{
this.enigma_loadframe('&_action=plugin.enigmakeys&_a=create');
};
// Generate key(s) and submit them
rcube_webmail.prototype.enigma_key_create_save = function()
{
var options, lock, users = [],
password = $('#key-pass').val(),
confirm = $('#key-pass-confirm').val(),
size = $('#key-size').val();
$('[name="identity[]"]:checked').each(function() {
users.push(this.value);
});
// validate the form
if (!password || !confirm)
return alert(this.get_label('enigma.formerror'));
if (password != confirm)
return alert(this.get_label('enigma.passwordsdiffer'));
if (!users.length)
return alert(this.get_label('enigma.noidentselected'));
// generate keys
// use OpenPGP.js if browser supports required features
if (window.openpgp && window.crypto && (window.crypto.getRandomValues || window.crypto.subtle)) {
lock = this.set_busy(true, 'enigma.keygenerating');
options = {
numBits: size,
userId: users,
passphrase: password
};
openpgp.generateKeyPair(options).then(function(keypair) {
// success
var post = {_a: 'import', _keys: keypair.privateKeyArmored, _generated: 1,
_passwd: password, _keyid: keypair.key.primaryKey.fingerprint};
// send request to server
rcmail.http_post('plugin.enigmakeys', post, lock);
}, function(error) {
// failure
rcmail.set_busy(false, null, lock);
rcmail.display_message(rcmail.get_label('enigma.keygenerateerror'), 'error');
});
}
else {
rcmail.display_message(rcmail.get_label('enigma.keygennosupport'), 'error');
}
};
// Action executed after successful key generation and import
rcube_webmail.prototype.enigma_key_create_success = function()
{
parent.rcmail.enigma_list(1);
};
// Delete key(s)
rcube_webmail.prototype.enigma_delete = function()
{
var keys = this.keys_list.get_selection();
if (!keys.length || !confirm(this.get_label('enigma.keyremoveconfirm')))
return;
var lock = this.display_message(this.get_label('enigma.keyremoving'), 'loading'),
post = {_a: 'delete', _keys: keys};
// send request to server
this.http_post('plugin.enigmakeys', post, lock);
};
// Export key(s)
rcube_webmail.prototype.enigma_export = function(selected)
{
var priv = false,
list = this.keys_list,
keys = selected ? list.get_selection().join(',') : '*',
args = {_keys: keys};
if (!keys.length)
return;
// find out whether selected keys are private
if (keys == '*')
priv = true;
else
$.each(list.get_selection(), function() {
flags = $(list.rows[this].obj).data('flags');
if (flags && flags.indexOf('p') >= 0) {
priv = true;
return false;
}
});
// ask the user about including private key in the export
if (priv)
return this.show_popup_dialog(
this.get_label('enigma.keyexportprompt'),
this.get_label('enigma.exportkeys'),
[{
text: this.get_label('enigma.onlypubkeys'),
click: function(e) {
rcmail.enigma_export_submit(args);
$(this).remove();
}
},
{
text: this.get_label('enigma.withprivkeys'),
click: function(e) {
args._priv = 1;
rcmail.enigma_export_submit(args);
$(this).remove();
}
}],
{width: 400}
);
this.enigma_export_submit(args);
};
// Sumbitting request for key(s) export
// Done this way to handle password input
rcube_webmail.prototype.enigma_export_submit = function(data)
{
var id = 'keyexport-' + new Date().getTime(),
form = $('<form>').attr({target: id, method: 'post', style: 'display:none',
action: '?_action=plugin.enigmakeys&_task=settings&_a=export'}),
iframe = $('<iframe>').attr({name: id, style: 'display:none'})
form.append($('<input>').attr({name: '_token', value: this.env.request_token}));
$.each(data, function(i, v) {
form.append($('<input>').attr({name: i, value: v}));
});
iframe.appendTo(document.body);
form.appendTo(document.body).submit();
};
// Submit key(s) import form
rcube_webmail.prototype.enigma_import = function()
{
var form, file, lock,
id = 'keyexport-' + new Date().getTime(),
iframe = $('<iframe>').attr({name: id, style: 'display:none'});
if (form = this.gui_objects.importform) {
file = document.getElementById('rcmimportfile');
if (file && !file.value) {
alert(this.get_label('selectimportfile'));
return;
}
lock = this.set_busy(true, 'importwait');
iframe.appendTo(document.body);
$(form).attr({target: id, action: this.add_url(form.action, '_unlock', lock)})
.submit();
}
};
// Ssearch for key(s) for import
rcube_webmail.prototype.enigma_import_search = function()
{
var form, search;
if (form = this.gui_objects.importform) {
search = $('#rcmimportsearch').val();
if (!search) {
return;
}
this.enigma_find_publickey(search);
}
};
// list row selection handler
rcube_webmail.prototype.enigma_keylist_select = function(list)
{
var id = list.get_single_selection(), url;
if (id)
url = '&_action=plugin.enigmakeys&_a=info&_id=' + id;
this.enigma_loadframe(url);
this.enable_command('plugin.enigma-key-delete', 'plugin.enigma-key-export-selected', list.selection.length > 0);
};
rcube_webmail.prototype.enigma_keylist_keypress = function(list)
{
if (list.modkey == CONTROL_KEY)
return;
if (list.key_pressed == list.DELETE_KEY || list.key_pressed == list.BACKSPACE_KEY)
this.command('plugin.enigma-key-delete');
else if (list.key_pressed == 33)
this.command('previouspage');
else if (list.key_pressed == 34)
this.command('nextpage');
};
// load key frame
rcube_webmail.prototype.enigma_loadframe = function(url)
{
var frm, win;
if (this.env.contentframe && window.frames && (frm = window.frames[this.env.contentframe])) {
if (!url && (win = window.frames[this.env.contentframe])) {
if (win.location && win.location.href.indexOf(this.env.blankpage) < 0)
win.location.href = this.env.blankpage;
if (this.env.frame_lock)
this.set_busy(false, null, this.env.frame_lock);
return;
}
this.env.frame_lock = this.set_busy(true, 'loading');
frm.location.href = this.env.comm_path + '&_framed=1&' + url;
}
};
// Search keys/certs
rcube_webmail.prototype.enigma_search = function(props)
{
if (!props && this.gui_objects.qsearchbox)
props = this.gui_objects.qsearchbox.value;
if (props || this.env.search_request) {
var params = {'_a': 'search', '_q': props},
lock = this.set_busy(true, 'searching');
// if (this.gui_objects.search_filter)
// addurl += '&_filter=' + this.gui_objects.search_filter.value;
this.env.current_page = 1;
this.enigma_loadframe();
this.enigma_clear_list();
this.http_post('plugin.enigmakeys', params, lock);
}
return false;
};
// Reset search filter and the list
rcube_webmail.prototype.enigma_search_reset = function(props)
{
var s = this.env.search_request;
this.reset_qsearch();
if (s) {
this.enigma_loadframe();
this.enigma_clear_list();
// refresh the list
this.enigma_list();
}
return false;
};
// Keys/certs listing
rcube_webmail.prototype.enigma_list = function(page, reset_frame)
{
if (this.is_framed())
return parent.rcmail.enigma_list(page, reset_frame);
var params = {'_a': 'list'},
lock = this.set_busy(true, 'loading');
this.env.current_page = page ? page : 1;
if (this.env.search_request)
params._q = this.env.search_request;
if (page)
params._p = page;
this.enigma_clear_list(reset_frame);
this.http_post('plugin.enigmakeys', params, lock);
};
// Change list page
rcube_webmail.prototype.enigma_list_page = function(page)
{
if (page == 'next')
page = this.env.current_page + 1;
else if (page == 'last')
page = this.env.pagecount;
else if (page == 'prev' && this.env.current_page > 1)
page = this.env.current_page - 1;
else if (page == 'first' && this.env.current_page > 1)
page = 1;
this.enigma_list(page);
};
// Remove list rows
rcube_webmail.prototype.enigma_clear_list = function(reset_frame)
{
if (reset_frame !== false)
this.enigma_loadframe();
if (this.keys_list)
this.keys_list.clear(true);
this.enable_command('plugin.enigma-key-delete', 'plugin.enigma-key-delete-selected', false);
};
// Adds a row to the list
rcube_webmail.prototype.enigma_add_list_row = function(r)
{
if (!this.gui_objects.keyslist || !this.keys_list)
return false;
var list = this.keys_list,
tbody = this.gui_objects.keyslist.tBodies[0],
rowcount = tbody.rows.length,
even = rowcount%2,
css_class = 'message'
+ (even ? ' even' : ' odd'),
// for performance use DOM instead of jQuery here
row = document.createElement('tr'),
col = document.createElement('td');
row.id = 'rcmrow' + r.id;
row.className = css_class;
if (r.flags) $(row).data('flags', r.flags);
col.innerHTML = r.name;
row.appendChild(col);
list.insert_row(row);
};
/*********************************************************/
/********* Enigma Message methods *********/
/*********************************************************/
// handle message send/save action
rcube_webmail.prototype.enigma_beforesend_handler = function(props)
{
this.env.last_action = 'send';
this.enigma_compose_handler(props);
};
rcube_webmail.prototype.enigma_beforesavedraft_handler = function(props)
{
this.env.last_action = 'savedraft';
this.enigma_compose_handler(props);
};
rcube_webmail.prototype.enigma_compose_handler = function(props)
{
var form = this.gui_objects.messageform;
// copy inputs from enigma menu to the form
$('#enigmamenu input').each(function() {
var id = this.id + '_cpy', input = $('#' + id);
if (!input.length) {
input = $(this).clone();
input.prop({id: id, type: 'hidden'}).appendTo(form);
}
input.val(this.checked ? '1' : '');
});
// disable signing when saving drafts
if (this.env.last_action == 'savedraft') {
$('input[name="_enigma_sign"]', form).val(0);
}
};
// Import attached keys/certs file
rcube_webmail.prototype.enigma_import_attachment = function(mime_id)
{
var lock = this.set_busy(true, 'loading'),
post = {_uid: this.env.uid, _mbox: this.env.mailbox, _part: mime_id};
this.http_post('plugin.enigmaimport', post, lock);
return false;
};
// password request popup
rcube_webmail.prototype.enigma_password_request = function(data)
{
if (!data || !data.keyid) {
return;
}
var ref = this,
msg = this.get_label('enigma.enterkeypass'),
myprompt = $('<div class="prompt">'),
myprompt_content = $('<div class="message">')
.appendTo(myprompt),
myprompt_input = $('<input>').attr({type: 'password', size: 30})
.keypress(function(e) {
if (e.which == 13)
(ref.is_framed() ? window.parent.$ : $)('.ui-dialog-buttonpane button.mainaction:visible').click();
})
.appendTo(myprompt);
data.key = data.keyid;
if (data.keyid.length > 8)
data.keyid = data.keyid.substr(data.keyid.length - 8);
$.each(['keyid', 'user'], function() {
msg = msg.replace('$' + this, data[this]);
});
myprompt_content.text(msg);
this.show_popup_dialog(myprompt, this.get_label('enigma.enterkeypasstitle'),
[{
text: this.get_label('save'),
'class': 'mainaction',
click: function(e) {
e.stopPropagation();
var jq = ref.is_framed() ? window.parent.$ : $;
data.password = myprompt_input.val();
if (!data.password) {
myprompt_input.focus();
return;
}
ref.enigma_password_submit(data);
jq(this).remove();
}
},
{
text: this.get_label('cancel'),
click: function(e) {
var jq = ref.is_framed() ? window.parent.$ : $;
e.stopPropagation();
jq(this).remove();
}
}], {width: 400});
if (this.is_framed() && parent.rcmail.message_list) {
// this fixes bug when pressing Enter on "Save" button in the dialog
parent.rcmail.message_list.blur();
}
};
// submit entered password
rcube_webmail.prototype.enigma_password_submit = function(data)
{
var lock, form;
if (this.env.action == 'compose' && !data['compose-init']) {
return this.enigma_password_compose_submit(data);
}
else if (this.env.action == 'plugin.enigmakeys' && (form = this.gui_objects.importform)) {
if (!$('input[name="_keyid"]', form).length) {
$(form).append($('<input>').attr({type: 'hidden', name: '_keyid', value: data.key}))
.append($('<input>').attr({type: 'hidden', name: '_passwd', value: data.password}))
}
return this.enigma_import();
}
lock = data.nolock ? null : this.set_busy(true, 'loading');
form = $('<form>')
.attr({method: 'post', action: data.action || location.href, style: 'display:none'})
.append($('<input>').attr({type: 'hidden', name: '_keyid', value: data.key}))
.append($('<input>').attr({type: 'hidden', name: '_passwd', value: data.password}))
.append($('<input>').attr({type: 'hidden', name: '_token', value: this.env.request_token}))
.append($('<input>').attr({type: 'hidden', name: '_unlock', value: lock}));
// Additional form fields for request parameters
$.each(data, function(i, v) {
if (i.indexOf('input') == 0)
form.append($('<input>').attr({type: 'hidden', name: i.substring(5), value: v}))
});
if (data.iframe) {
var name = 'enigma_frame_' + (new Date()).getTime(),
frame = $('<iframe>').attr({style: 'display:none', name: name}).appendTo(document.body);
form.attr('target', name);
}
form.appendTo(document.body).submit();
};
// submit entered password - in mail compose page
rcube_webmail.prototype.enigma_password_compose_submit = function(data)
{
var form = this.gui_objects.messageform;
if (!$('input[name="_keyid"]', form).length) {
$(form).append($('<input>').attr({type: 'hidden', name: '_keyid', value: data.key}))
.append($('<input>').attr({type: 'hidden', name: '_passwd', value: data.password}));
}
else {
$('input[name="_keyid"]', form).val(data.key);
$('input[name="_passwd"]', form).val(data.password);
}
this.submit_messageform(this.env.last_action == 'savedraft');
};
// Display no-key error with key search button
rcube_webmail.prototype.enigma_key_not_found = function(data)
{
return this.show_popup_dialog(
data.text,
data.title,
[{
text: data.button,
click: function(e) {
$(this).remove();
rcmail.enigma_find_publickey(data.email);
}
}],
{width: 400, dialogClass: 'error'}
);
};
// Search for a public key on the key server
rcube_webmail.prototype.enigma_find_publickey = function(email)
{
this.mailvelope_search_pubkeys([email],
function(status) {},
function(key) {
var lock = rcmail.set_busy(true, 'enigma.importwait'),
post = {_a: 'import', _keys: key};
if (rcmail.env.action == 'plugin.enigmakeys')
post._refresh = 1;
// send request to server
rcmail.http_post('plugin.enigmakeys', post, lock);
}
);
};

View File

@@ -0,0 +1,31 @@
window.rcmail&&rcmail.addEventListener("init",function(a){"settings"==rcmail.env.task?(rcmail.gui_objects.keyslist&&(rcmail.keys_list=new rcube_list_widget(rcmail.gui_objects.keyslist,{multiselect:!0,draggable:!1,keyboard:!1}),rcmail.keys_list.addEventListener("select",function(a){rcmail.enigma_keylist_select(a)}).addEventListener("keypress",function(a){rcmail.enigma_keylist_keypress(a)}).init().focus(),rcmail.enigma_list(),rcmail.register_command("firstpage",function(a){return rcmail.enigma_list_page("first")}),
rcmail.register_command("previouspage",function(a){return rcmail.enigma_list_page("previous")}),rcmail.register_command("nextpage",function(a){return rcmail.enigma_list_page("next")}),rcmail.register_command("lastpage",function(a){return rcmail.enigma_list_page("last")})),"plugin.enigmakeys"==rcmail.env.action&&(rcmail.register_command("search",function(a){return rcmail.enigma_search(a)},!0),rcmail.register_command("reset-search",function(a){return rcmail.enigma_search_reset(a)},!0),rcmail.register_command("plugin.enigma-import",
function(){rcmail.enigma_import()},!0),rcmail.register_command("plugin.enigma-import-search",function(){rcmail.enigma_import_search()},!0),rcmail.register_command("plugin.enigma-key-export",function(){rcmail.enigma_export()}),rcmail.register_command("plugin.enigma-key-export-selected",function(){rcmail.enigma_export(!0)}),rcmail.register_command("plugin.enigma-key-import",function(){rcmail.enigma_key_import()},!0),rcmail.register_command("plugin.enigma-key-delete",function(a){return rcmail.enigma_delete()}),
rcmail.register_command("plugin.enigma-key-create",function(a){return rcmail.enigma_key_create()},!0),rcmail.register_command("plugin.enigma-key-save",function(a){return rcmail.enigma_key_create_save()},!0),rcmail.addEventListener("responseafterplugin.enigmakeys",function(){rcmail.enable_command("plugin.enigma-key-export",0<rcmail.env.rowcount)}),rcmail.gui_objects.importform&&($("#rcmimportsearch").keydown(function(a){if(13==a.which)return rcmail.enigma_import_search(),!1}),$('input[type="button"]:first').focus()))):
"mail"==rcmail.env.task&&("compose"==rcmail.env.action&&(rcmail.addEventListener("beforesend",function(a){rcmail.enigma_beforesend_handler(a)}).addEventListener("beforesavedraft",function(a){rcmail.enigma_beforesavedraft_handler(a)}),$("input,label",$("#enigmamenu")).mouseup(function(a){a.stopPropagation()}),$("a.button.enigma").prop("tabindex",$("#messagetoolbar > a:first").prop("tabindex"))),$.each(["encrypt","sign"],function(){rcmail.env["enigma_force_"+this]&&$('[name="_enigma_'+this+'"]').prop("checked",
!0)}),rcmail.env.enigma_password_request&&rcmail.enigma_password_request(rcmail.env.enigma_password_request))});rcube_webmail.prototype.enigma_key_import=function(){this.enigma_loadframe("&_action=plugin.enigmakeys&_a=import")};rcube_webmail.prototype.enigma_key_create=function(){this.enigma_loadframe("&_action=plugin.enigmakeys&_a=create")};
rcube_webmail.prototype.enigma_key_create_save=function(){var a,b,c=[],d=$("#key-pass").val();a=$("#key-pass-confirm").val();var e=$("#key-size").val();$('[name="identity[]"]:checked').each(function(){c.push(this.value)});if(!d||!a)return alert(this.get_label("enigma.formerror"));if(d!=a)return alert(this.get_label("enigma.passwordsdiffer"));if(!c.length)return alert(this.get_label("enigma.noidentselected"));window.openpgp&&window.crypto&&(window.crypto.getRandomValues||window.crypto.subtle)?(b=this.set_busy(!0,
"enigma.keygenerating"),a={numBits:e,userId:c,passphrase:d},openpgp.generateKeyPair(a).then(function(a){rcmail.http_post("plugin.enigmakeys",{_a:"import",_keys:a.privateKeyArmored,_generated:1,_passwd:d,_keyid:a.key.primaryKey.fingerprint},b)},function(a){rcmail.set_busy(!1,null,b);rcmail.display_message(rcmail.get_label("enigma.keygenerateerror"),"error")})):rcmail.display_message(rcmail.get_label("enigma.keygennosupport"),"error")};rcube_webmail.prototype.enigma_key_create_success=function(){parent.rcmail.enigma_list(1)};
rcube_webmail.prototype.enigma_delete=function(){var a=this.keys_list.get_selection();if(a.length&&confirm(this.get_label("enigma.keyremoveconfirm"))){var b=this.display_message(this.get_label("enigma.keyremoving"),"loading");this.http_post("plugin.enigmakeys",{_a:"delete",_keys:a},b)}};
rcube_webmail.prototype.enigma_export=function(a){var b=!1,c=this.keys_list;a=a?c.get_selection().join(","):"*";var d={_keys:a};if(a.length){"*"==a?b=!0:$.each(c.get_selection(),function(){if((flags=$(c.rows[this].obj).data("flags"))&&0<=flags.indexOf("p"))return b=!0,!1});if(b)return this.show_popup_dialog(this.get_label("enigma.keyexportprompt"),this.get_label("enigma.exportkeys"),[{text:this.get_label("enigma.onlypubkeys"),click:function(a){rcmail.enigma_export_submit(d);$(this).remove()}},{text:this.get_label("enigma.withprivkeys"),
click:function(a){d._priv=1;rcmail.enigma_export_submit(d);$(this).remove()}}],{width:400});this.enigma_export_submit(d)}};
rcube_webmail.prototype.enigma_export_submit=function(a){var b="keyexport-"+(new Date).getTime(),c=$("<form>").attr({target:b,method:"post",style:"display:none",action:"?_action=plugin.enigmakeys&_task=settings&_a=export"}),b=$("<iframe>").attr({name:b,style:"display:none"});c.append($("<input>").attr({name:"_token",value:this.env.request_token}));$.each(a,function(a,b){c.append($("<input>").attr({name:a,value:b}))});b.appendTo(document.body);c.appendTo(document.body).submit()};
rcube_webmail.prototype.enigma_import=function(){var a,b,c="keyexport-"+(new Date).getTime(),d=$("<iframe>").attr({name:c,style:"display:none"});if(a=this.gui_objects.importform)(b=document.getElementById("rcmimportfile"))&&!b.value?alert(this.get_label("selectimportfile")):(b=this.set_busy(!0,"importwait"),d.appendTo(document.body),$(a).attr({target:c,action:this.add_url(a.action,"_unlock",b)}).submit())};
rcube_webmail.prototype.enigma_import_search=function(){var a;this.gui_objects.importform&&(a=$("#rcmimportsearch").val())&&this.enigma_find_publickey(a)};rcube_webmail.prototype.enigma_keylist_select=function(a){var b=a.get_single_selection(),c;b&&(c="&_action=plugin.enigmakeys&_a=info&_id="+b);this.enigma_loadframe(c);this.enable_command("plugin.enigma-key-delete","plugin.enigma-key-export-selected",0<a.selection.length)};
rcube_webmail.prototype.enigma_keylist_keypress=function(a){a.modkey!=CONTROL_KEY&&(a.key_pressed==a.DELETE_KEY||a.key_pressed==a.BACKSPACE_KEY?this.command("plugin.enigma-key-delete"):33==a.key_pressed?this.command("previouspage"):34==a.key_pressed&&this.command("nextpage"))};
rcube_webmail.prototype.enigma_loadframe=function(a){var b,c;this.env.contentframe&&window.frames&&(b=window.frames[this.env.contentframe])&&(!a&&(c=window.frames[this.env.contentframe])?(c.location&&0>c.location.href.indexOf(this.env.blankpage)&&(c.location.href=this.env.blankpage),this.env.frame_lock&&this.set_busy(!1,null,this.env.frame_lock)):(this.env.frame_lock=this.set_busy(!0,"loading"),b.location.href=this.env.comm_path+"&_framed=1&"+a))};
rcube_webmail.prototype.enigma_search=function(a){!a&&this.gui_objects.qsearchbox&&(a=this.gui_objects.qsearchbox.value);if(a||this.env.search_request){a={_a:"search",_q:a};var b=this.set_busy(!0,"searching");this.env.current_page=1;this.enigma_loadframe();this.enigma_clear_list();this.http_post("plugin.enigmakeys",a,b)}return!1};
rcube_webmail.prototype.enigma_search_reset=function(a){a=this.env.search_request;this.reset_qsearch();a&&(this.enigma_loadframe(),this.enigma_clear_list(),this.enigma_list());return!1};
rcube_webmail.prototype.enigma_list=function(a,b){if(this.is_framed())return parent.rcmail.enigma_list(a,b);var c={_a:"list"},d=this.set_busy(!0,"loading");this.env.current_page=a?a:1;this.env.search_request&&(c._q=this.env.search_request);a&&(c._p=a);this.enigma_clear_list(b);this.http_post("plugin.enigmakeys",c,d)};
rcube_webmail.prototype.enigma_list_page=function(a){"next"==a?a=this.env.current_page+1:"last"==a?a=this.env.pagecount:"prev"==a&&1<this.env.current_page?a=this.env.current_page-1:"first"==a&&1<this.env.current_page&&(a=1);this.enigma_list(a)};rcube_webmail.prototype.enigma_clear_list=function(a){!1!==a&&this.enigma_loadframe();this.keys_list&&this.keys_list.clear(!0);this.enable_command("plugin.enigma-key-delete","plugin.enigma-key-delete-selected",!1)};
rcube_webmail.prototype.enigma_add_list_row=function(a){if(!this.gui_objects.keyslist||!this.keys_list)return!1;var b=this.keys_list,c="message"+(this.gui_objects.keyslist.tBodies[0].rows.length%2?" even":" odd"),d=document.createElement("tr"),e=document.createElement("td");d.id="rcmrow"+a.id;d.className=c;a.flags&&$(d).data("flags",a.flags);e.innerHTML=a.name;d.appendChild(e);b.insert_row(d)};rcube_webmail.prototype.enigma_beforesend_handler=function(a){this.env.last_action="send";this.enigma_compose_handler(a)};
rcube_webmail.prototype.enigma_beforesavedraft_handler=function(a){this.env.last_action="savedraft";this.enigma_compose_handler(a)};rcube_webmail.prototype.enigma_compose_handler=function(a){var b=this.gui_objects.messageform;$("#enigmamenu input").each(function(){var a=this.id+"_cpy",d=$("#"+a);d.length||(d=$(this).clone(),d.prop({id:a,type:"hidden"}).appendTo(b));d.val(this.checked?"1":"")});"savedraft"==this.env.last_action&&$('input[name="_enigma_sign"]',b).val(0)};
rcube_webmail.prototype.enigma_import_attachment=function(a){var b=this.set_busy(!0,"loading");this.http_post("plugin.enigmaimport",{_uid:this.env.uid,_mbox:this.env.mailbox,_part:a},b);return!1};
rcube_webmail.prototype.enigma_password_request=function(a){if(a&&a.keyid){var b=this,c=this.get_label("enigma.enterkeypass"),d=$('<div class="prompt">'),e=$('<div class="message">').appendTo(d),f=$("<input>").attr({type:"password",size:30}).keypress(function(a){13==a.which&&(b.is_framed()?window.parent.$:$)(".ui-dialog-buttonpane button.mainaction:visible").click()}).appendTo(d);a.key=a.keyid;8<a.keyid.length&&(a.keyid=a.keyid.substr(a.keyid.length-8));$.each(["keyid","user"],function(){c=c.replace("$"+
this,a[this])});e.text(c);this.show_popup_dialog(d,this.get_label("enigma.enterkeypasstitle"),[{text:this.get_label("save"),"class":"mainaction",click:function(c){c.stopPropagation();c=b.is_framed()?window.parent.$:$;a.password=f.val();a.password?(b.enigma_password_submit(a),c(this).remove()):f.focus()}},{text:this.get_label("cancel"),click:function(a){var c=b.is_framed()?window.parent.$:$;a.stopPropagation();c(this).remove()}}],{width:400});this.is_framed()&&parent.rcmail.message_list&&parent.rcmail.message_list.blur()}};
rcube_webmail.prototype.enigma_password_submit=function(a){var b,c;if("compose"==this.env.action&&!a["compose-init"])return this.enigma_password_compose_submit(a);if("plugin.enigmakeys"==this.env.action&&(c=this.gui_objects.importform))return $('input[name="_keyid"]',c).length||$(c).append($("<input>").attr({type:"hidden",name:"_keyid",value:a.key})).append($("<input>").attr({type:"hidden",name:"_passwd",value:a.password})),this.enigma_import();b=a.nolock?null:this.set_busy(!0,"loading");c=$("<form>").attr({method:"post",
action:a.action||location.href,style:"display:none"}).append($("<input>").attr({type:"hidden",name:"_keyid",value:a.key})).append($("<input>").attr({type:"hidden",name:"_passwd",value:a.password})).append($("<input>").attr({type:"hidden",name:"_token",value:this.env.request_token})).append($("<input>").attr({type:"hidden",name:"_unlock",value:b}));$.each(a,function(a,b){0==a.indexOf("input")&&c.append($("<input>").attr({type:"hidden",name:a.substring(5),value:b}))});a.iframe&&(a="enigma_frame_"+(new Date).getTime(),
$("<iframe>").attr({style:"display:none",name:a}).appendTo(document.body),c.attr("target",a));c.appendTo(document.body).submit()};
rcube_webmail.prototype.enigma_password_compose_submit=function(a){var b=this.gui_objects.messageform;$('input[name="_keyid"]',b).length?($('input[name="_keyid"]',b).val(a.key),$('input[name="_passwd"]',b).val(a.password)):$(b).append($("<input>").attr({type:"hidden",name:"_keyid",value:a.key})).append($("<input>").attr({type:"hidden",name:"_passwd",value:a.password}));this.submit_messageform("savedraft"==this.env.last_action)};
rcube_webmail.prototype.enigma_key_not_found=function(a){return this.show_popup_dialog(a.text,a.title,[{text:a.button,click:function(b){$(this).remove();rcmail.enigma_find_publickey(a.email)}}],{width:400,dialogClass:"error"})};
rcube_webmail.prototype.enigma_find_publickey=function(a){this.mailvelope_search_pubkeys([a],function(a){},function(a){var b=rcmail.set_busy(!0,"enigma.importwait");a={_a:"import",_keys:a};"plugin.enigmakeys"==rcmail.env.action&&(a._refresh=1);rcmail.http_post("plugin.enigmakeys",a,b)})};

View File

@@ -0,0 +1,529 @@
<?php
/**
+-------------------------------------------------------------------------+
| Enigma Plugin for Roundcube |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
/**
* This class contains only hooks and action handlers.
* Most plugin logic is placed in enigma_engine and enigma_ui classes.
*/
class enigma extends rcube_plugin
{
public $task = 'mail|settings|cli';
public $rc;
public $engine;
public $ui;
private $env_loaded = false;
/**
* Plugin initialization.
*/
function init()
{
$this->rc = rcube::get_instance();
if ($this->rc->task == 'mail') {
// message parse/display hooks
$this->add_hook('message_part_structure', array($this, 'part_structure'));
$this->add_hook('message_part_body', array($this, 'part_body'));
$this->add_hook('message_body_prefix', array($this, 'status_message'));
$this->register_action('plugin.enigmaimport', array($this, 'import_file'));
$this->register_action('plugin.enigmakeys', array($this, 'preferences_ui'));
// load the Enigma plugin configuration
$this->load_config();
$enabled = $this->rc->config->get('enigma_encryption', true);
// message displaying
if ($this->rc->action == 'show' || $this->rc->action == 'preview' || $this->rc->action == 'print') {
$this->add_hook('message_load', array($this, 'message_load'));
$this->add_hook('template_object_messagebody', array($this, 'message_output'));
}
// message composing
else if ($enabled && $this->rc->action == 'compose') {
$this->add_hook('message_compose_body', array($this, 'message_compose'));
$this->load_ui();
$this->ui->init();
}
// message sending (and draft storing)
else if ($enabled && $this->rc->action == 'send') {
$this->add_hook('message_ready', array($this, 'message_ready'));
}
$this->password_handler();
}
else if ($this->rc->task == 'settings') {
// add hooks for Enigma settings
$this->add_hook('settings_actions', array($this, 'settings_actions'));
$this->add_hook('preferences_sections_list', array($this, 'preferences_sections_list'));
$this->add_hook('preferences_list', array($this, 'preferences_list'));
$this->add_hook('preferences_save', array($this, 'preferences_save'));
// register handler for keys/certs management
$this->register_action('plugin.enigmakeys', array($this, 'preferences_ui'));
// $this->register_action('plugin.enigmacerts', array($this, 'preferences_ui'));
$this->load_ui();
if (empty($_REQUEST['_framed']) || strpos($this->rc->action, 'plugin.enigma') === 0) {
$this->ui->add_css();
}
$this->password_handler();
}
else if ($this->rc->task == 'cli') {
$this->add_hook('user_delete_commit', array($this, 'user_delete'));
}
$this->add_hook('refresh', array($this, 'refresh'));
}
/**
* Plugin environment initialization.
*/
function load_env()
{
if ($this->env_loaded) {
return;
}
$this->env_loaded = true;
// Add include path for Enigma classes and drivers
$include_path = $this->home . '/lib' . PATH_SEPARATOR;
$include_path .= ini_get('include_path');
set_include_path($include_path);
// load the Enigma plugin configuration
$this->load_config();
// include localization (if wasn't included before)
$this->add_texts('localization/');
}
/**
* Plugin UI initialization.
*/
function load_ui($all = false)
{
if (!$this->ui) {
// load config/localization
$this->load_env();
// Load UI
$this->ui = new enigma_ui($this, $this->home);
}
if ($all) {
$this->ui->add_css();
$this->ui->add_js();
}
}
/**
* Plugin engine initialization.
*/
function load_engine()
{
if ($this->engine) {
return $this->engine;
}
// load config/localization
$this->load_env();
return $this->engine = new enigma_engine($this);
}
/**
* Handler for message_part_structure hook.
* Called for every part of the message.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function part_structure($p)
{
$this->load_engine();
return $this->engine->part_structure($p);
}
/**
* Handler for message_part_body hook.
* Called to get body of a message part.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function part_body($p)
{
$this->load_engine();
return $this->engine->part_body($p);
}
/**
* Handler for settings_actions hook.
* Adds Enigma settings section into preferences.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function settings_actions($args)
{
// add labels
$this->add_texts('localization/');
// register as settings action
$args['actions'][] = array(
'action' => 'plugin.enigmakeys',
'class' => 'enigma keys',
'label' => 'enigmakeys',
'title' => 'enigmakeys',
'domain' => 'enigma',
);
/*
$args['actions'][] = array(
'action' => 'plugin.enigmacerts',
'class' => 'enigma certs',
'label' => 'enigmacerts',
'title' => 'enigmacerts',
'domain' => 'enigma',
);
*/
return $args;
}
/**
* Handler for preferences_sections_list hook.
* Adds Encryption settings section into preferences sections list.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function preferences_sections_list($p)
{
$p['list']['enigma'] = array(
'id' => 'enigma', 'section' => $this->gettext('encryption'),
);
return $p;
}
/**
* Handler for preferences_list hook.
* Adds options blocks into Enigma settings sections in Preferences.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function preferences_list($p)
{
if ($p['section'] != 'enigma') {
return $p;
}
$no_override = array_flip((array)$this->rc->config->get('dont_override'));
$p['blocks']['main']['name'] = $this->gettext('mainoptions');
if (!isset($no_override['enigma_encryption'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_encryption';
$input = new html_checkbox(array(
'name' => '_enigma_encryption',
'id' => $field_id,
'value' => 1,
));
$p['blocks']['main']['options']['enigma_encryption'] = array(
'title' => html::label($field_id, $this->gettext('supportencryption')),
'content' => $input->show(intval($this->rc->config->get('enigma_encryption'))),
);
}
if (!isset($no_override['enigma_signatures'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_signatures';
$input = new html_checkbox(array(
'name' => '_enigma_signatures',
'id' => $field_id,
'value' => 1,
));
$p['blocks']['main']['options']['enigma_signatures'] = array(
'title' => html::label($field_id, $this->gettext('supportsignatures')),
'content' => $input->show(intval($this->rc->config->get('enigma_signatures'))),
);
}
if (!isset($no_override['enigma_decryption'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_decryption';
$input = new html_checkbox(array(
'name' => '_enigma_decryption',
'id' => $field_id,
'value' => 1,
));
$p['blocks']['main']['options']['enigma_decryption'] = array(
'title' => html::label($field_id, $this->gettext('supportdecryption')),
'content' => $input->show(intval($this->rc->config->get('enigma_decryption'))),
);
}
if (!isset($no_override['enigma_sign_all'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_sign_all';
$input = new html_checkbox(array(
'name' => '_enigma_sign_all',
'id' => $field_id,
'value' => 1,
));
$p['blocks']['main']['options']['enigma_sign_all'] = array(
'title' => html::label($field_id, $this->gettext('signdefault')),
'content' => $input->show($this->rc->config->get('enigma_sign_all') ? 1 : 0),
);
}
if (!isset($no_override['enigma_encrypt_all'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_encrypt_all';
$input = new html_checkbox(array(
'name' => '_enigma_encrypt_all',
'id' => $field_id,
'value' => 1,
));
$p['blocks']['main']['options']['enigma_encrypt_all'] = array(
'title' => html::label($field_id, $this->gettext('encryptdefault')),
'content' => $input->show($this->rc->config->get('enigma_encrypt_all') ? 1 : 0),
);
}
if (!isset($no_override['enigma_attach_pubkey'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_attach_pubkey';
$input = new html_checkbox(array(
'name' => '_enigma_attach_pubkey',
'id' => $field_id,
'value' => 1,
));
$p['blocks']['main']['options']['enigma_attach_pubkey'] = array(
'title' => html::label($field_id, $this->gettext('attachpubkeydefault')),
'content' => $input->show($this->rc->config->get('enigma_attach_pubkey') ? 1 : 0),
);
}
if (!isset($no_override['enigma_password_time'])) {
if (!$p['current']) {
$p['blocks']['main']['content'] = true;
return $p;
}
$field_id = 'rcmfd_enigma_password_time';
$select = new html_select(array('name' => '_enigma_password_time', 'id' => $field_id));
foreach (array(1, 5, 10, 15, 30) as $m) {
$label = $this->gettext(array('name' => 'nminutes', 'vars' => array('m' => $m)));
$select->add($label, $m);
}
$select->add($this->gettext('wholesession'), 0);
$p['blocks']['main']['options']['enigma_password_time'] = array(
'title' => html::label($field_id, $this->gettext('passwordtime')),
'content' => $select->show(intval($this->rc->config->get('enigma_password_time'))),
);
}
return $p;
}
/**
* Handler for preferences_save hook.
* Executed on Enigma settings form submit.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function preferences_save($p)
{
if ($p['section'] == 'enigma') {
$p['prefs'] = array(
'enigma_signatures' => (bool) rcube_utils::get_input_value('_enigma_signatures', rcube_utils::INPUT_POST),
'enigma_decryption' => (bool) rcube_utils::get_input_value('_enigma_decryption', rcube_utils::INPUT_POST),
'enigma_encryption' => (bool) rcube_utils::get_input_value('_enigma_encryption', rcube_utils::INPUT_POST),
'enigma_sign_all' => (bool) rcube_utils::get_input_value('_enigma_sign_all', rcube_utils::INPUT_POST),
'enigma_encrypt_all' => (bool) rcube_utils::get_input_value('_enigma_encrypt_all', rcube_utils::INPUT_POST),
'enigma_attach_pubkey' => (bool) rcube_utils::get_input_value('_enigma_attach_pubkey', rcube_utils::INPUT_POST),
'enigma_password_time' => intval(rcube_utils::get_input_value('_enigma_password_time', rcube_utils::INPUT_POST)),
);
}
return $p;
}
/**
* Handler for keys/certs management UI template.
*/
function preferences_ui()
{
$this->load_ui();
$this->ui->init();
}
/**
* Handler for message_body_prefix hook.
* Called for every displayed (content) part of the message.
* Adds infobox about signature verification and/or decryption
* status above the body.
*
* @param array Original parameters
*
* @return array Modified parameters
*/
function status_message($p)
{
$this->load_ui();
return $this->ui->status_message($p);
}
/**
* Handler for message_load hook.
* Check message bodies and attachments for keys/certs.
*/
function message_load($p)
{
$this->load_ui();
return $this->ui->message_load($p);
}
/**
* Handler for template_object_messagebody hook.
* This callback function adds a box below the message content
* if there is a key/cert attachment available
*/
function message_output($p)
{
$this->load_ui();
return $this->ui->message_output($p);
}
/**
* Handler for attached keys/certs import
*/
function import_file()
{
$this->load_ui();
$this->ui->import_file();
}
/**
* Handle password submissions
*/
function password_handler()
{
$this->load_engine();
$this->engine->password_handler();
}
/**
* Handle message_ready hook (encryption/signing)
*/
function message_ready($p)
{
$this->load_ui();
return $this->ui->message_ready($p);
}
/**
* Handle message_compose_body hook
*/
function message_compose($p)
{
$this->load_ui();
return $this->ui->message_compose($p);
}
/**
* Handler for refresh hook.
*/
function refresh($p)
{
// calling enigma_engine constructor to remove passwords
// stored in session after expiration time
$this->load_engine();
return $p;
}
/**
* Handle delete_user_commit hook
*/
function user_delete($p)
{
$this->load_engine();
$p['abort'] = $p['abort'] || !$this->engine->delete_user_data($p['username']);
return $p;
}
}

View File

@@ -0,0 +1,7 @@
# deny webserver access to this directory
<ifModule mod_authz_core.c>
Require all denied
</ifModule>
<ifModule !mod_authz_core.c>
Deny from all
</ifModule>

View File

@@ -0,0 +1,134 @@
<?php
/**
+-------------------------------------------------------------------------+
| Abstract driver for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
abstract class enigma_driver
{
/**
* Class constructor.
*
* @param string User name (email address)
*/
abstract function __construct($user);
/**
* Driver initialization.
*
* @return mixed NULL on success, enigma_error on failure
*/
abstract function init();
/**
* Encryption (and optional signing).
*
* @param string Message body
* @param array List of keys (enigma_key objects)
* @param enigma_key Optional signing Key ID
*
* @return mixed Encrypted message or enigma_error on failure
*/
abstract function encrypt($text, $keys, $sign_key = null);
/**
* Decryption (and sig verification if sig exists).
*
* @param string Encrypted message
* @param array List of key-password
* @param enigma_signature Signature information (if available)
*
* @return mixed Decrypted message or enigma_error on failure
*/
abstract function decrypt($text, $keys = array(), &$signature = null);
/**
* Signing.
*
* @param string Message body
* @param enigma_key The signing key
* @param int Signing mode (enigma_engine::SIGN_*)
*
* @return mixed True on success or enigma_error on failure
*/
abstract function sign($text, $key, $mode = null);
/**
* Signature verification.
*
* @param string Message body
* @param string Signature, if message is of type PGP/MIME and body doesn't contain it
*
* @return mixed Signature information (enigma_signature) or enigma_error
*/
abstract function verify($text, $signature);
/**
* Key/Cert file import.
*
* @param string File name or file content
* @param bolean True if first argument is a filename
* @param array Optional key => password map
*
* @return mixed Import status array or enigma_error
*/
abstract function import($content, $isfile = false, $passwords = array());
/**
* Key/Cert export.
*
* @param string Key ID
* @param bool Include private key
* @param array Optional key => password map
*
* @return mixed Key content or enigma_error
*/
abstract function export($key, $with_private = false, $passwords = array());
/**
* Keys listing.
*
* @param string Optional pattern for key ID, user ID or fingerprint
*
* @return mixed Array of enigma_key objects or enigma_error
*/
abstract function list_keys($pattern = '');
/**
* Single key information.
*
* @param string Key ID, user ID or fingerprint
*
* @return mixed Key (enigma_key) object or enigma_error
*/
abstract function get_key($keyid);
/**
* Key pair generation.
*
* @param array Key/User data (name, email, password, size)
*
* @return mixed Key (enigma_key) object or enigma_error
*/
abstract function gen_key($data);
/**
* Key deletion.
*
* @param string Key ID
*
* @return mixed True on success or enigma_error
*/
abstract function delete_key($keyid);
}

View File

@@ -0,0 +1,512 @@
<?php
/**
+-------------------------------------------------------------------------+
| GnuPG (PGP) driver for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
require_once 'Crypt/GPG.php';
class enigma_driver_gnupg extends enigma_driver
{
protected $rc;
protected $gpg;
protected $homedir;
protected $user;
function __construct($user)
{
$this->rc = rcmail::get_instance();
$this->user = $user;
}
/**
* Driver initialization and environment checking.
* Should only return critical errors.
*
* @return mixed NULL on success, enigma_error on failure
*/
function init()
{
$homedir = $this->rc->config->get('enigma_pgp_homedir', INSTALL_PATH . 'plugins/enigma/home');
$debug = $this->rc->config->get('enigma_debug');
$binary = $this->rc->config->get('enigma_pgp_binary');
$agent = $this->rc->config->get('enigma_pgp_agent');
$gpgconf = $this->rc->config->get('enigma_pgp_gpgconf');
if (!$homedir) {
return new enigma_error(enigma_error::INTERNAL,
"Option 'enigma_pgp_homedir' not specified");
}
// check if homedir exists (create it if not) and is readable
if (!file_exists($homedir)) {
return new enigma_error(enigma_error::INTERNAL,
"Keys directory doesn't exists: $homedir");
}
if (!is_writable($homedir)) {
return new enigma_error(enigma_error::INTERNAL,
"Keys directory isn't writeable: $homedir");
}
$homedir = $homedir . '/' . $this->user;
// check if user's homedir exists (create it if not) and is readable
if (!file_exists($homedir)) {
mkdir($homedir, 0700);
}
if (!file_exists($homedir)) {
return new enigma_error(enigma_error::INTERNAL,
"Unable to create keys directory: $homedir");
}
if (!is_writable($homedir)) {
return new enigma_error(enigma_error::INTERNAL,
"Unable to write to keys directory: $homedir");
}
$this->homedir = $homedir;
$options = array('homedir' => $this->homedir);
if ($debug) {
$options['debug'] = array($this, 'debug');
}
if ($binary) {
$options['binary'] = $binary;
}
if ($agent) {
$options['agent'] = $agent;
}
if ($gpgconf) {
$options['gpgconf'] = $gpgconf;
}
// Create Crypt_GPG object
try {
$this->gpg = new Crypt_GPG($options);
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Encryption (and optional signing).
*
* @param string Message body
* @param array List of keys (enigma_key objects)
* @param enigma_key Optional signing Key ID
*
* @return mixed Encrypted message or enigma_error on failure
*/
function encrypt($text, $keys, $sign_key = null)
{
try {
foreach ($keys as $key) {
$this->gpg->addEncryptKey($key->reference);
}
if ($sign_key) {
$this->gpg->addSignKey($sign_key->reference, $sign_key->password);
return $this->gpg->encryptAndSign($text, true);
}
return $this->gpg->encrypt($text, true);
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Decrypt a message (and verify if signature found)
*
* @param string Encrypted message
* @param array List of key-password mapping
* @param enigma_signature Signature information (if available)
*
* @return mixed Decrypted message or enigma_error on failure
*/
function decrypt($text, $keys = array(), &$signature = null)
{
try {
foreach ($keys as $key => $password) {
$this->gpg->addDecryptKey($key, $password);
}
$result = $this->gpg->decryptAndVerify($text);
if (!empty($result['signatures'])) {
$signature = $this->parse_signature($result['signatures'][0]);
}
return $result['data'];
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Signing.
*
* @param string Message body
* @param enigma_key The key
* @param int Signing mode (enigma_engine::SIGN_*)
*
* @return mixed True on success or enigma_error on failure
*/
function sign($text, $key, $mode = null)
{
try {
$this->gpg->addSignKey($key->reference, $key->password);
return $this->gpg->sign($text, $mode, CRYPT_GPG::ARMOR_ASCII, true);
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Signature verification.
*
* @param string Message body
* @param string Signature, if message is of type PGP/MIME and body doesn't contain it
*
* @return mixed Signature information (enigma_signature) or enigma_error
*/
function verify($text, $signature)
{
try {
$verified = $this->gpg->verify($text, $signature);
return $this->parse_signature($verified[0]);
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Key file import.
*
* @param string File name or file content
* @param bolean True if first argument is a filename
* @param array Optional key => password map
*
* @return mixed Import status array or enigma_error
*/
public function import($content, $isfile = false, $passwords = array())
{
try {
// GnuPG 2.1 requires secret key passphrases on import
foreach ($passwords as $keyid => $pass) {
$this->gpg->addPassphrase($keyid, $pass);
}
if ($isfile)
return $this->gpg->importKeyFile($content);
else
return $this->gpg->importKey($content);
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Key export.
*
* @param string Key ID
* @param bool Include private key
* @param array Optional key => password map
*
* @return mixed Key content or enigma_error
*/
public function export($keyid, $with_private = false, $passwords = array())
{
try {
$key = $this->gpg->exportPublicKey($keyid, true);
if ($with_private) {
// GnuPG 2.1 requires secret key passphrases on export
foreach ($passwords as $_keyid => $pass) {
$this->gpg->addPassphrase($_keyid, $pass);
}
$priv = $this->gpg->exportPrivateKey($keyid, true);
$key .= $priv;
}
return $key;
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Keys listing.
*
* @param string Optional pattern for key ID, user ID or fingerprint
*
* @return mixed Array of enigma_key objects or enigma_error
*/
public function list_keys($pattern = '')
{
try {
$keys = $this->gpg->getKeys($pattern);
$result = array();
foreach ($keys as $idx => $key) {
$result[] = $this->parse_key($key);
unset($keys[$idx]);
}
return $result;
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Single key information.
*
* @param string Key ID, user ID or fingerprint
*
* @return mixed Key (enigma_key) object or enigma_error
*/
public function get_key($keyid)
{
$list = $this->list_keys($keyid);
if (is_array($list)) {
return $list[key($list)];
}
// error
return $list;
}
/**
* Key pair generation.
*
* @param array Key/User data (user, email, password, size)
*
* @return mixed Key (enigma_key) object or enigma_error
*/
public function gen_key($data)
{
try {
$debug = $this->rc->config->get('enigma_debug');
$keygen = new Crypt_GPG_KeyGenerator(array(
'homedir' => $this->homedir,
// 'binary' => '/usr/bin/gpg2',
'debug' => $debug ? array($this, 'debug') : false,
));
$key = $keygen
->setExpirationDate(0)
->setPassphrase($data['password'])
->generateKey($data['user'], $data['email']);
return $this->parse_key($key);
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Key deletion.
*
* @param string Key ID
*
* @return mixed True on success or enigma_error
*/
public function delete_key($keyid)
{
// delete public key
$result = $this->delete_pubkey($keyid);
// error handling
if ($result !== true) {
$code = $result->getCode();
// if not found, delete private key
if ($code == enigma_error::KEYNOTFOUND) {
$result = $this->delete_privkey($keyid);
}
// need to delete private key first
else if ($code == enigma_error::DELKEY) {
$key = $this->get_key($keyid);
for ($i = count($key->subkeys) - 1; $i >= 0; $i--) {
$type = ($key->subkeys[$i]->usage & enigma_key::CAN_ENCRYPT) ? 'priv' : 'pub';
$result = $this->{'delete_' . $type . 'key'}($key->subkeys[$i]->id);
if ($result !== true) {
return $result;
}
}
}
}
return $result;
}
/**
* Private key deletion.
*/
protected function delete_privkey($keyid)
{
try {
$this->gpg->deletePrivateKey($keyid);
return true;
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Public key deletion.
*/
protected function delete_pubkey($keyid)
{
try {
$this->gpg->deletePublicKey($keyid);
return true;
}
catch (Exception $e) {
return $this->get_error_from_exception($e);
}
}
/**
* Converts Crypt_GPG exception into Enigma's error object
*
* @param mixed Exception object
*
* @return enigma_error Error object
*/
protected function get_error_from_exception($e)
{
$data = array();
if ($e instanceof Crypt_GPG_KeyNotFoundException) {
$error = enigma_error::KEYNOTFOUND;
$data['id'] = $e->getKeyId();
}
else if ($e instanceof Crypt_GPG_BadPassphraseException) {
$error = enigma_error::BADPASS;
$data['bad'] = $e->getBadPassphrases();
$data['missing'] = $e->getMissingPassphrases();
}
else if ($e instanceof Crypt_GPG_NoDataException) {
$error = enigma_error::NODATA;
}
else if ($e instanceof Crypt_GPG_DeletePrivateKeyException) {
$error = enigma_error::DELKEY;
}
else {
$error = enigma_error::INTERNAL;
}
$msg = $e->getMessage();
return new enigma_error($error, $msg, $data);
}
/**
* Converts Crypt_GPG_Signature object into Enigma's signature object
*
* @param Crypt_GPG_Signature Signature object
*
* @return enigma_signature Signature object
*/
protected function parse_signature($sig)
{
$data = new enigma_signature();
$data->id = $sig->getId();
$data->valid = $sig->isValid();
$data->fingerprint = $sig->getKeyFingerprint();
$data->created = $sig->getCreationDate();
$data->expires = $sig->getExpirationDate();
// In case of ERRSIG user may not be set
if ($user = $sig->getUserId()) {
$data->name = $user->getName();
$data->comment = $user->getComment();
$data->email = $user->getEmail();
}
return $data;
}
/**
* Converts Crypt_GPG_Key object into Enigma's key object
*
* @param Crypt_GPG_Key Key object
*
* @return enigma_key Key object
*/
protected function parse_key($key)
{
$ekey = new enigma_key();
foreach ($key->getUserIds() as $idx => $user) {
$id = new enigma_userid();
$id->name = $user->getName();
$id->comment = $user->getComment();
$id->email = $user->getEmail();
$id->valid = $user->isValid();
$id->revoked = $user->isRevoked();
$ekey->users[$idx] = $id;
}
$ekey->name = trim($ekey->users[0]->name . ' <' . $ekey->users[0]->email . '>');
// keep reference to Crypt_GPG's key for performance reasons
$ekey->reference = $key;
foreach ($key->getSubKeys() as $idx => $subkey) {
$skey = new enigma_subkey();
$skey->id = $subkey->getId();
$skey->revoked = $subkey->isRevoked();
$skey->created = $subkey->getCreationDate();
$skey->expires = $subkey->getExpirationDate();
$skey->fingerprint = $subkey->getFingerprint();
$skey->has_private = $subkey->hasPrivate();
$skey->algorithm = $subkey->getAlgorithm();
$skey->length = $subkey->getLength();
$skey->usage = $subkey->usage();
$ekey->subkeys[$idx] = $skey;
};
$ekey->id = $ekey->subkeys[0]->id;
return $ekey;
}
/**
* Write debug info from Crypt_GPG to logs/enigma
*/
public function debug($line)
{
rcube::write_log('enigma', 'GPG: ' . $line);
}
}

View File

@@ -0,0 +1,224 @@
<?php
/**
+-------------------------------------------------------------------------+
| S/MIME driver for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_driver_phpssl extends enigma_driver
{
private $rc;
private $homedir;
private $user;
function __construct($user)
{
$rcmail = rcmail::get_instance();
$this->rc = $rcmail;
$this->user = $user;
}
/**
* Driver initialization and environment checking.
* Should only return critical errors.
*
* @return mixed NULL on success, enigma_error on failure
*/
function init()
{
$homedir = $this->rc->config->get('enigma_smime_homedir', INSTALL_PATH . '/plugins/enigma/home');
if (!$homedir)
return new enigma_error(enigma_error::INTERNAL,
"Option 'enigma_smime_homedir' not specified");
// check if homedir exists (create it if not) and is readable
if (!file_exists($homedir))
return new enigma_error(enigma_error::INTERNAL,
"Keys directory doesn't exists: $homedir");
if (!is_writable($homedir))
return new enigma_error(enigma_error::INTERNAL,
"Keys directory isn't writeable: $homedir");
$homedir = $homedir . '/' . $this->user;
// check if user's homedir exists (create it if not) and is readable
if (!file_exists($homedir))
mkdir($homedir, 0700);
if (!file_exists($homedir))
return new enigma_error(enigma_error::INTERNAL,
"Unable to create keys directory: $homedir");
if (!is_writable($homedir))
return new enigma_error(enigma_error::INTERNAL,
"Unable to write to keys directory: $homedir");
$this->homedir = $homedir;
}
function encrypt($text, $keys, $sign_key = null)
{
}
function decrypt($text, $keys = array(), &$signature = null)
{
}
function sign($text, $key, $mode = null)
{
}
function verify($struct, $message)
{
// use common temp dir
$temp_dir = $this->rc->config->get('temp_dir');
$msg_file = tempnam($temp_dir, 'rcmMsg');
$cert_file = tempnam($temp_dir, 'rcmCert');
$fh = fopen($msg_file, "w");
if ($struct->mime_id) {
$message->get_part_body($struct->mime_id, false, 0, $fh);
}
else {
$this->rc->storage->get_raw_body($message->uid, $fh);
}
fclose($fh);
// @TODO: use stored certificates
// try with certificate verification
$sig = openssl_pkcs7_verify($msg_file, 0, $cert_file);
$validity = true;
if ($sig !== true) {
// try without certificate verification
$sig = openssl_pkcs7_verify($msg_file, PKCS7_NOVERIFY, $cert_file);
$validity = enigma_error::UNVERIFIED;
}
if ($sig === true) {
$sig = $this->parse_sig_cert($cert_file, $validity);
}
else {
$errorstr = $this->get_openssl_error();
$sig = new enigma_error(enigma_error::INTERNAL, $errorstr);
}
// remove temp files
@unlink($msg_file);
@unlink($cert_file);
return $sig;
}
public function import($content, $isfile = false, $passwords = array())
{
}
public function export($key, $with_private = false, $passwords = array())
{
}
public function list_keys($pattern='')
{
}
public function get_key($keyid)
{
}
public function gen_key($data)
{
}
public function delete_key($keyid)
{
}
/**
* Converts Crypt_GPG_Key object into Enigma's key object
*
* @param Crypt_GPG_Key Key object
*
* @return enigma_key Key object
*/
private function parse_key($key)
{
/*
$ekey = new enigma_key();
foreach ($key->getUserIds() as $idx => $user) {
$id = new enigma_userid();
$id->name = $user->getName();
$id->comment = $user->getComment();
$id->email = $user->getEmail();
$id->valid = $user->isValid();
$id->revoked = $user->isRevoked();
$ekey->users[$idx] = $id;
}
$ekey->name = trim($ekey->users[0]->name . ' <' . $ekey->users[0]->email . '>');
foreach ($key->getSubKeys() as $idx => $subkey) {
$skey = new enigma_subkey();
$skey->id = $subkey->getId();
$skey->revoked = $subkey->isRevoked();
$skey->created = $subkey->getCreationDate();
$skey->expires = $subkey->getExpirationDate();
$skey->fingerprint = $subkey->getFingerprint();
$skey->has_private = $subkey->hasPrivate();
$ekey->subkeys[$idx] = $skey;
};
$ekey->id = $ekey->subkeys[0]->id;
return $ekey;
*/
}
private function get_openssl_error()
{
$tmp = array();
while ($errorstr = openssl_error_string()) {
$tmp[] = $errorstr;
}
return join("\n", array_values($tmp));
}
private function parse_sig_cert($file, $validity)
{
$cert = openssl_x509_parse(file_get_contents($file));
if (empty($cert) || empty($cert['subject'])) {
$errorstr = $this->get_openssl_error();
return new enigma_error(enigma_error::INTERNAL, $errorstr);
}
$data = new enigma_signature();
$data->id = $cert['hash']; //?
$data->valid = $validity;
$data->fingerprint = $cert['serialNumber'];
$data->created = $cert['validFrom_time_t'];
$data->expires = $cert['validTo_time_t'];
$data->name = $cert['subject']['CN'];
// $data->comment = '';
$data->email = $cert['subject']['emailAddress'];
return $data;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
<?php
/**
+-------------------------------------------------------------------------+
| Error class for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_error
{
private $code;
private $message;
private $data = array();
// error codes
const OK = 0;
const INTERNAL = 1;
const NODATA = 2;
const KEYNOTFOUND = 3;
const DELKEY = 4;
const BADPASS = 5;
const EXPIRED = 6;
const UNVERIFIED = 7;
function __construct($code = null, $message = '', $data = array())
{
$this->code = $code;
$this->message = $message;
$this->data = $data;
}
function getCode()
{
return $this->code;
}
function getMessage()
{
return $this->message;
}
function getData($name)
{
return $name ? $this->data[$name] : $this->data;
}
}

View File

@@ -0,0 +1,167 @@
<?php
/**
+-------------------------------------------------------------------------+
| Key class for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_key
{
public $id;
public $name;
public $users = array();
public $subkeys = array();
public $reference;
public $password;
const TYPE_UNKNOWN = 0;
const TYPE_KEYPAIR = 1;
const TYPE_PUBLIC = 2;
const CAN_ENCRYPT = 1;
const CAN_SIGN = 2;
const CAN_CERTIFY = 4;
const CAN_AUTHENTICATE = 8;
/**
* Keys list sorting callback for usort()
*/
static function cmp($a, $b)
{
return strcmp($a->name, $b->name);
}
/**
* Returns key type
*/
function get_type()
{
if ($this->subkeys[0]->has_private)
return enigma_key::TYPE_KEYPAIR;
else if (!empty($this->subkeys[0]))
return enigma_key::TYPE_PUBLIC;
return enigma_key::TYPE_UNKNOWN;
}
/**
* Returns true if all user IDs are revoked
*/
function is_revoked()
{
foreach ($this->subkeys as $subkey)
if (!$subkey->revoked)
return false;
return true;
}
/**
* Returns true if any user ID is valid
*/
function is_valid()
{
foreach ($this->users as $user)
if ($user->valid)
return true;
return false;
}
/**
* Returns true if any of subkeys is not expired
*/
function is_expired()
{
$now = time();
foreach ($this->subkeys as $subkey)
if (!$subkey->expires || $subkey->expires > $now)
return true;
return false;
}
/**
* Returns true if any of subkeys is a private key
*/
function is_private()
{
$now = time();
foreach ($this->subkeys as $subkey)
if ($subkey->has_private)
return true;
return false;
}
/**
* Get key ID by user email
*/
function find_subkey($email, $mode)
{
$now = time();
foreach ($this->users as $user) {
if (strcasecmp($user->email, $email) === 0 && $user->valid && !$user->revoked) {
foreach ($this->subkeys as $subkey) {
if (!$subkey->revoked && (!$subkey->expires || $subkey->expires > $now)) {
if ($subkey->usage & $mode) {
return $subkey;
}
}
}
}
}
}
/**
* Converts long ID or Fingerprint to short ID
* Crypt_GPG uses internal, but e.g. Thunderbird's Enigmail displays short ID
*
* @param string Key ID or fingerprint
* @return string Key short ID
*/
static function format_id($id)
{
// E.g. 04622F2089E037A5 => 89E037A5
return substr($id, -8);
}
/**
* Formats fingerprint string
*
* @param string Key fingerprint
*
* @return string Formatted fingerprint (with spaces)
*/
static function format_fingerprint($fingerprint)
{
if (!$fingerprint) {
return '';
}
$result = '';
for ($i=0; $i<40; $i++) {
if ($i % 4 == 0) {
$result .= ' ';
}
$result .= $fingerprint[$i];
}
return $result;
}
}

View File

@@ -0,0 +1,294 @@
<?php
/**
+-------------------------------------------------------------------------+
| Mail_mime wrapper for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_mime_message extends Mail_mime
{
const PGP_SIGNED = 1;
const PGP_ENCRYPTED = 2;
protected $type;
protected $message;
protected $body;
protected $signature;
protected $encrypted;
/**
* Object constructor
*
* @param Mail_mime Original message
* @param int Output message type
*/
function __construct($message, $type)
{
$this->message = $message;
$this->type = $type;
// clone parameters
foreach (array_keys($this->build_params) as $param) {
$this->build_params[$param] = $message->getParam($param);
}
// clone headers
$this->headers = $message->headers();
// \r\n is must-have here
$this->body = $message->get() . "\r\n";
}
/**
* Check if the message is multipart (requires PGP/MIME)
*
* @return bool True if it is multipart, otherwise False
*/
public function isMultipart()
{
return $this->message instanceof enigma_mime_message
|| $this->message->isMultipart() || $this->message->getHTMLBody();
}
/**
* Get e-mail address of message sender
*
* @return string Sender address
*/
public function getFromAddress()
{
// get sender address
$headers = $this->message->headers();
$from = rcube_mime::decode_address_list($headers['From'], 1, false, null, true);
$from = $from[1];
return $from;
}
/**
* Get recipients' e-mail addresses
*
* @return array Recipients' addresses
*/
public function getRecipients()
{
// get sender address
$headers = $this->message->headers();
$to = rcube_mime::decode_address_list($headers['To'], null, false, null, true);
$cc = rcube_mime::decode_address_list($headers['Cc'], null, false, null, true);
$bcc = rcube_mime::decode_address_list($headers['Bcc'], null, false, null, true);
$recipients = array_unique(array_merge($to, $cc, $bcc));
$recipients = array_diff($recipients, array('undisclosed-recipients:'));
return $recipients;
}
/**
* Get original message body, to be encrypted/signed
*
* @return string Message body
*/
public function getOrigBody()
{
$_headers = $this->message->headers();
$headers = array();
if ($_headers['Content-Transfer-Encoding']
&& stripos($_headers['Content-Type'], 'multipart') === false
) {
$headers[] = 'Content-Transfer-Encoding: ' . $_headers['Content-Transfer-Encoding'];
}
$headers[] = 'Content-Type: ' . $_headers['Content-Type'];
return implode("\r\n", $headers) . "\r\n\r\n" . $this->body;
}
/**
* Register signature attachment
*
* @param string Signature body
*/
public function addPGPSignature($body)
{
$this->signature = $body;
// Reset Content-Type to be overwritten with valid boundary
unset($this->headers['Content-Type']);
unset($this->headers['Content-Transfer-Encoding']);
}
/**
* Register encrypted body
*
* @param string Encrypted body
*/
public function setPGPEncryptedBody($body)
{
$this->encrypted = $body;
// Reset Content-Type to be overwritten with valid boundary
unset($this->headers['Content-Type']);
unset($this->headers['Content-Transfer-Encoding']);
}
/**
* Builds the multipart message.
*
* @param array $params Build parameters that change the way the email
* is built. Should be associative. See $_build_params.
* @param resource $filename Output file where to save the message instead of
* returning it
* @param boolean $skip_head True if you want to return/save only the message
* without headers
*
* @return mixed The MIME message content string, null or PEAR error object
*/
public function get($params = null, $filename = null, $skip_head = false)
{
if (isset($params)) {
while (list($key, $value) = each($params)) {
$this->build_params[$key] = $value;
}
}
$this->checkParams();
if ($this->type == self::PGP_SIGNED) {
$params = array(
'preamble' => "This is an OpenPGP/MIME signed message (RFC 4880 and 3156)",
'content_type' => "multipart/signed; micalg=pgp-sha1; protocol=\"application/pgp-signature\"",
'eol' => $this->build_params['eol'],
);
$message = new Mail_mimePart('', $params);
if (!empty($this->body)) {
$headers = $this->message->headers();
$params = array('content_type' => $headers['Content-Type']);
if ($headers['Content-Transfer-Encoding']
&& stripos($headers['Content-Type'], 'multipart') === false
) {
$params['encoding'] = $headers['Content-Transfer-Encoding'];
}
$message->addSubpart($this->body, $params);
}
if (!empty($this->signature)) {
$message->addSubpart($this->signature, array(
'filename' => 'signature.asc',
'content_type' => 'application/pgp-signature',
'disposition' => 'attachment',
'description' => 'OpenPGP digital signature',
));
}
}
else if ($this->type == self::PGP_ENCRYPTED) {
$params = array(
'preamble' => "This is an OpenPGP/MIME encrypted message (RFC 4880 and 3156)",
'content_type' => "multipart/encrypted; protocol=\"application/pgp-encrypted\"",
'eol' => $this->build_params['eol'],
);
$message = new Mail_mimePart('', $params);
$message->addSubpart('Version: 1', array(
'content_type' => 'application/pgp-encrypted',
'description' => 'PGP/MIME version identification',
));
$message->addSubpart($this->encrypted, array(
'content_type' => 'application/octet-stream',
'description' => 'PGP/MIME encrypted message',
'disposition' => 'inline',
'filename' => 'encrypted.asc',
));
}
// Use saved boundary
if (!empty($this->build_params['boundary'])) {
$boundary = $this->build_params['boundary'];
}
else {
$boundary = null;
}
// Write output to file
if ($filename) {
// Append mimePart message headers and body into file
$headers = $message->encodeToFile($filename, $boundary, $skip_head);
if ($this->isError($headers)) {
return $headers;
}
$this->headers = array_merge($this->headers, $headers);
return;
}
else {
$output = $message->encode($boundary, $skip_head);
if ($this->isError($output)) {
return $output;
}
$this->headers = array_merge($this->headers, $output['headers']);
return $output['body'];
}
}
/**
* Get Content-Type and Content-Transfer-Encoding headers of the message
*
* @return array Headers array
*/
protected function contentHeaders()
{
$this->checkParams();
$eol = $this->build_params['eol'] ?: "\r\n";
// multipart message: and boundary
if (!empty($this->build_params['boundary'])) {
$boundary = $this->build_params['boundary'];
}
else if (!empty($this->headers['Content-Type'])
&& preg_match('/boundary="([^"]+)"/', $this->headers['Content-Type'], $m)
) {
$boundary = $m[1];
}
else {
$boundary = '=_' . md5(rand() . microtime());
}
$this->build_params['boundary'] = $boundary;
if ($this->type == self::PGP_SIGNED) {
$headers['Content-Type'] = "multipart/signed; micalg=pgp-sha1;$eol"
." protocol=\"application/pgp-signature\";$eol"
." boundary=\"$boundary\"";
}
else if ($this->type == self::PGP_ENCRYPTED) {
$headers['Content-Type'] = "multipart/encrypted;$eol"
." protocol=\"application/pgp-encrypted\";$eol"
." boundary=\"$boundary\"";
}
return $headers;
}
}

View File

@@ -0,0 +1,32 @@
<?php
/**
+-------------------------------------------------------------------------+
| Signature class for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_signature
{
public $id;
public $valid;
public $fingerprint;
public $created;
public $expires;
public $name;
public $comment;
public $email;
// Set it to true if signature is valid, but part of the message
// was out of the signed block
public $partial;
}

View File

@@ -0,0 +1,79 @@
<?php
/**
+-------------------------------------------------------------------------+
| SubKey class for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_subkey
{
public $id;
public $fingerprint;
public $expires;
public $created;
public $revoked;
public $has_private;
public $algorithm;
public $length;
public $usage;
/**
* Converts internal ID to short ID
* Crypt_GPG uses internal, but e.g. Thunderbird's Enigmail displays short ID
*
* @return string Key ID
*/
function get_short_id()
{
// E.g. 04622F2089E037A5 => 89E037A5
return enigma_key::format_id($this->id);
}
/**
* Getter for formatted fingerprint
*
* @return string Formatted fingerprint
*/
function get_fingerprint()
{
return enigma_key::format_fingerprint($this->fingerprint);
}
/**
* Returns human-readable name of the key's algorithm
*
* @return string Algorithm name
*/
function get_algorithm()
{
// http://tools.ietf.org/html/rfc4880#section-9.1
switch ($this->algorithm) {
case 1:
case 2:
case 3:
return 'RSA';
case 16:
case 20:
return 'Elgamal';
case 17:
return 'DSA';
case 18:
return 'Elliptic Curve';
case 19:
return 'ECDSA';
case 21:
return 'Diffie-Hellman';
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
<?php
/**
+-------------------------------------------------------------------------+
| User ID class for the Enigma Plugin |
| |
| Copyright (C) 2010-2015 The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-------------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-------------------------------------------------------------------------+
*/
class enigma_userid
{
public $revoked;
public $valid;
public $name;
public $comment;
public $email;
}

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Криптиране';
$labels['enigmacerts'] = 'S/MIME сертификати';
$labels['enigmakeys'] = 'PGP ключове';
$labels['keysfromto'] = 'Ключове $from до $to от $count';
$labels['keyname'] = 'Име';
$labels['keyid'] = 'ИН на ключ';
$labels['keyuserid'] = 'ИН на потребител';
$labels['keytype'] = 'Тип на ключ';
$labels['fingerprint'] = 'Пръстов отпечатък';
$labels['subkeys'] = 'Подключове';
$labels['basicinfo'] = 'Основна информация';
$labels['userids'] = 'Допълнителни потребители';
$labels['typepublickey'] = 'публичен ключ';
$labels['typekeypair'] = 'ключова двойка';
$labels['keyattfound'] = 'Това писмо съдържа прикрепени PGP ключове';
$labels['keyattimport'] = 'Импорт на ключове';
$labels['typesign'] = 'Подпиши';
$labels['typeencrypt'] = 'Криптирай';
$labels['typecert'] = 'Удостовери';
$labels['typeauth'] = 'Удостоверяване';
$labels['subkeyid'] = 'ИН';
$labels['subkeyalgo'] = 'Алгоритъм';
$labels['subkeycreated'] = 'Създаден на';
$labels['subkeyexpires'] = 'Изтича на';
$labels['subkeyusage'] = 'Използван';
$labels['expiresnever'] = 'никога';
$labels['unknown'] = 'неизвестно';
$labels['uservalid'] = 'Валиден';
$labels['userid'] = 'ИН';
$labels['valid'] = 'валиден';
$labels['supportencryption'] = 'Включи криптиране и подписване на писма';
$labels['supportsignatures'] = 'Включи верификация на подписи в писма';
$labels['supportdecryption'] = 'Включи декриптиране на писма';
$labels['signdefault'] = 'Подписвай всички писма по подразбиране';
$labels['encryptdefault'] = 'Криптирай всички писма по подразбиране';
$labels['attachpubkeydefault'] = 'Прикрепи по подразбирне моя публичен PGP ключ';
$labels['passwordtime'] = 'Запомни паролата на частния ключ за';
$labels['nminutes'] = '$m минути';
$labels['wholesession'] = 'цялата сесия';
$labels['createkeys'] = 'Създай нова ключова двойка';
$labels['importkeys'] = 'Импорт на ключове';
$labels['exportkeys'] = 'Експорт на ключове';
$labels['keyactions'] = 'Действия...';
$labels['keyremove'] = 'Изтриване';
$labels['keydisable'] = 'Деактивиране';
$labels['keyrevoke'] = 'Отмяна';
$labels['keysend'] = 'Изпрати писмо с публичен ключ';
$labels['keychpass'] = 'Промени паролата';
$labels['newkeyident'] = 'Самоличност:';
$labels['newkeypass'] = 'Парола:';
$labels['newkeypassconfirm'] = 'Потвърди паролата:';
$labels['newkeysize'] = 'Размер на ключа:';
$labels['key2048'] = '2048 бита (по подразбиране)';
$labels['key4096'] = '4096 бита (по-сигурен)';
$labels['keygenerating'] = 'Генериране на ключове...';
$labels['encryptionoptions'] = 'Опции за криптиране...';
$labels['encryptmsg'] = 'Криптирай това писмо';
$labels['signmsg'] = 'Подпиши това писмо';
$labels['enterkeypasstitle'] = 'Въведете парола на ключа';
$labels['enterkeypass'] = 'Нужна е парола за отваряне на ключ ($keyid) за потребител $user.';
$labels['arialabelkeyexportoptions'] = 'Опции за експорт на ключ';
$labels['attachpubkeymsg'] = 'Прикрепи моя публичен ключ';
$labels['keyexportprompt'] = 'Желаете ли да включите секретните ключове в записания OpenPGP файл?';
$labels['onlypubkeys'] = 'Експорт само на Публичните ключове';
$labels['withprivkeys'] = 'Експорт на Секретни ключове';
$labels['findkey'] = 'Търси на сървъри за ключове';
$labels['keyimportlabel'] = 'Импорт от файл';
$labels['keyimportsearchlabel'] = 'Търси на сървъри за ключове';
$messages['sigvalid'] = 'Верифициран подпис от $sender.';
$messages['sigvalidpartial'] = 'Верифициран подпис от $sender, но част от съдържанието на писмото не е било подписано';
$messages['siginvalid'] = 'Невалиден подпис от $sender.';
$messages['sigunverified'] = 'Неверифициран подпис. Сертификатът не е верифициран. Сертификат с ИН $keyid.';
$messages['signokey'] = 'Неверифициран подпис. Публичния ключ не е намерен. Ключ с ИН $keyid.';
$messages['sigerror'] = 'Неверифициран подпис. Вътрешна грешка.';
$messages['decryptok'] = 'Писмото е декриптирано.';
$messages['decrypterror'] = 'Невъзможно декриптиране.';
$messages['decryptnokey'] = 'Невъзможно декриптиране. Частният ключ не е намерен. Ключ с ИН $keyid.';
$messages['decryptnopass'] = 'Невъзможно декриптиране. Паролата на частния ключ е задължителна.';
$messages['decryptpartial'] = 'Писмото е декриптирано, но част от съдържанието му не е било защитено с криптиране.';
$messages['signerror'] = 'Невъзможно подписване.';
$messages['signnokey'] = 'Невъзможно подписване. Частният ключ не е намерен.';
$messages['signnopass'] = 'Невъзможно подписване. Паролата на частния ключ е задължителна.';
$messages['encrypterror'] = 'Невъзможно криптиране.';
$messages['encryptnokey'] = 'Невъзможно криптиране. Публичният ключ не е намерен за $email.';
$messages['nokeysfound'] = 'Не са намерени ключове';
$messages['keynotfound'] = 'Ключът не е намерен!';
$messages['keyopenerror'] = 'Невъзможно получаване на информация за ключа! Вътрешна грешка.';
$messages['keylisterror'] = 'Невъзможно получаване на ключове! Вътрешна грешка.';
$messages['keysimportfailed'] = 'Невъзможно импортиране на ключове! Вътрешна грешка.';
$messages['keysimportsuccess'] = 'Ключовете са импортирани успешно. Импортирани $new, непроменени $old.';
$messages['keyremoving'] = 'Изтриване на ключове...';
$messages['keyremoveconfirm'] = 'Желаете ли да изтриете избраните ключове?';
$messages['keyremovesuccess'] = 'Ключовете са изтрити успешно.';
$messages['keyremoveerror'] = 'Невъзможно изтриване на ключове.';
$messages['keyimporttext'] = 'Можете да импортирате частни и публични ключове или сигнатури за отмяна в ASCII-Armor формат.';
$messages['keyimportsearchtext'] = 'Можете да търсите публични ключове по идентификатор, потребитлско име или адрес на ел. поща, след което директно да ги импортирате.';
$messages['formerror'] = 'Моля попълнете формата. Всички полета са задължителни!';
$messages['passwordsdiffer'] = 'Паролите не съвпадат!';
$messages['keygenerateerror'] = 'Невъзможно генериране на ключова двойка';
$messages['keygeneratesuccess'] = 'Ключовата двойка е генерирана и импортирана успешно.';
$messages['keygennosupport'] = 'Вашият браузър не поддържа нужните криптографски методи. Невъзможно генериране на ключова двойка.';
$messages['noidentselected'] = 'Трябва да избере поне една самоличност за този ключ!';
$messages['nonameident'] = 'Самоличността трябва да има дефинирано потребителско име!';
?>

View File

@@ -0,0 +1,117 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Enrinegañ';
$labels['enigmacerts'] = 'Testenioù S/MIME';
$labels['enigmakeys'] = 'Alc\'hwezioù PGP';
$labels['keysfromto'] = 'Alc\'hwezioù $from da $to war $count';
$labels['keyname'] = 'Anv';
$labels['keyid'] = 'Naoudi an alc\'hwez';
$labels['keyuserid'] = 'Naoudi an arveriad';
$labels['keytype'] = 'Rizh an alc\'hwez';
$labels['fingerprint'] = 'Roudoù-biz';
$labels['subkeys'] = 'Is-alc\'hwez';
$labels['basicinfo'] = 'Titouroù diazez';
$labels['userids'] = 'Arveriaded ouzhpenn';
$labels['typepublickey'] = 'alc\'hwez foran';
$labels['typekeypair'] = 'daouad alc\'hwezioù';
$labels['keyattfound'] = 'Alc\'hwezioù PGP a zo staget d\'ar gemennadenn-mañ.';
$labels['keyattimport'] = 'Enporzhiañ an alc\'hwez(ioù)';
$labels['typesign'] = 'Sinañ';
$labels['typeencrypt'] = 'Enrinegañ';
$labels['typecert'] = 'Testeniañ';
$labels['typeauth'] = 'Dilesa';
$labels['subkeyid'] = 'Naoudi';
$labels['subkeyalgo'] = 'Treol';
$labels['subkeycreated'] = 'Krouet';
$labels['subkeyexpires'] = 'Diamzeriñ';
$labels['subkeyusage'] = 'Arver';
$labels['expiresnever'] = 'morse';
$labels['unknown'] = 'dianav';
$labels['uservalid'] = 'Talvoudek';
$labels['userid'] = 'Naoudi';
$labels['valid'] = 'talvoudek';
$labels['supportencryption'] = 'Gweredekaat enrinegañ ha sinañ ar c\'hemennadennoù';
$labels['supportsignatures'] = 'Gweredekaat gwiriañ sinadur ar c\'hemennadennoù';
$labels['supportdecryption'] = 'Gweredekaat ezrinegañ ar c\'hemennadennoù';
$labels['signdefault'] = 'Sinañ an goll gemennadennoù dre ziouer';
$labels['encryptdefault'] = 'Enrinegañ an holl gemennadennoù dre ziouer ';
$labels['attachpubkeydefault'] = 'Kenstagañ ma alc\'hwez foran PGP dre ziouer';
$labels['passwordtime'] = 'Mirout gerioù-tremen an alc\'hwezioù prevez e-pad ';
$labels['nminutes'] = '$m a vunutennoù';
$labels['wholesession'] = 'an estez a-bezh';
$labels['createkeys'] = 'Krouiñ un daouad alc\'hwezioù nevez';
$labels['importkeys'] = 'Enporzhiañ un alc\'hwez';
$labels['exportkeys'] = 'Ezporzhiañ un alc\'hwez';
$labels['keyactions'] = 'Gweredoù an alc\'hwez...';
$labels['keyremove'] = 'Dilemel';
$labels['keydisable'] = 'Diweredekaat';
$labels['keyrevoke'] = 'Dizorniañ';
$labels['keysend'] = 'Kas an alc\'hwez foran en ur gemennadenn';
$labels['keychpass'] = 'Kemmañ ar ger-tremen';
$labels['newkeyident'] = 'Pivelezh:';
$labels['newkeypass'] = 'Ger-tremen:';
$labels['newkeypassconfirm'] = 'Kadarnaat ar ger-tremen:';
$labels['newkeysize'] = 'Ment an alc\'hwez:';
$labels['key2048'] = '2048 bit - dre ziouer';
$labels['key4096'] = '4096 bit - diogeloc\'h';
$labels['keygenerating'] = 'O c\'henel an alc\'hwezioù...';
$labels['encryptionoptions'] = 'Dibarzhioù enrinegañ...';
$labels['encryptmsg'] = 'Enrinegañ ar gemennadenn-mañ';
$labels['signmsg'] = 'Sinañ ent niverel ar gemennadenn-mañ';
$labels['enterkeypasstitle'] = 'Enankañ frazenn-dremen an alc\'hwez';
$labels['enterkeypass'] = 'Ur frazenn-dremen a zo dleet evit dibrennañ an alc\'hwez prevez ($keyid= evit an arveriad: $user';
$labels['arialabelkeyexportoptions'] = 'Dibarzhioù ezporzhiañ an alc\'hwezioù';
$labels['attachpubkeymsg'] = 'Stagañ ma alc\'hwez foran';
$labels['keyexportprompt'] = 'Fellout a ra deoc\'h enkorfañ an alc\'hwezioù kuzh er restr alc\'hwezioù OpenPGP enrollet?';
$labels['onlypubkeys'] = 'Ezporzhiañ an alc\'hwezhioù foran hepken';
$labels['withprivkeys'] = 'Ezporzhiañ an alc\'hwezioù kuzh';
$labels['findkey'] = 'Klask war an dafariad(où) alc\'hwezioù';
$messages['sigvalid'] = 'Sinadur gwiriet a-berzh $sender.';
$messages['sigvalidpartial'] = 'Sinadur gwiriet a-berzh $sender, met ul lodenn eus ar c\'horf n\'eo ket enrineget.';
$messages['siginvalid'] = 'Sinadur didalvoudek a-berzh $sender.';
$messages['sigunverified'] = 'Sinadur amwiriet. testeni amwiriet. Naoudi an testeni: $keyid.';
$messages['signokey'] = 'Sinadur amwiriet. Alc\'hwez foran ebet kavet. Naoudi an alc\'hwez: $keyid.';
$messages['sigerror'] = 'Sinadur amwiriet. Fazi diabarzh.';
$messages['decryptok'] = 'Kemennadenn ezrineget.';
$messages['decrypterror'] = 'Ezrinegañ c\'hwitet.';
$messages['decryptnokey'] = 'Ezrinegañ c\'hwitet. Alc\'hwez prevez ebet kavet. Naoudi an alc\'hwez: $keyid.';
$messages['decryptnopass'] = 'Ezrinegañ c\'hwitet. Frazenn-dremen azgoulennet.';
$messages['decryptpartial'] = 'Kemennadenn ezrineget, met ul lodenn eus ar c\'horf ne oa ket enrineget.';
$messages['signerror'] = 'Sinadur c\'hwitet.';
$messages['signnokey'] = 'Sinadur c\'hwitet. Alc\'hwez prevez ebet kavet.';
$messages['signnopass'] = 'Sinadur c\'hwitet. Frazenn-dremen azgoulennet.';
$messages['encrypterror'] = 'Enrinegañ c\'hwitet.';
$messages['encryptnokey'] = 'Enrinegañ c\'hwitet. N\'eo ket bet kavet an alc\'hwez foran evit $email.';
$messages['nokeysfound'] = 'Alc\'hwez ebet kavet';
$messages['keynotfound'] = 'N\'eo ket bet kavet an alc\'hwez!';
$messages['keyopenerror'] = 'N\'haller ket kaout titouroù an alc\'hwez! Fazi diabarzh.';
$messages['keylisterror'] = 'N\'haller ket rollañ an alc\'hwezioù! Fazi diabarzh.';
$messages['keysimportfailed'] = 'N\'haller ket enporzhiañ an alc\'hwez(ioù)! Fazi diabarzh.';
$messages['keysimportsuccess'] = 'Alc\'hwez(ioù) enporzhiet gant berzh. Enporzhiet: $new, digemm: $old.';
$messages['keyremoving'] = 'O tilemel an alc\'hwez(ioù)...';
$messages['keyremoveconfirm'] = 'Fellout a ra deoc\'h dilemel an alc\'hwez(ioù) diuzet?';
$messages['keyremovesuccess'] = 'Alc\'hwez(ioù) dilamet gant berzh';
$messages['keyremoveerror'] = 'N\'haller ket dilemel an alc\'hwez(ioù) diuzet.';
$messages['keyimporttext'] = 'Gallout a rit enporzhiañ alc\'hwez(ioù) foran ha prevez pe sinadurioù dizorniañ er mentrezh ASCII-Armor.';
$messages['formerror'] = 'Ret eo leuniañ ar furmskrid. An holl vaeziennoù a zo dleet!';
$messages['passwordsdiffer'] = 'Ne glot ket ar gerioù-tremen!';
$messages['keygenerateerror'] = 'C\'hwitadenn war ganedigezh un daouad alc\'hwezhioù';
$messages['keygeneratesuccess'] = 'Ganet hag enporzhiet eo bet un daouad alc\'hwezioù gant berzh. ';
$messages['keygennosupport'] = 'N\'eo ket skoret an enrinegañ gant ho merdeer web. N\'haller ket genel un alc\'hwez nevez.';
$messages['nonameident'] = 'Ret eo d\'ar pivelezh kaout un anv arveriad despizet!';
?>

View File

@@ -0,0 +1,115 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Šifrování';
$labels['enigmacerts'] = 'S/MIME certifikáty';
$labels['enigmakeys'] = 'PGP klíče';
$labels['keysfromto'] = 'Klíče $from až $to z počtu: $count';
$labels['keyname'] = 'Jméno';
$labels['keyid'] = 'ID Klíče';
$labels['keyuserid'] = 'ID uživatele';
$labels['keytype'] = 'Typ klíče';
$labels['fingerprint'] = 'Otisk prstu';
$labels['subkeys'] = 'Podklíče';
$labels['basicinfo'] = 'Základní informace';
$labels['userids'] = 'Další uživatelé';
$labels['typepublickey'] = 'veřejný klíč';
$labels['typekeypair'] = 'pár klíčů';
$labels['keyattfound'] = 'Tato zpráva má přiložený/é PGP klíč(e).';
$labels['keyattimport'] = 'Importovat klíč(e)';
$labels['typesign'] = 'Podepsat';
$labels['typeencrypt'] = 'Zašifrovat';
$labels['typecert'] = 'Certifikovat';
$labels['typeauth'] = 'Autentizace';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmus';
$labels['subkeycreated'] = 'Vytvořený';
$labels['subkeyexpires'] = 'Vyprší';
$labels['subkeyusage'] = 'Použití';
$labels['expiresnever'] = 'nikdy';
$labels['unknown'] = 'neznámý';
$labels['uservalid'] = 'Správný';
$labels['userid'] = 'ID';
$labels['valid'] = 'správný';
$labels['supportencryption'] = 'Povolit podepisování a šifrování zpráv.';
$labels['supportsignatures'] = 'Povolit ověřování podpisů zpráv.';
$labels['supportdecryption'] = 'Povolit dešifrování zpráv.';
$labels['signdefault'] = 'Podepisovat všechny zprávy';
$labels['encryptdefault'] = 'Šifrovat všechny zprávy';
$labels['passwordtime'] = 'Uchovat hesla pro privátní klíče pro';
$labels['nminutes'] = '$m minut(a)';
$labels['wholesession'] = 'celá relace';
$labels['createkeys'] = 'Vytvořit nový pár klíčů';
$labels['importkeys'] = 'Importovat klíč(e)';
$labels['exportkeys'] = 'Exportovat klíč(e)';
$labels['keyactions'] = 'Akce s klíčem...';
$labels['keyremove'] = 'Smazat';
$labels['keydisable'] = 'Vypnout';
$labels['keyrevoke'] = 'Revokovat';
$labels['keysend'] = 'Odeslat veřejný klíč ve zprávě';
$labels['keychpass'] = 'Změnit heslo';
$labels['newkeyident'] = 'Identita:';
$labels['newkeypass'] = 'Heslo:';
$labels['newkeypassconfirm'] = 'Potvrdit heslo:';
$labels['newkeysize'] = 'Velikost klíče:';
$labels['key2048'] = '2048 bitů - výchozí';
$labels['key4096'] = '4093 bítů - více bezpečné';
$labels['keygenerating'] = 'Generuji klíče...';
$labels['encryptionoptions'] = 'Možnosti šifrování...';
$labels['encryptmsg'] = 'Zašifrovat tuto zprávu';
$labels['signmsg'] = 'Digitálně podepsat tuto zprávu';
$labels['enterkeypasstitle'] = 'Zadejte heslo pro klíč';
$labels['enterkeypass'] = 'Heslo je nutné k odemknutí soukromého klíče ($keyid) pro uživatele: $user.';
$labels['arialabelkeyexportoptions'] = 'Možnosti pro export klíčů';
$labels['attachpubkeymsg'] = 'Připojit můj veřejný klíč';
$labels['onlypubkeys'] = 'Exportovat pouze veřejné klíče';
$labels['withprivkeys'] = 'Exportovat soukromé klíče';
$labels['keyimportlabel'] = 'Importovat ze souboru';
$labels['keyimportsearchlabel'] = 'Hledat klíč na keyserveru';
$messages['sigvalid'] = 'Ověřený podpis od $sender.';
$messages['sigvalidpartial'] = 'Ověřený podpis od $sender, ale část těla není podepsána.';
$messages['siginvalid'] = 'Nesprávný podpis od $sender.';
$messages['sigunverified'] = 'Neověřený podpis. Certifikát není ověřen. ID certifikátu: $keyid.';
$messages['signokey'] = 'Neověřený podpis. Veřejný klíč nebyl nalezen. ID klíče: $keyid.';
$messages['sigerror'] = 'Neověřený podpis. Interní chyba.';
$messages['decryptok'] = 'Zpráva byla dešifrována.';
$messages['decrypterror'] = 'Dešifrování selhalo.';
$messages['decryptnokey'] = 'Dešifrování selhalo. Veřejný klíč nebyl nalezen. ID klíče: $keyid.';
$messages['decryptnopass'] = 'Dešifrování selhalo. Heslo pro klíč je požadováno.';
$messages['signerror'] = 'Podepisování selhalo.';
$messages['signnokey'] = 'Podepisování selhalo. Soukromý klíč nebyl nalezen.';
$messages['signnopass'] = 'Podepisování selhalo. Heslo pro klíč je požadováno.';
$messages['encrypterror'] = 'Šifrování selhalo.';
$messages['encryptnokey'] = 'Šifrování selhalo. Veřejný klíč pro email $email nebyl nalezen.';
$messages['nokeysfound'] = 'Nebyly nalezeny žádné klíče.';
$messages['keynotfound'] = 'Klíč nebyl nalezen!';
$messages['keyopenerror'] = 'Nemohu dostat informace o klíči! Interní chyba.';
$messages['keylisterror'] = 'Nemohu získat seznam klíčů! Interní chyba.';
$messages['keysimportfailed'] = 'Nemohu importovat klíč(e)! Interní chyba.';
$messages['keysimportsuccess'] = 'Klíč(e) byl(y) úspěšně naimportován(y). Importovány: $new, nezměněny: $old.';
$messages['keyremoving'] = 'Odstraňuji klíč(e)...';
$messages['keyremoveconfirm'] = 'Opravdu si přejete odstranit vybraný/é klíč(e)?';
$messages['keyremovesuccess'] = 'Klíč(e) byl(y) úspěšně odstraněn(y).';
$messages['keyremoveerror'] = 'Nemohu smazat vybraný/é klíč(e).';
$messages['keyimporttext'] = 'Můžete naimportovat soukromý/é a veřejný/é klíč(e) nebo podpisy pro revokaci ve formátu ASCII-Armor.';
$messages['formerror'] = 'Prosím vyplňte tento formulář. Všechna pole jsou požadována.';
$messages['passwordsdiffer'] = 'Zadaná hesla se neshodují!';
$messages['keygenerateerror'] = 'Selhalo generování páru klíčů';
$messages['keygeneratesuccess'] = 'Pár klíčů byl úspěšně vygenerován a naimportován.';
$messages['keygennosupport'] = 'Váš webový prohlížeč nepodporuje kryptografii. Nemohu vygenerovat pár klíčů.';
$messages['nonameident'] = 'Identita musí mít definované uživatelské jméno.';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Amgryptiad';
$labels['enigmacerts'] = 'Tystysgrifau S/MIME';
$labels['enigmakeys'] = 'Allweddi PGP';
$labels['keysfromto'] = 'Allweddi $from i $to o $count';
$labels['keyname'] = 'Enw';
$labels['keyid'] = 'ID Allwedd';
$labels['keyuserid'] = 'ID Defnyddiwr';
$labels['keytype'] = 'Math o allwedd';
$labels['fingerprint'] = 'Olion bys';
$labels['subkeys'] = 'Isallweddi';
$labels['basicinfo'] = 'Gwybodaeth sylfaenol';
$labels['userids'] = 'Defnyddwyr Ychwanegol';
$labels['typepublickey'] = 'allwedd gyhoeddus';
$labels['typekeypair'] = 'pâr allweddi';
$labels['keyattfound'] = 'Mae\'r neges hwn yn cynnwys allwedd(i) PGP.';
$labels['keyattimport'] = 'Mewnforio allwedd(i)';
$labels['typesign'] = 'Llofnodi';
$labels['typeencrypt'] = 'Amgryptio';
$labels['typecert'] = 'Tystio';
$labels['typeauth'] = 'Dilysiad';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algorithm';
$labels['subkeycreated'] = 'Crëwyd';
$labels['subkeyexpires'] = 'Yn darfod';
$labels['subkeyusage'] = 'Defnydd';
$labels['expiresnever'] = 'byth';
$labels['unknown'] = 'anhysbys';
$labels['uservalid'] = 'Dilys';
$labels['userid'] = 'ID';
$labels['valid'] = 'dilys';
$labels['supportencryption'] = 'Galluogi amgryptio neges a llofnodi';
$labels['supportsignatures'] = 'Galluogi dilys llofnodion neges';
$labels['supportdecryption'] = 'Galluogi dadgryptio neges';
$labels['signdefault'] = 'Llofnodi pob neges yn ddiofyn';
$labels['encryptdefault'] = 'Amgryptio pob neges yn ddiofyn';
$labels['attachpubkeydefault'] = 'Atodi fy allwedd PGP cyhoeddus yn ddiofyn';
$labels['passwordtime'] = 'Cadw cyfrineiriau allweddi preifat am';
$labels['nminutes'] = '$m munud';
$labels['wholesession'] = 'y sesiwn i gyd';
$labels['createkeys'] = 'Creu pâr allweddi newydd';
$labels['importkeys'] = 'Mewnforio allwedd(i)';
$labels['exportkeys'] = 'Allforio allwedd(i)';
$labels['keyactions'] = 'Gweithredoedd allwedd...';
$labels['keyremove'] = 'Dileu';
$labels['keydisable'] = 'Analluogi';
$labels['keyrevoke'] = 'Dirymu';
$labels['keysend'] = 'Danfon allwedd gyhoeddus mewn neges';
$labels['keychpass'] = 'Newid cyfrinair';
$labels['newkeyident'] = 'Personoliaeth:';
$labels['newkeypass'] = 'Cyfrinair:';
$labels['newkeypassconfirm'] = 'Cadarnhau cyfrinair:';
$labels['newkeysize'] = 'Maint allwedd:';
$labels['key2048'] = '2048 did - diofyn';
$labels['key4096'] = '4096 did - mwy cadarn';
$labels['keygenerating'] = 'Yn creu allweddi...';
$labels['encryptionoptions'] = 'Dewisiadau amgryptio...';
$labels['encryptmsg'] = 'Amgryptio\'r neges hwn';
$labels['signmsg'] = 'Llofnodi\'r neges yma yn ddigidol';
$labels['enterkeypasstitle'] = 'Rhowch yr ymadrodd cyfrin';
$labels['enterkeypass'] = 'Mae angen ymadrodd cyfrin i ddatgloi allwedd breifat ($keyid) ar gyfer defnyddiwr: $user:';
$labels['arialabelkeyexportoptions'] = 'Dewisiadau allforio allweddi';
$labels['attachpubkeymsg'] = 'Atodi fy allwedd cyhoeddus';
$labels['keyexportprompt'] = 'Ydych eisiau cynnwys allweddi cyfrinachol yn y ffeil OpenPGP i\'w gadw?';
$labels['onlypubkeys'] = 'Allforio Allweddi Cyhoeddus yn unig';
$labels['withprivkeys'] = 'Allforio Allweddi Cyfrinachol';
$labels['findkey'] = 'Chwilio ar weinydd(wyr) allweddi';
$labels['keyimportlabel'] = 'Mewnforio o ffeil';
$labels['keyimportsearchlabel'] = 'Chwilio ar weinydd(wyr) allweddi';
$messages['sigvalid'] = 'Llofnod wedi ddilysu o $sender.';
$messages['sigvalidpartial'] = 'Llofnod wedi ddilysu o $sender, ond ni arwyddywyd rhan o gorff y neges';
$messages['siginvalid'] = 'Llofnod annilys o $sender.';
$messages['sigunverified'] = 'Llofnod heb ei ddilysu. Tystysgrif heb ei ddilys. ID Tystysgrif: $keyid.';
$messages['signokey'] = 'Llofnod heb ei ddilysu. Allwedd gyhoeddus heb ei ganfod. ID Allwedd: $keyid.';
$messages['sigerror'] = 'Llofnod heb ei ddilysu. Gwall mewnol.';
$messages['decryptok'] = 'Neges wedi ei ddadgryptio.';
$messages['decrypterror'] = 'Dadgryptio wedi methu.';
$messages['decryptnokey'] = 'Dadgryptio wedi methu. Allwedd breifat heb ei ganfod: ID Allwedd: $keyid.';
$messages['decryptnopass'] = 'Dadgryptio wedi methu. Mae angen cyfrinair.';
$messages['decryptpartial'] = 'Dadgryptiwyd y neges, ond roedd darn o gorff y neges heb ei amgryptio';
$messages['signerror'] = 'Llofnodi wedi methu.';
$messages['signnokey'] = 'Llofnodi wedi methu. Allwedd breifat heb ei ganfod.';
$messages['signnopass'] = 'Llofnodi wedi methu. Mae angen cyfrinair.';
$messages['encrypterror'] = 'Amgryptio wedi methu.';
$messages['encryptnokey'] = 'Amgryptio wedi methu. Allwedd cyhoeddus heb ei ganfod ar gyfer $email.';
$messages['nokeysfound'] = 'Ni ganfuwyd unrhyw allweddi';
$messages['keynotfound'] = 'Ni ganfuwyd yr allwedd!';
$messages['keyopenerror'] = 'Methwyd cael gwybodaeth allwedd! Gwall mewnol.';
$messages['keylisterror'] = 'Methwyd cael rhestr allweddi! Gwall mewnol';
$messages['keysimportfailed'] = 'Methwyd mewnforio allwedd(i)! Gwall mewnol.';
$messages['keysimportsuccess'] = 'Mewnforiwyd allwedd(i) yn llwyddiannus. Mewnforiwyd: $new, heb newid: $old.';
$messages['keyremoving'] = 'Yn dileu allwedd(i)...';
$messages['keyremoveconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu yr allwedd(i) dewiswyd?';
$messages['keyremovesuccess'] = 'Allwedd(i) wedi ei dileu yn llwyddiannus';
$messages['keyremoveerror'] = 'Methwyd dileu yr allwedd(i) dewiswyd.';
$messages['keyimporttext'] = 'Fe allwch chi mewnforio allwedd(i) preifat a chyhoeddus neu lofnodion pallu mewn fformat ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Gallwch chwilio am allweddi cyhoeddus yn ol adnabydd allwedd, enw defnyddiwr neu gyfeiriad ebost ac yna eu mewnforio yn uniongyrchol.';
$messages['formerror'] = 'Llenwch y ffurflen os gwelwch yn dda. Mae angen llenwi pob maes!';
$messages['passwordsdiffer'] = 'Nid yw\'r cyfrineiriau yn cyfateb!';
$messages['keygenerateerror'] = 'Methwyd creu pâr allweddi';
$messages['keygeneratesuccess'] = 'Creuwyd a mewnforiwyd pâr allweddi yn llwyddiannus.';
$messages['keygennosupport'] = 'Nid yw\'ch porwr gwe yn cefnogi amgryptio. Methwyd creu pâr allweddi!';
$messages['noidentselected'] = 'Rhaid i chi ddewis o leiaf un hunaniaeth i\'r allwedd!';
$messages['nonameident'] = 'Rhaid i\'r personoliaeth gael enw defnyddiwr wedi ei ddiffinio!';
?>

View File

@@ -0,0 +1,22 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['keyname'] = 'Navn';
$labels['fingerprint'] = 'Fingeravtryk';
$labels['typeencrypt'] = 'Krypter';
$labels['subkeyid'] = 'ID';
?>

View File

@@ -0,0 +1,113 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Verschlüsselung';
$labels['enigmacerts'] = 'S/MIME Zertifikate';
$labels['enigmakeys'] = 'PGP Schlüssel';
$labels['keysfromto'] = 'Schlüssel $from bis $to von $count';
$labels['keyname'] = 'Schlüssel';
$labels['keyid'] = 'Schlüssel ID';
$labels['keyuserid'] = 'Benutzer ID';
$labels['keytype'] = 'Schlüsseltyp';
$labels['fingerprint'] = 'Fingerprint';
$labels['subkeys'] = 'Sub-Schlüssel';
$labels['basicinfo'] = 'Allgemeine Informationen';
$labels['userids'] = 'Zusätzliche Benutzer';
$labels['typepublickey'] = 'Öffentlicher Schlüssel';
$labels['typekeypair'] = 'Schlüsselpaar';
$labels['keyattfound'] = 'Diese Nachricht enthält angehängte PGP Schlüssel.';
$labels['keyattimport'] = 'Schlüssel importieren';
$labels['typesign'] = 'Signieren';
$labels['typeencrypt'] = 'Verschlüsseln';
$labels['typecert'] = 'Bestätigen';
$labels['typeauth'] = 'Authentifizierung';
$labels['subkeyid'] = 'Sub-Schlüssel ID';
$labels['subkeyalgo'] = 'Algorithmus';
$labels['subkeycreated'] = 'Erstellt am';
$labels['subkeyexpires'] = 'Läuft aus';
$labels['subkeyusage'] = 'Verwendet für';
$labels['expiresnever'] = 'nie';
$labels['unknown'] = 'unbekannt';
$labels['uservalid'] = 'Gültigkeit';
$labels['userid'] = 'ID';
$labels['valid'] = 'gültig';
$labels['supportencryption'] = 'Nachrichtenverschlüsselung und Signierung aktivieren';
$labels['supportsignatures'] = 'Verifizierung der Nachrichtensignatur aktivieren';
$labels['supportdecryption'] = 'Entschlüsselung von Nachrichten aktivieren';
$labels['signdefault'] = 'Nachrichten immer signieren';
$labels['encryptdefault'] = 'Nachrichten immer verschlüsseln';
$labels['attachpubkeydefault'] = 'Öffentlichen Schlüssel in der Nachricht anfügen';
$labels['passwordtime'] = 'Private Schlüssel behalten für';
$labels['nminutes'] = '$m Minuten';
$labels['wholesession'] = 'die gesamte Sitzung';
$labels['createkeys'] = 'Neues Schlüsselpaar erstellen';
$labels['importkeys'] = 'Schlüssel importieren';
$labels['exportkeys'] = 'Schlüssel exportieren';
$labels['keyactions'] = 'Aktionen...';
$labels['keyremove'] = 'Entfernen';
$labels['keydisable'] = 'Deaktivieren';
$labels['keyrevoke'] = 'Widerrufen';
$labels['keysend'] = 'Öffentlichen Schlüssel versenden';
$labels['keychpass'] = 'Passwort ändern';
$labels['newkeyident'] = 'Identität:';
$labels['newkeypass'] = 'Passwort:';
$labels['newkeypassconfirm'] = 'Passwort bestätigen:';
$labels['newkeysize'] = 'Schlüssellänge:';
$labels['key2048'] = '2048 bits - standard';
$labels['key4096'] = '4096 bits - sicher';
$labels['keygenerating'] = 'Schlüssel generieren...';
$labels['encryptionoptions'] = 'Verschlüsselungsoptionen';
$labels['encryptmsg'] = 'Diese Nachricht verschlüsseln';
$labels['signmsg'] = 'Diese Nachricht digital signieren';
$labels['enterkeypasstitle'] = 'Bitte Schlüssel Passwort eingeben';
$labels['enterkeypass'] = 'Ein Passwort wird benötigt um den privaten Schlüssel ($keyid) für Benutzer: $user zu entsperren';
$labels['arialabelkeyexportoptions'] = 'Optionen für Schlüsselexport';
$labels['attachpubkeymsg'] = 'Meinen öffentlichen Schlüssel anfügen';
$messages['sigvalid'] = 'Signatur von $sender wurde erfolgreich überprüft.';
$messages['sigvalidpartial'] = 'Signatur von $sender wurde überprüft, aber ein Teil der Nachricht wurde nicht signiert.';
$messages['siginvalid'] = 'Ungültige Signatur von $sender.';
$messages['sigunverified'] = 'Unbestätigte Signatur. Zertifikat nicht überprüft. Zertifikat-ID: $keyid. ';
$messages['signokey'] = 'Unbestätigte Signatur. Öffentlicher Schlüssel wurde nicht gefunden. Schlüssel-ID: $keyid.';
$messages['sigerror'] = 'Unbestätigte Signatur. Interner Fehler.';
$messages['decryptok'] = 'Nachricht entschlüsselt.';
$messages['decrypterror'] = 'Entschlüsselung fehlgeschlagen.';
$messages['decryptnokey'] = 'Entschlüsselung fehlgeschlagen. Privater Schlüssel wurde nicht gefunden. Schlüssel-ID: $keyid.';
$messages['decryptnopass'] = 'Entschlüsselung fehlgeschlagen. Schlüsselpasswort wird benötigt.';
$messages['decryptpartial'] = 'Nachricht entschlüsselt, aber ein Teil der Nachricht wurde nicht verschlüsselt.';
$messages['signerror'] = 'Signierung fehlgeschlagen.';
$messages['signnokey'] = 'Signierung fehlgeschlagen. Privater Schlüssel wurde nicht gefunden.';
$messages['signnopass'] = 'Signierung fehlgeschlagen. Schlüsselpasswort wird benötigt.';
$messages['encrypterror'] = 'Verschlüsselung fehlgeschlagen.';
$messages['encryptnokey'] = 'Verschlüsselung fehlgeschlagen. Öffentlicehr Schlüssel für $email nicht gefunden';
$messages['nokeysfound'] = 'Keine Schlüssel gefunden';
$messages['keynotfound'] = 'Schlüssel nicht gefunden!';
$messages['keyopenerror'] = 'Abrufen der Schlüsselinformationen nicht möglich. Interner Fehler.';
$messages['keylisterror'] = 'Auflisten der Schlüsselinformationen nicht möglich! Interner Fehler.';
$messages['keysimportfailed'] = 'Schlüsselimport fehlgeschlagen! Interner Fehler.';
$messages['keysimportsuccess'] = 'Schlüsselimport erfolgreich. Importiert: $new, unverändert: $old.';
$messages['keyremoving'] = 'Schlüssel entfernen...';
$messages['keyremoveconfirm'] = 'Bist du dir sicher, dass du die ausgewählten Schlüssel entfernen willst?';
$messages['keyremovesuccess'] = 'Schlüssel erfolgreich gelöscht.';
$messages['keyremoveerror'] = 'Löschung der Schlüssel nicht möglich.';
$messages['keyimporttext'] = 'Private und öffentliche Schlüssel sowie zurückgerufene Signaturen können im ASCII-Armor Format importiert werden.';
$messages['formerror'] = 'Bitte, alle Eingabefelder ausfüllen. Alle Eingabefelder werden benötigt!';
$messages['passwordsdiffer'] = 'Passwörter stimmen nicht überein.';
$messages['keygenerateerror'] = 'Schlüsselgenerierung fehlgeschlagen.';
$messages['keygeneratesuccess'] = 'Schlüsselpaar erfolgreich generiert und importiert.';
$messages['keygennosupport'] = 'Dein Browser unterstützt keine Kryptopgraphiefunktionen. Konnte Schlüsselpaar nicht generieren!';
$messages['nonameident'] = 'Identität muss einen Benutzernamen definiert haben.';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Verschlüsselung';
$labels['enigmacerts'] = 'S/MIME-Zertifikate';
$labels['enigmakeys'] = 'PGP-Schlüssel';
$labels['keysfromto'] = 'Schlüssel $from bis $to von $count';
$labels['keyname'] = 'Schlüssel';
$labels['keyid'] = 'Schlüsselkennung';
$labels['keyuserid'] = 'Benutzerkennung';
$labels['keytype'] = 'Schlüsseltyp';
$labels['fingerprint'] = 'Fingerabdruck';
$labels['subkeys'] = 'Unterschlüssel';
$labels['basicinfo'] = 'Allgemeine Informationen';
$labels['userids'] = 'Zusätzliche Benutzer';
$labels['typepublickey'] = 'Öffentlicher Schlüssel';
$labels['typekeypair'] = 'Schlüsselpaar';
$labels['keyattfound'] = 'Diese Nachricht enthält angehängte PGP-Schlüssel.';
$labels['keyattimport'] = 'Schlüssel importieren';
$labels['typesign'] = 'Signieren';
$labels['typeencrypt'] = 'Verschlüsseln';
$labels['typecert'] = 'Bestätigen';
$labels['typeauth'] = 'Authentifizierung';
$labels['subkeyid'] = 'Kennung';
$labels['subkeyalgo'] = 'Algorithmus';
$labels['subkeycreated'] = 'Erstellt am';
$labels['subkeyexpires'] = 'Läuft aus';
$labels['subkeyusage'] = 'Verwendet für';
$labels['expiresnever'] = 'nie';
$labels['unknown'] = 'unbekannt';
$labels['uservalid'] = 'Gültigkeit';
$labels['userid'] = 'Kennung';
$labels['valid'] = 'gültig';
$labels['supportencryption'] = 'Nachrichtenverschlüsselung und Signierung aktivieren';
$labels['supportsignatures'] = 'Verifizierung der Nachrichtensignatur aktivieren';
$labels['supportdecryption'] = 'Entschlüsselung von Nachrichten aktivieren';
$labels['signdefault'] = 'Nachrichten immer signieren';
$labels['encryptdefault'] = 'Nachrichten immer verschlüsseln';
$labels['attachpubkeydefault'] = 'Öffentlichen Schlüssel in der Nachricht anfügen';
$labels['passwordtime'] = 'Private Schlüssel behalten für';
$labels['nminutes'] = '$m Minuten';
$labels['wholesession'] = 'die gesamte Sitzung';
$labels['createkeys'] = 'Neues Schlüsselpaar erstellen';
$labels['importkeys'] = 'Schlüssel importieren';
$labels['exportkeys'] = 'Schlüssel exportieren';
$labels['keyactions'] = 'Aktionen …';
$labels['keyremove'] = 'Entfernen';
$labels['keydisable'] = 'Deaktivieren';
$labels['keyrevoke'] = 'Widerrufen';
$labels['keysend'] = 'Öffentlichen Schlüssel versenden';
$labels['keychpass'] = 'Passwort ändern';
$labels['newkeyident'] = 'Identität:';
$labels['newkeypass'] = 'Passwort:';
$labels['newkeypassconfirm'] = 'Passwort bestätigen:';
$labels['newkeysize'] = 'Schlüssellänge:';
$labels['key2048'] = '2048 Bit - Vorgabe';
$labels['key4096'] = '4096 Bit - mehr Sicherheit';
$labels['keygenerating'] = 'Schlüssel werden erstellt …';
$labels['encryptionoptions'] = 'Verschlüsselungsoptionen';
$labels['encryptmsg'] = 'Diese Nachricht verschlüsseln';
$labels['signmsg'] = 'Diese Nachricht digital signieren';
$labels['enterkeypasstitle'] = 'Bitte Schlüsselpasswort eingeben';
$labels['enterkeypass'] = 'Ein Passwort wird benötigt, um den privaten Schlüssel ($keyid) für Benutzer »$user« zu entsperren.';
$labels['arialabelkeyexportoptions'] = 'Optionen für Schlüsselexport';
$labels['attachpubkeymsg'] = 'Meinen öffentlichen Schlüssel anfügen';
$labels['keyexportprompt'] = 'Möchten Sie geheime Schlüssel in die gespeicherte OpenPGP-Schlüsseldatei mit aufnehmen?';
$labels['onlypubkeys'] = 'Nur öffentliche Schlüssel exportieren';
$labels['withprivkeys'] = 'Geheime Schlüssel exportieren';
$labels['findkey'] = 'Auf Schlüsselserver(n) suchen';
$labels['keyimportlabel'] = 'Aus Datei importieren';
$labels['keyimportsearchlabel'] = 'Auf Schlüsselserver(n) suchen';
$messages['sigvalid'] = 'Signatur von $sender wurde erfolgreich überprüft.';
$messages['sigvalidpartial'] = 'Signatur von $sender wurde überprüft, aber ein Teil der Nachricht wurde nicht signiert.';
$messages['siginvalid'] = 'Ungültige Signatur von $sender.';
$messages['sigunverified'] = 'Unbestätigte Signatur. Zertifikat nicht überprüft. Zertifikatkennung: $keyid. ';
$messages['signokey'] = 'Unbestätigte Signatur. Öffentlicher Schlüssel wurde nicht gefunden. Schlüsselkennung: $keyid.';
$messages['sigerror'] = 'Unbestätigte Signatur. Interner Fehler.';
$messages['decryptok'] = 'Nachricht entschlüsselt.';
$messages['decrypterror'] = 'Entschlüsselung fehlgeschlagen.';
$messages['decryptnokey'] = 'Entschlüsselung fehlgeschlagen. Privater Schlüssel wurde nicht gefunden. Schlüsselkennung: $keyid.';
$messages['decryptnopass'] = 'Entschlüsselung fehlgeschlagen. Schlüsselpasswort wird benötigt.';
$messages['decryptpartial'] = 'Nachricht entschlüsselt, aber ein Teil der Nachricht wurde nicht verschlüsselt.';
$messages['signerror'] = 'Signierung fehlgeschlagen.';
$messages['signnokey'] = 'Signierung fehlgeschlagen. Privater Schlüssel wurde nicht gefunden.';
$messages['signnopass'] = 'Signierung fehlgeschlagen. Schlüsselpasswort wird benötigt.';
$messages['encrypterror'] = 'Verschlüsselung fehlgeschlagen.';
$messages['encryptnokey'] = 'Verschlüsselung fehlgeschlagen. Öffentlicher Schlüssel für $email nicht gefunden';
$messages['nokeysfound'] = 'Keine Schlüssel gefunden';
$messages['keynotfound'] = 'Schlüssel nicht gefunden!';
$messages['keyopenerror'] = 'Abrufen der Schlüsselinformationen nicht möglich. Interner Fehler.';
$messages['keylisterror'] = 'Auflisten der Schlüsselinformationen nicht möglich! Interner Fehler.';
$messages['keysimportfailed'] = 'Schlüsselimport fehlgeschlagen! Interner Fehler.';
$messages['keysimportsuccess'] = 'Schlüsselimport erfolgreich. Importiert: $new, unverändert: $old.';
$messages['keyremoving'] = 'Schlüssel werden entfernt …';
$messages['keyremoveconfirm'] = 'Sind Sie sich sicher, dass Sie die ausgewählten Schlüssel entfernen wollen?';
$messages['keyremovesuccess'] = 'Schlüssel erfolgreich gelöscht.';
$messages['keyremoveerror'] = 'Löschung der Schlüssel nicht möglich.';
$messages['keyimporttext'] = 'Private und öffentliche Schlüssel sowie zurückgerufene Signaturen können im ASCII-Armor Format importiert werden.';
$messages['keyimportsearchtext'] = 'Sie können für öffentliche Schlüssel nach dem Schlüsselbezeichner, Benutzername oder der E-Mail-Adresse suchen und diese dann direkt importieren.';
$messages['formerror'] = 'Bitte, alle Eingabefelder ausfüllen. Alle Eingabefelder werden benötigt!';
$messages['passwordsdiffer'] = 'Passwörter stimmen nicht überein.';
$messages['keygenerateerror'] = 'Schlüsselgenerierung fehlgeschlagen.';
$messages['keygeneratesuccess'] = 'Schlüsselpaar erfolgreich generiert und importiert.';
$messages['keygennosupport'] = 'Dein Browser unterstützt keine Kryptopgraphiefunktionen. Konnte Schlüsselpaar nicht generieren!';
$messages['noidentselected'] = 'Sie müssen mindestens eine Identität für den Schlüssel auswählen!';
$messages['nonameident'] = 'Identität muss einen Benutzernamen definiert haben.';
?>

View File

@@ -0,0 +1,118 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Κρυπτογράφηση';
$labels['enigmacerts'] = 'Πιστοποιητικά S/MIME';
$labels['enigmakeys'] = 'PGP Κλειδιά';
$labels['keysfromto'] = 'Κλειδιά $from έως $to από $count';
$labels['keyname'] = 'Όνομα';
$labels['keyid'] = 'Ταυτότητα κλειδιού';
$labels['keyuserid'] = 'Ταυτότητα Χρήστη';
$labels['keytype'] = 'Τύπος κλειδιού';
$labels['fingerprint'] = 'Δακτυλικό αποτύπωμα';
$labels['subkeys'] = 'Υποκλειδιά';
$labels['basicinfo'] = 'Βασικές πληροφορίες';
$labels['userids'] = 'Επιπλέον Χρήστες';
$labels['typepublickey'] = 'δημόσιο κλειδί';
$labels['typekeypair'] = 'ζεύγος κλειδιού';
$labels['keyattfound'] = 'Αυτό το μήνυμα περιέχει συνημμένο(α) κλειδί(ά) PGP.';
$labels['keyattimport'] = 'Εισαγωγή κλειδιού(ών)';
$labels['typesign'] = 'Υπογραφή';
$labels['typeencrypt'] = 'Κρυπτογράφηση';
$labels['typecert'] = 'Πιστοποίηση';
$labels['typeauth'] = 'Επαλήθευση';
$labels['subkeyid'] = 'Ταυτότητα';
$labels['subkeyalgo'] = 'Αλγόριθμος';
$labels['subkeycreated'] = 'Δημιουργήθηκε';
$labels['subkeyexpires'] = 'Λήγει';
$labels['subkeyusage'] = 'Χρήση';
$labels['expiresnever'] = 'ποτέ';
$labels['unknown'] = 'άγνωστο';
$labels['uservalid'] = 'Έγκυρο';
$labels['userid'] = 'Ταυτότητα';
$labels['valid'] = 'έγκυρο';
$labels['supportencryption'] = 'Ενεργοποιήστε την κρυπτογράφηση και υπογραφή μηνυμάτων';
$labels['supportsignatures'] = 'Ενεργοποίηση επαλήθευσης υπογραφών μηνύματος';
$labels['supportdecryption'] = 'Ενεργοποιήστε την κρυπτογράφηση μηνυμάτων';
$labels['signdefault'] = 'Υπογραφή όλων των μηνυμάτων από προεπιλογή';
$labels['encryptdefault'] = 'Κρυπτογράφηση όλων των μηνυμάτων από προεπιλογή';
$labels['attachpubkeydefault'] = 'Επισύναψη του δημόσιου PGP κλειδιού μου από προεπιλογή';
$labels['passwordtime'] = 'Διατήρηση των κωδικών του ιδιωτικού κλειδιού για';
$labels['nminutes'] = '$m λεπτό(ά)';
$labels['wholesession'] = 'ολόκληρη τη συνεδρία';
$labels['createkeys'] = 'Δημιουργία νέου ζεύγους κλειδιού';
$labels['importkeys'] = 'Εισαγωγή κλειδιού(ών)';
$labels['exportkeys'] = 'Εξαγωγή κλειδιού(ών)';
$labels['keyactions'] = 'Ενέργειες κλειδιού...';
$labels['keyremove'] = 'Διαγραφή';
$labels['keydisable'] = 'Απενεργοποίηση';
$labels['keyrevoke'] = 'Απόσυρση';
$labels['keysend'] = 'Αποστολή δημοσίου κλειδιού στο μήνυμα';
$labels['keychpass'] = 'Αλλαγή κωδικού';
$labels['newkeyident'] = 'Αναγνωριστικό:';
$labels['newkeypass'] = 'Κωδικός:';
$labels['newkeypassconfirm'] = 'Επιβεβαίωση κωδικού:';
$labels['newkeysize'] = 'Μέγεθος κλειδιού:';
$labels['key2048'] = '2048 bits - προκαθορισμένο';
$labels['key4096'] = '4096 bits - ασφαλέστερο';
$labels['keygenerating'] = 'Δημιουργία κλειδιών...';
$labels['encryptionoptions'] = 'Επιλογές κρυπτογράφησης...';
$labels['encryptmsg'] = 'Κρυπτογράφηση του μηνύματος';
$labels['signmsg'] = 'Ψηφιακή υπογραφή του μηνύματος';
$labels['enterkeypasstitle'] = 'Εισάσετε τον κωδικό του κλειδιού';
$labels['enterkeypass'] = 'Απαιτείται ένας κωδικός για το ξεκλειδωμα του κρυφού κλειδιού ($keyid) του χρήστη: $user.';
$labels['arialabelkeyexportoptions'] = 'Επιλογές εξαγωγής κλειδιών';
$labels['attachpubkeymsg'] = 'Επισύναψη του δημόσιου κλειδιού μου';
$labels['keyexportprompt'] = 'Θέλετε να συμπεριληφθούν τα μυστικά κλειδικά στο αποθηκευμένο αρχείο κλειδιών OpenPGP;';
$labels['onlypubkeys'] = 'Εξαγωγή Δημοσίων Κλειδιών Μόνο';
$labels['withprivkeys'] = 'Εξαγωγή Μυστικών Κλειδιών';
$labels['findkey'] = 'Αναζήτηση στον(ους) εξυπηρετητή(ές) κλειδιών';
$messages['sigvalid'] = 'Επαληθευμένη υπογραφή από τον $sender.';
$messages['sigvalidpartial'] = 'Επαληθευμένη υπογραφή από τον $sender, αλλά τμήμα του κειμένου δεν έχει υπογραφεί.';
$messages['siginvalid'] = 'Άκυρη υπογραφή από τον $sender.';
$messages['sigunverified'] = 'Ανεπαλήθευτη υπογραφή. Το πιστοποιητικό δεν έχει επαληθευτεί. Ταυτότητα πιστοποιητικού: $keyid.';
$messages['signokey'] = 'Ανεπαλήθευτη υπογραφή. Το δημόσιο κλειδί δε βρέθηκε. Ταυτότητα κλειδιού: $keyid.';
$messages['sigerror'] = 'Ανεπαλήθευτη υπογραφή. Εσωτερικό σφάλμα.';
$messages['decryptok'] = 'Το μήνυμα αποκρυπτογραφήθηκε.';
$messages['decrypterror'] = 'Η αποκρυπτογράφηση απέτυχε.';
$messages['decryptnokey'] = 'Η αποκρυπτογράφηση απέτυχε. Το ιδιωτικό κλειδί δε βρέθηκε. Ταυτότητα κλειδιού: $keyid.';
$messages['decryptnopass'] = 'Η αποκρυπτογράφηση απέτυχε. Απαιτείται ο κωδικός του κλειδιού.';
$messages['decryptpartial'] = 'Το μήνυμα αποκρυπτογραφήθηκε, αλλά τμήμα του μηνύματος δεν ήταν κρυπτογραφημένο.';
$messages['signerror'] = 'Η υπογραφή απέτυχε.';
$messages['signnokey'] = 'Η υπογραφή απέτυχε. Το ιδιωτικό κλειδί δε βρέθηκε.';
$messages['signnopass'] = 'Η υπογραφή απέτυχε. Απαιτείται ο κωδικός του κλειδιού.';
$messages['encrypterror'] = 'Η κρυπτογράφηση απέτυχε.';
$messages['encryptnokey'] = 'Η κρυπτογράφηση απέτυχε. Το δημόσιο κλειδί του $email δε βρέθηκε.
';
$messages['nokeysfound'] = 'Δε βρέθηκαν κλειδιά';
$messages['keynotfound'] = 'Το κλειδί δε βρέθηκε!';
$messages['keyopenerror'] = 'Αδυναμία ανάκτησης των πληροφοριών του κλειδιού! Εσωτερικό σφάλμα.';
$messages['keylisterror'] = 'Αδυναμία ανάκτησης λίστας κλειδιού! Εσωτερικό σφάλμα.';
$messages['keysimportfailed'] = 'Αδυναμία εισαγωγής του κλειδιού(ών)! Εσωτερικό σφάλμα.';
$messages['keysimportsuccess'] = 'Το κλειδί(ά) εισήχθη επιτυχώς. Εισήχθη: $new, αναλλοίωτο: $old.';
$messages['keyremoving'] = 'Διαφραφή κλειδιού(ών)...';
$messages['keyremoveconfirm'] = 'Θέλετε σίγουρα να διαγράψετε το επιλεγμένο κλειδί(ά);';
$messages['keyremovesuccess'] = 'Το κλειδί(ά) διαγράφηκε επιτυχώς.';
$messages['keyremoveerror'] = 'Αδυναμία διαγραφής του επιλεγμένου κλειδιού(ών).';
$messages['keyimporttext'] = 'Μπορείτε να εισάγετε ιδιωτικά ή δημόσια κλειδιά ή να ανακτήσετε υπογραφές σε μοργή ASCII-Armor.';
$messages['formerror'] = 'Παρακαλώ συμπληρώστε όλα τα πεδία της φόρμας!';
$messages['passwordsdiffer'] = 'Οι κωδικοί δεν ταιριάζουν μεταξύ τους!';
$messages['keygenerateerror'] = 'Αποτυχία δημιουργίας ζεύγους κλειδιών.';
$messages['keygeneratesuccess'] = 'Το ζεύγος κλειδιών δημιουργήθηκε και εισήχθη επιτυχώς.';
$messages['keygennosupport'] = 'To πρόγραμμα περιήγησής σας δεν υποστηρίζει κρυπτογράφηση. Δεν ήταν δυνατή η δημιουργία ενός ζεύγος κλειδιών!';
$messages['nonameident'] = 'Η Ταυτότητα πρέπει να έχει ορισμένο όνομα χρήστη!';
?>

View File

@@ -0,0 +1,112 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Encryption';
$labels['enigmacerts'] = 'S/MIME Certificates';
$labels['enigmakeys'] = 'PGP Keys';
$labels['keysfromto'] = 'Keys $from to $to of $count';
$labels['keyname'] = 'Name';
$labels['keyid'] = 'Key ID';
$labels['keyuserid'] = 'User ID';
$labels['keytype'] = 'Key type';
$labels['fingerprint'] = 'Fingerprint';
$labels['subkeys'] = 'Subkeys';
$labels['basicinfo'] = 'Basic Information';
$labels['userids'] = 'Additional Users';
$labels['typepublickey'] = 'public key';
$labels['typekeypair'] = 'key pair';
$labels['keyattfound'] = 'This message contains attached PGP key(s).';
$labels['keyattimport'] = 'Import key(s)';
$labels['typesign'] = 'Sign';
$labels['typeencrypt'] = 'Encrypt';
$labels['typecert'] = 'Certify';
$labels['typeauth'] = 'Authentication';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algorithm';
$labels['subkeycreated'] = 'Created';
$labels['subkeyexpires'] = 'Expires';
$labels['subkeyusage'] = 'Usage';
$labels['expiresnever'] = 'never';
$labels['unknown'] = 'unknown';
$labels['uservalid'] = 'Valid';
$labels['userid'] = 'ID';
$labels['valid'] = 'valid';
$labels['supportencryption'] = 'Enable message encryption and signing';
$labels['supportsignatures'] = 'Enable message signatures verification';
$labels['supportdecryption'] = 'Enable message decryption';
$labels['signdefault'] = 'Sign all messages by default';
$labels['encryptdefault'] = 'Encrypt all messages by default';
$labels['attachpubkeydefault'] = 'Attach my public PGP key by default';
$labels['passwordtime'] = 'Keep private key passwords for';
$labels['nminutes'] = '$m minute(s)';
$labels['wholesession'] = 'the whole session';
$labels['createkeys'] = 'Create a new key pair';
$labels['importkeys'] = 'Import key(s)';
$labels['exportkeys'] = 'Export key(s)';
$labels['keyactions'] = 'Key actions...';
$labels['keyremove'] = 'Remove';
$labels['keydisable'] = 'Disable';
$labels['keyrevoke'] = 'Revoke';
$labels['keysend'] = 'Send public key in a message';
$labels['keychpass'] = 'Change password';
$labels['newkeyident'] = 'Identity:';
$labels['newkeypass'] = 'Password:';
$labels['newkeypassconfirm'] = 'Confirm password:';
$labels['newkeysize'] = 'Key size:';
$labels['key2048'] = '2048 bits - default';
$labels['key4096'] = '4096 bits - more secure';
$labels['keygenerating'] = 'Generating keys...';
$labels['encryptionoptions'] = 'Encryption options...';
$labels['encryptmsg'] = 'Encrypt this message';
$labels['signmsg'] = 'Digitally sign this message';
$labels['enterkeypasstitle'] = 'Enter key passphrase';
$labels['enterkeypass'] = 'A passphrase is needed to unlock the secret key ($keyid) for user: $user.';
$labels['arialabelkeyexportoptions'] = 'Keys export options';
$labels['attachpubkeymsg'] = 'Attach my public key';
$messages['sigvalid'] = 'Verified signature from $sender.';
$messages['sigvalidpartial'] = 'Verified signature from $sender, but part of the body was not signed.';
$messages['siginvalid'] = 'Invalid signature from $sender.';
$messages['sigunverified'] = 'Unverified signature. Certificate not verified. Certificate ID: $keyid.';
$messages['signokey'] = 'Unverified signature. Public key not found. Key ID: $keyid.';
$messages['sigerror'] = 'Unverified signature. Internal error.';
$messages['decryptok'] = 'Message decrypted.';
$messages['decrypterror'] = 'Decryption failed.';
$messages['decryptnokey'] = 'Decryption failed. Private key not found. Key ID: $keyid.';
$messages['decryptnopass'] = 'Decryption failed. Key password required.';
$messages['decryptpartial'] = 'Message decrypted, but part of the body was not encrypted.';
$messages['signerror'] = 'Signing failed.';
$messages['signnokey'] = 'Signing failed. Private key not found.';
$messages['signnopass'] = 'Signing failed. Key password required.';
$messages['encrypterror'] = 'Encryption failed.';
$messages['encryptnokey'] = 'Encryption failed. Public key not found for $email.';
$messages['nokeysfound'] = 'No keys found';
$messages['keyopenerror'] = 'Unable to get key information! Internal error.';
$messages['keylisterror'] = 'Unable to list keys! Internal error.';
$messages['keysimportfailed'] = 'Unable to import key(s)! Internal error.';
$messages['keysimportsuccess'] = 'Key(s) imported successfully. Imported: $new, unchanged: $old.';
$messages['keyremoving'] = 'Removing key(s)...';
$messages['keyremoveconfirm'] = 'Are you sure, you want to delete selected key(s)?';
$messages['keyremovesuccess'] = 'Key(s) deleted successfully';
$messages['keyremoveerror'] = 'Unable to delete selected key(s).';
$messages['keyimporttext'] = 'You can import private and public key(s) or revocation signatures in ASCII-Armor format.';
$messages['formerror'] = 'Please fill in the form. All fields are required!';
$messages['passwordsdiffer'] = 'Passwords do not match!';
$messages['keygenerateerror'] = 'Failed to generate a key pair';
$messages['keygeneratesuccess'] = 'A key pair generated and imported successfully.';
$messages['keygennosupport'] = 'Your web browser does not support cryptography. Unable to generate a key pair!';
$messages['nonameident'] = 'Identity must have a user name defined!';
?>

View File

@@ -0,0 +1,137 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels = array();
$labels['encryption'] = 'Encryption';
$labels['enigmacerts'] = 'S/MIME Certificates';
$labels['enigmakeys'] = 'PGP Keys';
$labels['keysfromto'] = 'Keys $from to $to of $count';
$labels['keyname'] = 'Name';
$labels['keyid'] = 'Key ID';
$labels['keyuserid'] = 'User ID';
$labels['keytype'] = 'Key type';
$labels['fingerprint'] = 'Fingerprint';
$labels['subkeys'] = 'Subkeys';
$labels['basicinfo'] = 'Basic Information';
$labels['userids'] = 'Additional Users';
$labels['typepublickey'] = 'public key';
$labels['typekeypair'] = 'key pair';
$labels['keyattfound'] = 'This message contains attached PGP key(s).';
$labels['keyattimport'] = 'Import key(s)';
$labels['typesign'] = 'Sign';
$labels['typeencrypt'] = 'Encrypt';
$labels['typecert'] = 'Certify';
$labels['typeauth'] = 'Authentication';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algorithm';
$labels['subkeycreated'] = 'Created';
$labels['subkeyexpires'] = 'Expires';
$labels['subkeyusage'] = 'Usage';
$labels['expiresnever'] = 'never';
$labels['unknown'] = 'unknown';
$labels['uservalid'] = 'Valid';
$labels['userid'] = 'ID';
$labels['valid'] = 'valid';
$labels['supportencryption'] = 'Enable message encryption and signing';
$labels['supportsignatures'] = 'Enable message signatures verification';
$labels['supportdecryption'] = 'Enable message decryption';
$labels['signdefault'] = 'Sign all messages by default';
$labels['encryptdefault'] = 'Encrypt all messages by default';
$labels['attachpubkeydefault'] = 'Attach my public PGP key by default';
$labels['passwordtime'] = 'Keep private key passwords for';
$labels['nminutes'] = '$m minute(s)';
$labels['wholesession'] = 'the whole session';
$labels['createkeys'] = 'Create a new key pair';
$labels['importkeys'] = 'Import key(s)';
$labels['exportkeys'] = 'Export key(s)';
$labels['keyactions'] = 'Key actions...';
$labels['keyremove'] = 'Remove';
$labels['keydisable'] = 'Disable';
$labels['keyrevoke'] = 'Revoke';
$labels['keysend'] = 'Send public key in a message';
$labels['keychpass'] = 'Change password';
$labels['newkeyident'] = 'Identity:';
$labels['newkeypass'] = 'Password:';
$labels['newkeypassconfirm'] = 'Confirm password:';
$labels['newkeysize'] = 'Key size:';
$labels['key2048'] = '2048 bits - default';
$labels['key4096'] = '4096 bits - more secure';
$labels['keygenerating'] = 'Generating keys...';
$labels['encryptionoptions'] = 'Encryption options...';
$labels['encryptmsg'] = 'Encrypt this message';
$labels['signmsg'] = 'Digitally sign this message';
$labels['enterkeypasstitle'] = 'Enter key passphrase';
$labels['enterkeypass'] = 'A passphrase is needed to unlock the secret key ($keyid) for user: $user.';
$labels['arialabelkeyexportoptions'] = 'Keys export options';
$labels['attachpubkeymsg'] = 'Attach my public key';
$labels['keyexportprompt'] = 'Do you want to include secret keys in the saved OpenPGP keys file?';
$labels['onlypubkeys'] = 'Export Public Keys Only';
$labels['withprivkeys'] = 'Export Secret Keys';
$labels['findkey'] = 'Search on key server(s)';
$labels['keyimportlabel'] = 'Import from file';
$labels['keyimportsearchlabel'] = 'Search on key server(s)';
$messages = array();
$messages['sigvalid'] = 'Verified signature from $sender.';
$messages['sigvalidpartial'] = 'Verified signature from $sender, but part of the body was not signed.';
$messages['siginvalid'] = 'Invalid signature from $sender.';
$messages['sigunverified'] = 'Unverified signature. Certificate not verified. Certificate ID: $keyid.';
$messages['signokey'] = 'Unverified signature. Public key not found. Key ID: $keyid.';
$messages['sigerror'] = 'Unverified signature. Internal error.';
$messages['decryptok'] = 'Message decrypted.';
$messages['decrypterror'] = 'Decryption failed.';
$messages['decryptnokey'] = 'Decryption failed. Private key not found. Key ID: $keyid.';
$messages['decryptbadpass'] = 'Decryption failed. Invalid password.';
$messages['decryptnopass'] = 'Decryption failed. Key password required.';
$messages['decryptpartial'] = 'Message decrypted, but part of the body was not encrypted.';
$messages['signerror'] = 'Signing failed.';
$messages['signnokey'] = 'Signing failed. Private key not found.';
$messages['signbadpass'] = 'Signing failed. Invalid password.';
$messages['signnopass'] = 'Signing failed. Key password required.';
$messages['encrypterror'] = 'Encryption failed.';
$messages['encryptnokey'] = 'Encryption failed. Public key not found for $email.';
$messages['nokeysfound'] = 'No keys found';
$messages['keynotfound'] = 'Key not found!';
$messages['keyopenerror'] = 'Unable to get key information! Internal error.';
$messages['keylisterror'] = 'Unable to list keys! Internal error.';
$messages['keysimportfailed'] = 'Unable to import key(s)! Internal error.';
$messages['keysimportsuccess'] = 'Key(s) imported successfully. Imported: $new, unchanged: $old.';
$messages['keyremoving'] = 'Removing key(s)...';
$messages['keyremoveconfirm'] = 'Are you sure, you want to delete selected key(s)?';
$messages['keyremovesuccess'] = 'Key(s) deleted successfully';
$messages['keyremoveerror'] = 'Unable to delete selected key(s).';
$messages['keyimporttext'] = 'You can import private and public key(s) or revocation signatures in ASCII-Armor format.';
$messages['keyimportsearchtext'] = 'You can search for public keys by key identifier, user name or email address and then import them directly.';
$messages['formerror'] = 'Please, fill the form. All fields are required!';
$messages['passwordsdiffer'] = 'Passwords do not match!';
$messages['keygenerateerror'] = 'Failed to generate a key pair';
$messages['keygeneratesuccess'] = 'A key pair generated and imported successfully.';
$messages['keygennosupport'] = 'Your web browser does not support cryptography. Unable to generate a key pair!';
$messages['noidentselected'] = 'You have to select at least one identity for the key!';
// removed in 1.3
$messages['nonameident'] = 'Identity must have a user name defined!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Encriptación';
$labels['enigmacerts'] = 'Certificados S/MIME';
$labels['enigmakeys'] = 'Claves PGP';
$labels['keysfromto'] = 'Llaves $from hasta $to de $count';
$labels['keyname'] = 'Nombre';
$labels['keyid'] = 'ID de Clave';
$labels['keyuserid'] = 'ID de Usuario';
$labels['keytype'] = 'Tipo de Clave';
$labels['fingerprint'] = 'Huella dactilar';
$labels['subkeys'] = 'Subclaves';
$labels['basicinfo'] = 'Información Básica';
$labels['userids'] = 'Usuarios Adicionales';
$labels['typepublickey'] = 'llave pública';
$labels['typekeypair'] = 'clave par';
$labels['keyattfound'] = 'Este mensaje contiene adjunto una(s) clave(s) PGP.';
$labels['keyattimport'] = 'Importar clave(s)';
$labels['typesign'] = 'Firmar';
$labels['typeencrypt'] = 'Encriptar';
$labels['typecert'] = 'Certificar';
$labels['typeauth'] = 'Autentificación';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmo';
$labels['subkeycreated'] = 'Creado';
$labels['subkeyexpires'] = 'Expirado';
$labels['subkeyusage'] = 'Uso';
$labels['expiresnever'] = 'nunca';
$labels['unknown'] = 'desconocido';
$labels['uservalid'] = 'Válido';
$labels['userid'] = 'ID';
$labels['valid'] = 'válido';
$labels['supportencryption'] = 'Habilitar el cifrado de mensajes y firma';
$labels['supportsignatures'] = 'Activar la verificación de firmas de mensajes';
$labels['supportdecryption'] = 'Habilitar descifrado de mensaje';
$labels['signdefault'] = 'Firmar todos los mensajes por defecto';
$labels['encryptdefault'] = 'Encriptar todos los mensajes por defecto';
$labels['attachpubkeydefault'] = 'Adjuntar mi clave PGP pública por defecto';
$labels['passwordtime'] = 'Mantenga las contraseñas de clave privada para';
$labels['nminutes'] = '$m minuto(s)';
$labels['wholesession'] = 'toda la sesión';
$labels['createkeys'] = 'Crear una nueva clave par';
$labels['importkeys'] = 'Importar clave(s)';
$labels['exportkeys'] = 'Exportar clave(s)';
$labels['keyactions'] = 'Acción de llave...';
$labels['keyremove'] = 'Eliminar';
$labels['keydisable'] = 'Deshabilitado';
$labels['keyrevoke'] = 'Revocar';
$labels['keysend'] = 'Enviar clave pública en el mensaje';
$labels['keychpass'] = 'Cambiar contraseña';
$labels['newkeyident'] = 'Identidad:';
$labels['newkeypass'] = 'Contraseña:';
$labels['newkeypassconfirm'] = 'Confirmar contraseña:';
$labels['newkeysize'] = 'Tamaño de clave:';
$labels['key2048'] = '2048 bits - por defecto';
$labels['key4096'] = '4096 bits - más seguro';
$labels['keygenerating'] = 'Generando claves...';
$labels['encryptionoptions'] = 'Opciones de encriptado...';
$labels['encryptmsg'] = 'Encriptar este mensaje.';
$labels['signmsg'] = 'Firmar digitalmente este mensaje';
$labels['enterkeypasstitle'] = 'Escriba la frase de contraseña';
$labels['enterkeypass'] = 'Se necesita una contraseña para desbloquear la clave secreta ($keyid) para el usuario: $user.';
$labels['arialabelkeyexportoptions'] = 'Opciones de claves de exportación';
$labels['attachpubkeymsg'] = 'Adjuntar mi clave pública';
$labels['keyexportprompt'] = '¿Quiere incluir claves secretas en el archivo guardado de claves OpenPGP?';
$labels['onlypubkeys'] = 'Exportar Sólo las Claves Públicas';
$labels['withprivkeys'] = 'Exportar las Claves Secretas';
$labels['findkey'] = 'Buscar en servidor(es) de claves';
$labels['keyimportlabel'] = 'Importar desde archivo';
$labels['keyimportsearchlabel'] = 'Buscar en servidor(es) de claves';
$messages['sigvalid'] = 'Firma verificada por $sender.';
$messages['sigvalidpartial'] = 'Firma verificada de $sender, pero parte parte del cuerpo no estaba firmado.';
$messages['siginvalid'] = 'Firma inválida por $sender.';
$messages['sigunverified'] = 'Firma no verificada. Error interno. Clave pública no encontrada. ID del Certificado: $keyid.';
$messages['signokey'] = 'Firma no verificada. Error interno. Clave pública no encontrada. ID de Clave: $keyid.';
$messages['sigerror'] = 'Firma no verificada. Error interno.';
$messages['decryptok'] = 'Mensaje desenciptado.';
$messages['decrypterror'] = 'Desenciptación fallida.';
$messages['decryptnokey'] = 'Desenciptación fallida. Clave privada no encontrada. ID de Clave: $keyid.';
$messages['decryptnopass'] = 'Desencriptado fallido. Contraseña requerida.';
$messages['decryptpartial'] = 'Mensaje descifrado, pero parte del cuerpo no estaba cifrado.';
$messages['signerror'] = 'Firmado fallido.';
$messages['signnokey'] = 'Firmado fallido. Clave privada no encontrada.';
$messages['signnopass'] = 'Acceso fallido. Contraseña requerida.';
$messages['encrypterror'] = 'Encriptación fallida.';
$messages['encryptnokey'] = 'Encriptación fallida. Clave pública no encontrada para $email.';
$messages['nokeysfound'] = 'No se encontraron claves';
$messages['keynotfound'] = '¡Clave no encontrada!';
$messages['keyopenerror'] = '¡No se puede obtener la información de clave! Error interno.';
$messages['keylisterror'] = '¡No es posible enumerar las claves! Error interno.';
$messages['keysimportfailed'] = '¡No se puede(n) importar la(s) clave(s)! Error interno.';
$messages['keysimportsuccess'] = 'Clave(s) importada(s) correctamente. Importado: $new, sin cambios: $old.';
$messages['keyremoving'] = 'Eliminando clave(s)...';
$messages['keyremoveconfirm'] = '¿Seguro que quiere eliminar la(s) clave(s) seleccionada(s)?';
$messages['keyremovesuccess'] = 'Clave(s) eliminada(s) correctamente.';
$messages['keyremoveerror'] = 'No se han podido borrar las clave(s) seleccionadas.';
$messages['keyimporttext'] = 'Puede importar la(s) clave(s) privada(s) y pública(s) o firmas de revocación en formato ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Puedes buscar claves por identificador de clave, nombre de usuario o dirección de email y después importarlas directamente.';
$messages['formerror'] = 'Por favor llene el formulario. ¡Todos los campos son obligatorios!';
$messages['passwordsdiffer'] = '¡Las contraseñas no coinciden!';
$messages['keygenerateerror'] = 'No se ha podido generar una clave par';
$messages['keygeneratesuccess'] = 'Un par de claves generadas e importadas correctamente.';
$messages['keygennosupport'] = 'Su navegador web no soporta criptografía. ¡No se puede generar un par de claves!';
$messages['noidentselected'] = '¡Tiene que seleccionar al menos una identidad para la llave!';
$messages['nonameident'] = '¡La identidad debe de tener un nombre de usuario definido!';
?>

View File

@@ -0,0 +1,81 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Zifraketa';
$labels['enigmacerts'] = 'S/MIME egiaztagiriak';
$labels['enigmakeys'] = 'PGP gakoak';
$labels['keysfromto'] = '$count-eko $from-etik $to-rako gakoak';
$labels['keyname'] = 'Izena';
$labels['keyid'] = 'gakoaren IDa';
$labels['keyuserid'] = 'Erabiltzailearen IDa';
$labels['keytype'] = 'Gako mota';
$labels['fingerprint'] = 'Hatz-marka';
$labels['subkeys'] = 'Azpigakoak';
$labels['basicinfo'] = 'Oinarrizko informazioa';
$labels['userids'] = 'Erabiltzaile gehigarriak';
$labels['typepublickey'] = 'gako publikoa';
$labels['typekeypair'] = 'gako bikotea';
$labels['keyattfound'] = 'Mezu honek erantsita PGP gakoa(k) d(it)u';
$labels['keyattimport'] = 'Inportatu gakoa(k)';
$labels['typesign'] = 'Sinatu';
$labels['typeencrypt'] = 'Zifratu';
$labels['typecert'] = 'Ziurtatu';
$labels['typeauth'] = 'Egiaztapena';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmoa';
$labels['subkeycreated'] = 'Sortuta';
$labels['subkeyexpires'] = 'Iraungitze-data';
$labels['subkeyusage'] = 'Erabilera';
$labels['expiresnever'] = 'inoiz ez';
$labels['unknown'] = 'ezezaguna';
$labels['uservalid'] = 'Baliozkoa';
$labels['userid'] = 'ID';
$labels['valid'] = 'baliozkoa';
$labels['supportencryption'] = 'Gaitu mezuen zifratzea eta sinadura ';
$labels['supportsignatures'] = 'Gaitu mezuen sinaduren egiaztapena';
$labels['supportdecryption'] = 'Gaitu mezuen deszifratzea';
$labels['signdefault'] = 'Mezuen sinatzea lehenetsita';
$labels['encryptdefault'] = 'Mezuen zifratzea lehenetsita';
$labels['attachpubkeydefault'] = 'Nire PGP gako publikoa eranstea lehenetsita';
$labels['passwordtime'] = 'Mantendu gako pribatuen pasahitzak';
$labels['nminutes'] = '$m minutu';
$labels['wholesession'] = 'Saio osoa';
$labels['createkeys'] = 'Sortu gako pare berria';
$labels['importkeys'] = 'Inportatu gakoa(k)';
$labels['exportkeys'] = 'Esportatu gakoa(k)';
$labels['keyactions'] = 'Gakoaren ekintzak...';
$labels['keyremove'] = 'Kendu';
$labels['keydisable'] = 'Ezgaitu';
$labels['keyrevoke'] = 'Errebokatu';
$labels['keysend'] = 'Bidali gako publiko mezu batean';
$labels['keychpass'] = 'Aldatu pasahitza';
$labels['newkeyident'] = 'Identitatea:';
$labels['newkeypass'] = 'Pasahitza:';
$labels['newkeypassconfirm'] = 'Berretsi pasahitza:';
$labels['newkeysize'] = 'Gakoaren tamaina:';
$labels['key2048'] = '2048 bit - lehenetsita';
$labels['key4096'] = '4096 bit - seguruagoa';
$labels['keygenerating'] = 'Gakoak sortzen...';
$labels['encryptionoptions'] = 'Zifratze aukerak...';
$labels['encryptmsg'] = 'Zifratu mezu hau';
$labels['signmsg'] = 'Sinatu era digitalean mezu hau';
$labels['enterkeypasstitle'] = 'Sartu gakoaren pasaesaldia';
$labels['enterkeypass'] = 'Pasaesaldi bat behar da erabiltzaile honen gako sekretua ($keyid) desblokeatzeko: $user';
$labels['arialabelkeyexportoptions'] = 'Gakoaren esportazio aukerak';
$labels['attachpubkeymsg'] = 'Erantsi nire gako publikoa';
$labels['keyexportprompt'] = 'Nahi al duzu gako sekretuak sartzea gordetako OpenPGP gakoen fitxategian?';
?>

View File

@@ -0,0 +1,105 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Salaus';
$labels['enigmacerts'] = 'S/MIME-varmenteet';
$labels['enigmakeys'] = 'PGP-avaimet';
$labels['keysfromto'] = 'Avaimet $from-$to/$count';
$labels['keyname'] = 'Nimi';
$labels['keyid'] = 'Avaintunniste';
$labels['keyuserid'] = 'Käyttäjätunniste';
$labels['keytype'] = 'Avaimen tyyppi';
$labels['fingerprint'] = 'Sormenjälki';
$labels['subkeys'] = 'Aliavaimet';
$labels['basicinfo'] = 'Perustiedot';
$labels['userids'] = 'Lisäkäyttäjät';
$labels['typepublickey'] = 'julkinen avain';
$labels['typekeypair'] = 'avainpari';
$labels['keyattfound'] = 'Tämä viesti sisältää yhden tai useamman PGP-avaimen.';
$labels['keyattimport'] = 'Tuo avaimia';
$labels['typesign'] = 'Allekirjoitus';
$labels['typeencrypt'] = 'Salaus';
$labels['typecert'] = 'Todistus';
$labels['typeauth'] = 'Tunnistautuminen';
$labels['subkeyid'] = 'Tunniste';
$labels['subkeyalgo'] = 'Algoritmi';
$labels['subkeycreated'] = 'Luotu';
$labels['subkeyexpires'] = 'Vanhenee';
$labels['subkeyusage'] = 'Käyttö';
$labels['expiresnever'] = 'ei koskaan';
$labels['unknown'] = 'tuntematon';
$labels['uservalid'] = 'Kelvollinen';
$labels['userid'] = 'Tunniste';
$labels['valid'] = 'kelvollinen';
$labels['supportencryption'] = 'Käytä viestien salausta ja allekirjoitusta';
$labels['supportsignatures'] = 'Käytä viestien allekirjoitusten vahvistusta';
$labels['supportdecryption'] = 'Ota käyttöön viestien salauksen purkaminen';
$labels['signdefault'] = 'Allekirjoita kaikki viestit oletuksena';
$labels['encryptdefault'] = 'Salaa kaikki viestit oletuksena';
$labels['attachpubkeydefault'] = 'Liitä julkinen PGP-avaimeni oletuksena';
$labels['passwordtime'] = 'Säilytä yksityisen avaimen salasanat';
$labels['nminutes'] = '$m minuutin ajan';
$labels['wholesession'] = 'koko istunnon ajan';
$labels['createkeys'] = 'Luo uusi avainpari';
$labels['importkeys'] = 'Tuo avaimia';
$labels['exportkeys'] = 'Vie avaimia';
$labels['keyactions'] = 'Avaintoiminnot...';
$labels['keyremove'] = 'Poista';
$labels['keydisable'] = 'Poista käytöstä';
$labels['keyrevoke'] = 'Kumoa';
$labels['keysend'] = 'Lähetä julkinen avain viestissä';
$labels['keychpass'] = 'Vaihda salasana';
$labels['newkeyident'] = 'Identiteetti:';
$labels['newkeypass'] = 'Salasana:';
$labels['newkeypassconfirm'] = 'Vahvista salasana:';
$labels['newkeysize'] = 'Avaimen koko:';
$labels['key2048'] = '2048 bittiä - oletus';
$labels['key4096'] = '4096 bittiä - turvallisempi';
$labels['keygenerating'] = 'Luodaan avaimia...';
$labels['encryptionoptions'] = 'Salausvalinnat...';
$labels['encryptmsg'] = 'Salaa tämä viesti';
$labels['signmsg'] = 'Lisää digitaalinen allekirjoitus tähän viestiin';
$labels['enterkeypasstitle'] = 'Anna tunnuslause';
$labels['arialabelkeyexportoptions'] = 'Avaimien vientivalinnat';
$labels['attachpubkeymsg'] = 'Liitä julkinen avaimeni';
$labels['findkey'] = 'Etsi avainpalvelimilta';
$messages['sigvalid'] = 'Vahvistettu allekirjoitus lähettäjältä $sender.';
$messages['siginvalid'] = 'Virheellinen allekirjoitus lähettäjältä $sender.';
$messages['sigunverified'] = 'Vahvistamaton allekirjoitus. Varmennetta ei ole vahvistettu. Varmenteen tunniste: $keyid.';
$messages['signokey'] = 'Vahvistamaton allekirjoitus. Julkista avainta ei löydy. Avaimen tunniste: $keyid.';
$messages['sigerror'] = 'Vahvistamaton allekirjoitus. Sisäinen virhe.';
$messages['decryptok'] = 'Viestin salaus purettu.';
$messages['decrypterror'] = 'Salauksen purkaminen epäonnistui.';
$messages['decryptnokey'] = 'Salauksen purkaminen epäonnistui. Yksityistä avainta ei löytynyt. Avaimen tunniste: $keyid.';
$messages['decryptnopass'] = 'Salauksen purkaminen epäonnistui. Avaimen salasana vaaditaan.';
$messages['signerror'] = 'Allekirjoittaminen epäonnistui.';
$messages['signnokey'] = 'Allekirjoittaminen epäonnistui. Yksityistä avainta ei löytynyt.';
$messages['signnopass'] = 'Allekirjoitus epäonnistui. Avaimen salasana vaaditaan.';
$messages['encrypterror'] = 'Salaaminen epäonnistui.';
$messages['encryptnokey'] = 'Salaaminen epäonnistui. Osoitteelle $email ei löytynyt julkista avainta.';
$messages['nokeysfound'] = 'Avaimia ei löytynyt';
$messages['keynotfound'] = 'Avainta ei löytynyt!';
$messages['keyopenerror'] = 'Avaintietojen noutaminen ei onnistu! Sisäinen virhe.';
$messages['keylisterror'] = 'Avainten listaaminen ei onnistu! Sisäinen virhe.';
$messages['keysimportfailed'] = 'Avaimen tuominen epäonnistui! Sisäinen virhe.';
$messages['formerror'] = 'Täytä lomake. Kaikki kentät ovat pakollisia!';
$messages['passwordsdiffer'] = 'Salasanat eivät täsmää!';
$messages['keygenerateerror'] = 'Avainparin luominen epäonnistui';
$messages['keygeneratesuccess'] = 'Avainpari luotiin ja tuotiin onnistuneesti.';
$messages['keygennosupport'] = 'Selaimesi ei tue salaustekniikkaa. Avainparin luominen ei onnistu!';
$messages['nonameident'] = 'Identiteetillä tulee olla käyttäjänimi määritettynä!';
?>

View File

@@ -0,0 +1,108 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Brongla';
$labels['enigmacerts'] = 'S/MIME skjal';
$labels['enigmakeys'] = 'PGP lyklar';
$labels['keysfromto'] = 'Lyklar frá $from til $to av $count';
$labels['keyname'] = 'Navn';
$labels['keyid'] = 'Lykla ID';
$labels['keyuserid'] = 'Brúkara ID';
$labels['keytype'] = 'Lykla týpa';
$labels['fingerprint'] = 'Fingramerki';
$labels['subkeys'] = 'Undir lyklar';
$labels['basicinfo'] = 'Grund upplýsingar';
$labels['userids'] = 'Eyka brúkarar';
$labels['typepublickey'] = 'almenna lykil';
$labels['typekeypair'] = 'lykla par';
$labels['keyattfound'] = 'Hesi boð innihalda viðheftar PGP lyklar';
$labels['keyattimport'] = 'Innflyt lyk(lar/il)';
$labels['typesign'] = 'Undirskriva';
$labels['typeencrypt'] = 'Brongla';
$labels['typecert'] = 'Vátta';
$labels['typeauth'] = 'Samgildi';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritma';
$labels['subkeycreated'] = 'Stovna';
$labels['subkeyexpires'] = 'Gongur út';
$labels['subkeyusage'] = 'Brúksla';
$labels['expiresnever'] = 'aldrin';
$labels['unknown'] = 'ókent';
$labels['uservalid'] = 'Gildigt';
$labels['userid'] = 'ID';
$labels['valid'] = 'Gildigt';
$labels['supportencryption'] = 'Tendra boð brongling og undirskriving';
$labels['supportsignatures'] = 'Tendra váttan av undirskriftum';
$labels['supportdecryption'] = 'Tendra boð óbrongsling';
$labels['signdefault'] = 'Undirskriva øll boð vanliga';
$labels['encryptdefault'] = 'Brongla øll boð vanligt';
$labels['passwordtime'] = 'Goym loyniorð hjá loyndarlykilum fyri';
$labels['nminutes'] = '$m minutt(ir)';
$labels['wholesession'] = 'øll setanin';
$labels['createkeys'] = 'Skapa nýtt lykla par';
$labels['importkeys'] = 'Innflyt lyk(lar/il)';
$labels['exportkeys'] = 'Flyt út lyklar';
$labels['keyactions'] = 'Lykla gerðir';
$labels['keyremove'] = 'Strika';
$labels['keydisable'] = 'Sløkk';
$labels['keyrevoke'] = 'Sig úr gildi';
$labels['keysend'] = 'Send almennan lykil í einum boðum';
$labels['keychpass'] = 'Broyt loyniorð';
$labels['newkeyident'] = 'Samleiki:';
$labels['newkeypass'] = 'Loyniorð:';
$labels['newkeypassconfirm'] = 'Vátta loyniorð:';
$labels['newkeysize'] = 'Lykla stødd:';
$labels['key2048'] = '2048 bit - vanligt';
$labels['key4096'] = '4096 bits - meiri trygt';
$labels['keygenerating'] = 'Framleiður lyklar...';
$labels['encryptionoptions'] = 'Bronglu møguleikar';
$labels['encryptmsg'] = 'Brongla hesi boð';
$labels['signmsg'] = 'Undirskriva hesi boð';
$labels['enterkeypasstitle'] = 'Skriva loyniorð';
$labels['enterkeypass'] = 'Tað er tørvur á einum loyniorðið fyri at stongja upp loyndar-lykilin ($keyid) hjá brúkara:';
$labels['arialabelkeyexportoptions'] = 'Lykla út flytingar møguleikar';
$messages['sigvalid'] = 'Váttað undirskrift frá $sender.';
$messages['siginvalid'] = 'Ógildig undirskrift frá $sender.';
$messages['sigunverified'] = 'Óvátta undirskrift: skjal er ikki vátta. Skjal ID: $keyid.';
$messages['signokey'] = 'Óvátta undirskrift. Almennur lykil var ikki funnin. Lykla ID: $keyid.';
$messages['sigerror'] = 'Óvátta boð. Innanhýsis feilur.';
$messages['decryptok'] = 'Boðini eru óbrongla';
$messages['decrypterror'] = 'Feilur kom í óbrongslingina.';
$messages['decryptnokey'] = 'Óbrongsling riggaði ikki. Loyndarlykilin var ikki funnin. Lykila ID: $keyid.';
$messages['decryptnopass'] = 'Óbrongslan riggaði ikki. Lykla loyniorð er neyðugt.';
$messages['signerror'] = 'Undirskriving riggaði ikki.';
$messages['signnokey'] = 'Undirskriving riggaði ikki. Eingin privat lyki funnin';
$messages['signnopass'] = 'Undirskriving riggaði ikki. Lykla loyniorð er neyðugt.';
$messages['encrypterror'] = 'Brongsling riggaði ikk';
$messages['encryptnokey'] = 'Brongsling riggaði ikki. Almennur lykil var ikki funnin fyri $email';
$messages['nokeysfound'] = 'Eingir lyklar vóru funnir';
$messages['keyopenerror'] = 'Bar ikki til at fáa upplýsingar um lyklar! Innanhýsis feilur';
$messages['keylisterror'] = 'Bar ikki til at lista lyklar! Innanhýsis feilur';
$messages['keysimportfailed'] = 'Bar ikki til at innflyta lyk(il/lar)! Innanhýsis feilur';
$messages['keysimportsuccess'] = 'Lykar innfluttir. Innflutt: $new, óbroyttir: $old.';
$messages['keyremoving'] = 'Strikar lyk(il/lar)';
$messages['keyremoveconfirm'] = 'Ert tú vísur í, at tú vilt strika hesar lyklar?';
$messages['keyremovesuccess'] = 'Lyk(il/lar) eru strikaðir';
$messages['keyremoveerror'] = 'Ber ikki til at strika lyk(il/lar)';
$messages['keyimporttext'] = 'Tú kanst innflyta almennar og privat lyklar ella taka aftur undirskriftir í ASCII-Armor formati';
$messages['formerror'] = 'Vinarliga fylla allan formin. Øll felt eru kravd!';
$messages['passwordsdiffer'] = 'Loyniorðini eru ikki eins!';
$messages['keygenerateerror'] = 'Feilur kom í, tá roynt var at framleiða lykla par';
$messages['keygeneratesuccess'] = 'Eitt lykla-par var framleitt og inn flutt';
$messages['keygennosupport'] = 'Tín kagari dugur ikki dulmálsvísindi. Ber ikki til at framleiða lykla par';
$messages['nonameident'] = 'samleiki má hava eitt brúkaranavn';
?>

View File

@@ -0,0 +1,123 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Chiffrement';
$labels['enigmacerts'] = 'Certificats S/MIME';
$labels['enigmakeys'] = 'Clés PGP';
$labels['keysfromto'] = 'Clés $from à $to sur $count';
$labels['keyname'] = 'Nom';
$labels['keyid'] = 'ID de clé';
$labels['keyuserid'] = 'ID utilisateur';
$labels['keytype'] = 'Type de clé';
$labels['fingerprint'] = 'Empreinte';
$labels['subkeys'] = 'Sous-clés';
$labels['basicinfo'] = 'Informations de base';
$labels['userids'] = 'Utilisateurs supplémentaires';
$labels['typepublickey'] = 'Clé publique';
$labels['typekeypair'] = 'biclé';
$labels['keyattfound'] = 'Ce courriel contient une/des clé(s) PGP jointe(s).';
$labels['keyattimport'] = 'Importer une/des clé(s)';
$labels['typesign'] = 'Signer';
$labels['typeencrypt'] = 'Chiffrer';
$labels['typecert'] = 'Certifier';
$labels['typeauth'] = 'Authentification';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algorithme ';
$labels['subkeycreated'] = 'Créée';
$labels['subkeyexpires'] = 'Expire';
$labels['subkeyusage'] = 'Utilisation';
$labels['expiresnever'] = 'jamais';
$labels['unknown'] = 'inconnu';
$labels['uservalid'] = 'Valide';
$labels['userid'] = 'ID';
$labels['valid'] = 'valide';
$labels['supportencryption'] = 'Activer la signature et le chiffrement des courriels';
$labels['supportsignatures'] = 'Activer la vérification des signatures des courriels';
$labels['supportdecryption'] = 'Activer le déchiffrement des courriels';
$labels['signdefault'] = 'Par défaut, signer tous les courriels';
$labels['encryptdefault'] = 'Par défaut, chiffrer tous les courriels';
$labels['attachpubkeydefault'] = 'Par défaut, joindre ma clé PGP publique';
$labels['passwordtime'] = 'Conserver les mots de passe des clés privées pendant';
$labels['nminutes'] = '$m minute(s)';
$labels['wholesession'] = 'la session complète';
$labels['createkeys'] = 'Créer une nouvelle biclé';
$labels['importkeys'] = 'Importer des clés';
$labels['exportkeys'] = 'Exporter des clés';
$labels['keyactions'] = 'Actions des clés...';
$labels['keyremove'] = 'Supprimer';
$labels['keydisable'] = 'Désactiver';
$labels['keyrevoke'] = 'Révoquer';
$labels['keysend'] = 'Envoyer la clé publique dans un courriel';
$labels['keychpass'] = 'Changer le mot de passe';
$labels['newkeyident'] = 'Identité :';
$labels['newkeypass'] = 'Mot de passe :';
$labels['newkeypassconfirm'] = 'Confirmer le mot de passe :';
$labels['newkeysize'] = 'Taille de la clé :';
$labels['key2048'] = '2048 bits - par défaut';
$labels['key4096'] = '4096 bits - plus sécurisé';
$labels['keygenerating'] = 'Génération des clés...';
$labels['encryptionoptions'] = 'Options de chiffrement...';
$labels['encryptmsg'] = 'Chiffrer ce courriel';
$labels['signmsg'] = 'Signer numériquement ce courriel';
$labels['enterkeypasstitle'] = 'Saisir la phrase de passe de la clé';
$labels['enterkeypass'] = 'Un phrase de passe est nécessaire pour débloquer la clé secrète ($keyid) pour l\'utilisateur : $user.';
$labels['arialabelkeyexportoptions'] = 'Options d\'exportation des clés';
$labels['attachpubkeymsg'] = 'Joindre ma clé publique';
$labels['keyexportprompt'] = 'Voulez-vous inclure les clés secrètes dans le fichier des clés OpenPGP enregistrées ?';
$labels['onlypubkeys'] = 'Exporter seulement les clés publiques';
$labels['withprivkeys'] = 'Exporter les clés secrètes';
$labels['findkey'] = 'Rechercher sur les serveurs de clés';
$labels['keyimportlabel'] = 'Importer d\'un fichier';
$labels['keyimportsearchlabel'] = 'Rechercher sur les serveurs de clés';
$messages['sigvalid'] = 'Signature vérifiée de $sender.';
$messages['sigvalidpartial'] = 'La signature de $sender a été vérifiée, mais une partie du corps n\'était pas signée.';
$messages['siginvalid'] = 'Signature invalide de $sender.';
$messages['sigunverified'] = 'Signature non vérifiée. Certificat non vérifié. ID de certificat : $keyid.';
$messages['signokey'] = 'Signature non vérifiée. Clé publique introuvable. ID de clé : $keyid.';
$messages['sigerror'] = 'Signature non vérifiée. Erreur interne.';
$messages['decryptok'] = 'Courriel déchiffré.';
$messages['decrypterror'] = 'Échec lors du déchiffrement.';
$messages['decryptnokey'] = 'Échec de déchiffrement. Clé privée introuvable. ID de clé : $keyid.';
$messages['decryptbadpass'] = 'Échec de déchiffrement. Le mot de passe est invalide.';
$messages['decryptnopass'] = 'Échec de déchiffrement. Le mot de passe de la clé est exigé.';
$messages['decryptpartial'] = 'Le courriel a été déchiffré, mais une partie du corps n\'était pas chiffré.';
$messages['signerror'] = 'Échec lors de la signature.';
$messages['signnokey'] = 'Échec lors de la signature. La clé privée est introuvable.';
$messages['signbadpass'] = 'Échec de signature. Le mot de passe est invalide.';
$messages['signnopass'] = 'Échec de signature. Le mot de passe de la clé est exigé.';
$messages['encrypterror'] = 'Échec lors du chiffrement.';
$messages['encryptnokey'] = 'Échec lors du chiffrement. La clé publique est introuvable pour $email.';
$messages['nokeysfound'] = 'Aucune clé trouvée';
$messages['keynotfound'] = 'Clé introuvable !';
$messages['keyopenerror'] = 'Impossible d\'obtenir les informations sur la clé ! Erreur interne.';
$messages['keylisterror'] = 'Impossible de lister les clés ! Erreur interne.';
$messages['keysimportfailed'] = 'Impossible d\'importer les clés ! Erreur interne.';
$messages['keysimportsuccess'] = 'Importation de clé réussie. Importées : $new, non modifiée(s) : $old.';
$messages['keyremoving'] = 'Suppression de des clés...';
$messages['keyremoveconfirm'] = 'Voulez-vous vraiment supprimer les clés sélectionnées ?';
$messages['keyremovesuccess'] = 'Clés supprimées avec succès';
$messages['keyremoveerror'] = 'Impossible de supprimer les clés sélectionnées';
$messages['keyimporttext'] = 'Vous pouvez importer des clés privées et publiques ou des signatures de révocation au format ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Vous pouvez chercher des clés publiques par identifiant de clé, nom d\'utilisateur ou adresse courriel, et ensuite les importer directement.';
$messages['formerror'] = 'Veuillez remplir le formulaire. Tous les champs sont requis !';
$messages['passwordsdiffer'] = 'Les mots de passe ne correspondent pas !';
$messages['keygenerateerror'] = 'La génération de la biclé a échoué';
$messages['keygeneratesuccess'] = 'Une biclé a été générée et importée avec succès.';
$messages['keygennosupport'] = 'Votre navigateur ne prend pas en charge le chiffrement. Activez-le pour générer une biclé !';
$messages['noidentselected'] = 'Vous devez choisir au moins une identité pour la clé !';
$messages['nonameident'] = 'Un nom d\'utilisateur doit être défini pour l\'identité !';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'הצפנה';
$labels['enigmacerts'] = 'תעודות מאושרות S/MIME';
$labels['enigmakeys'] = 'מפתחות PGP';
$labels['keysfromto'] = 'מפתחות from$ עד to$ מתוך count$';
$labels['keyname'] = 'שם';
$labels['keyid'] = 'זיהוי מפתח';
$labels['keyuserid'] = 'זיהוי משתמש';
$labels['keytype'] = 'סוג מפתח';
$labels['fingerprint'] = 'טביעת אצבע';
$labels['subkeys'] = 'תת מפתח';
$labels['basicinfo'] = 'מידע בסיסי';
$labels['userids'] = 'משתמשים נוספים';
$labels['typepublickey'] = 'מפתח ציבורי';
$labels['typekeypair'] = 'צמד מפתחות';
$labels['keyattfound'] = 'הצרופה מכילה מפתח PGP אחד או יותר';
$labels['keyattimport'] = 'ייבוא מפתח אחד או יותר';
$labels['typesign'] = 'לחתום';
$labels['typeencrypt'] = 'להצפין';
$labels['typecert'] = 'לאשר';
$labels['typeauth'] = 'וידוא מקוריות';
$labels['subkeyid'] = 'קוד זיהוי';
$labels['subkeyalgo'] = 'אלגוריתם';
$labels['subkeycreated'] = 'נוצר';
$labels['subkeyexpires'] = 'פג תוקף';
$labels['subkeyusage'] = 'שימוש';
$labels['expiresnever'] = 'אף פעם';
$labels['unknown'] = 'לא ידוע';
$labels['uservalid'] = 'בתוקף';
$labels['userid'] = 'קוד זיהוי';
$labels['valid'] = 'בתוקף';
$labels['supportencryption'] = 'הפעלה של הצפנת הודעה וחתימתה';
$labels['supportsignatures'] = 'הפעלה של וידוא חתימות הודעה';
$labels['supportdecryption'] = 'הפעלה של פיענוח הודעה';
$labels['signdefault'] = 'חתימה של כל הודעה כברירת מחדל';
$labels['encryptdefault'] = 'הצפנה של כל הודעה כברירת מחדל';
$labels['attachpubkeydefault'] = 'צירוף המפתח הציבורי שלי כברירת מחדל';
$labels['passwordtime'] = 'אחסון סיסמאות של מפתח פרטי עבור';
$labels['nminutes'] = 'm$ דקות';
$labels['wholesession'] = 'כל משך ההתקשרות';
$labels['createkeys'] = 'יצירה של צמד מפתחות';
$labels['importkeys'] = 'ייבוא מפתח אחד או יותר';
$labels['exportkeys'] = 'ייצוא מפתח אחד או יותר';
$labels['keyactions'] = 'פעולות אפשריות למפתח...';
$labels['keyremove'] = 'הסר';
$labels['keydisable'] = 'חסום';
$labels['keyrevoke'] = 'הפקעה';
$labels['keysend'] = 'משלוח מפתח ציבורי בהודעה';
$labels['keychpass'] = 'שינוי סיסמה';
$labels['newkeyident'] = 'זהות:';
$labels['newkeypass'] = 'סיסמה:';
$labels['newkeypassconfirm'] = 'אישור סיסמה:';
$labels['newkeysize'] = 'גודל מפתח:';
$labels['key2048'] = 'ברירת מחדל - 2048 סיביות';
$labels['key4096'] = '4096 סיביות - יותר בטוח';
$labels['keygenerating'] = 'מפתחות נוצרים...';
$labels['encryptionoptions'] = 'אפשרויות הצפנה...';
$labels['encryptmsg'] = 'הצפנה של הודעה זו';
$labels['signmsg'] = 'חתימה דיגיטלית של הודעה זו';
$labels['enterkeypasstitle'] = 'נא להקיש צרור אותיות וסימנים ליצירת מפתח';
$labels['enterkeypass'] = 'יש להקיש צרור אותיות וסימנים שנבחרו קודם כדי לשחרר נעילה של המפתח הסודי (keyid$) של משתמש user$';
$labels['arialabelkeyexportoptions'] = 'אפשרויות ייצוא של מפתחות';
$labels['attachpubkeymsg'] = 'צירוף המפתח הציבורי שלי';
$labels['keyexportprompt'] = 'האם ברצונך לכלול מפתחות סודיים בקובץ השמור של המפתחות ?';
$labels['onlypubkeys'] = 'ייצוא מפתחות ציבוריים בלבד';
$labels['withprivkeys'] = 'ייצוא מפתחות סודיים';
$labels['findkey'] = 'חיפוש בשרת(י) מפתח';
$labels['keyimportlabel'] = 'ייבוא מקובץ';
$labels['keyimportsearchlabel'] = 'חיפוש בשרת(י) מפתח';
$messages['sigvalid'] = 'אימות חתימה מ sender$';
$messages['sigvalidpartial'] = 'אומתה חתימה של sender$ אבל חלק מגוף ההודעה לא נחתם';
$messages['siginvalid'] = 'חתימה לא תקינה מ sender$';
$messages['sigunverified'] = 'חתימה לא מאומתת. התעודה לא אומתה. קוד תעודה: keyid$.';
$messages['signokey'] = 'חתימה לא מאומתת. לא נמצא מפתח ציבורי. קוד מפתח: keyid$.';
$messages['sigerror'] = 'חתימה לא מאומתת. שגיאה פנימית.';
$messages['decryptok'] = 'הודעה פוענחה.';
$messages['decrypterror'] = 'הפיענוח נכשל.';
$messages['decryptnokey'] = 'הפיענוח נכשל. לא נמצא מפתח פרטי. קוד מפתח: keyid$.';
$messages['decryptnopass'] = 'פענוח נכשל. נדרשת סיסמת מפתח.';
$messages['decryptpartial'] = 'ההודעה פוענחה אבל חלק מגוף ההודעה כלל לא הוצפן';
$messages['signerror'] = 'חתימה נכשלה.';
$messages['signnokey'] = 'חתימה נכשלה. לא נמצא מפתח פרטי.';
$messages['signnopass'] = 'חיתום נכשל. נדרשת סיסמת מפתח.';
$messages['encrypterror'] = 'הצפנה נכשלה.';
$messages['encryptnokey'] = 'הצפנה נכשלה. לא נמצא מפתח ציבורי עבור mail$.';
$messages['nokeysfound'] = 'לא נמצאו מפתחות.';
$messages['keynotfound'] = 'לא נמצא מפתח !';
$messages['keyopenerror'] = 'לא ניתן להשיג מידע על מפתח! שגיאה פנימית.';
$messages['keylisterror'] = 'לא ניתן להציג רשימת מפתחות! שגיאה פנימית.';
$messages['keysimportfailed'] = 'לא ניתן לייבא מפתח אחד או יותר ! שגיאה פנימית.';
$messages['keysimportsuccess'] = 'מפתחות יובאו בהצלחה. יובא: new$, לא שינוי: old$.';
$messages['keyremoving'] = 'הסרת מפתחות...';
$messages['keyremoveconfirm'] = 'האם למחוק את המפתחות שנבחרו?';
$messages['keyremovesuccess'] = 'מפתח(ות) נמחק(ו) בהצלחה';
$messages['keyremoveerror'] = 'לא ניתן למחוק את המפתחות שנבחרו.';
$messages['keyimporttext'] = 'ניתן לייבא מפתחות פרטיים וציבוריים או חתימות ביטול בםפורמט ASCII-Armor';
$messages['keyimportsearchtext'] = 'ניתן לחפש מפתחות ציבוריים לפי מזהה מפתח, שם משתמש או כתובת דוא"ל ואח"כ לייבא אותם ישירות.';
$messages['formerror'] = 'נא למלא את כל השדות בטופס !';
$messages['passwordsdiffer'] = 'הסיסמאות לא תואמות!';
$messages['keygenerateerror'] = 'נכשלה יצירה של צמד המפתחות';
$messages['keygeneratesuccess'] = 'נוצר צמד מפתחות ויובא בהצלחה.';
$messages['keygennosupport'] = 'הדפדפן הזה אינו תומך בהצפנה. לא ניתן לייצר צמד מפתחות !';
$messages['noidentselected'] = 'יש לבחור לפחות זהות אחת עבור המפתח';
$messages['nonameident'] = 'יש להגדיר שם משתמש בהגדרת הזהות !';
?>

View File

@@ -0,0 +1,19 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['keychpass'] = 'Promjena zaporke';
?>

View File

@@ -0,0 +1,123 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Titkosítás';
$labels['enigmacerts'] = 'S/MIMI Tanusitványok';
$labels['enigmakeys'] = 'PGP Kulcsok';
$labels['keysfromto'] = 'Kulcsok $from - $to / $count ';
$labels['keyname'] = 'Név';
$labels['keyid'] = 'Kulcs ID';
$labels['keyuserid'] = 'Felhasználó ID';
$labels['keytype'] = 'Kulcs tipus';
$labels['fingerprint'] = 'Ujjlenyomat';
$labels['subkeys'] = 'Alkulcsok';
$labels['basicinfo'] = 'Alap információk';
$labels['userids'] = 'További felhasználok';
$labels['typepublickey'] = 'nyilvános kulcs';
$labels['typekeypair'] = 'kulcspár';
$labels['keyattfound'] = 'Ez az űzenet tartalmaz csatolt PGP kulcso(ka)t';
$labels['keyattimport'] = 'Kulcs(ok) importálása';
$labels['typesign'] = 'Aláírás';
$labels['typeencrypt'] = 'Titkosít';
$labels['typecert'] = 'Igazolni';
$labels['typeauth'] = 'Hitelesítés';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmus';
$labels['subkeycreated'] = 'Létrehozva';
$labels['subkeyexpires'] = 'Lejár';
$labels['subkeyusage'] = 'Felhasználás';
$labels['expiresnever'] = 'soha';
$labels['unknown'] = 'ismeretlen';
$labels['uservalid'] = 'Érvényes';
$labels['userid'] = 'ID';
$labels['valid'] = 'érvényes';
$labels['supportencryption'] = 'Az üzenet titkosításának és aláíásának engedélyezése';
$labels['supportsignatures'] = 'Az űzenet álírásainak ellenörzésének engedélyezése';
$labels['supportdecryption'] = 'Az üzenet ki-titkosításának engedélyezése';
$labels['signdefault'] = 'Alapértelemzetten írja alá az üzeneteket';
$labels['encryptdefault'] = 'Titkosítsa az összes üzenetet alapértelemzetten';
$labels['attachpubkeydefault'] = 'Alapértelmezetten csatolja a publikus PGP kulcsomat.';
$labels['passwordtime'] = 'Jegyezze meg a privát kulcs jelszavát a következöhöz';
$labels['nminutes'] = '$m perc';
$labels['wholesession'] = 'az egész munkamenet';
$labels['createkeys'] = 'Új kulcs pár létrehozása';
$labels['importkeys'] = 'Kulcsok importálása';
$labels['exportkeys'] = 'Kulcs(ok) exportálása';
$labels['keyactions'] = 'Kulcs műveletek';
$labels['keyremove'] = 'Eltávolítás';
$labels['keydisable'] = 'Tilt';
$labels['keyrevoke'] = 'Visszavon';
$labels['keysend'] = 'Kűld el a nyilvános kulcsot az üzenetben';
$labels['keychpass'] = 'Jelszó módosítás';
$labels['newkeyident'] = 'Azonosító:';
$labels['newkeypass'] = 'Jelszó:';
$labels['newkeypassconfirm'] = 'Jelszó megerősítése';
$labels['newkeysize'] = 'Kulcs méret:';
$labels['key2048'] = '2048 bit - alapértelemzett';
$labels['key4096'] = '4096 bit - biztonságosabb';
$labels['keygenerating'] = 'Kulcsok generálása…';
$labels['encryptionoptions'] = 'Titkosítási beállítások...';
$labels['encryptmsg'] = 'Titkosítsa ezt az üzenetet';
$labels['signmsg'] = 'Ennek az üzenetnek a digtális aláírása';
$labels['enterkeypasstitle'] = 'Írd be a jelmondatot';
$labels['enterkeypass'] = 'Jelmondat(passphrase) szükséges a titkos kulcs ($keyid) felhasznlóhoz ($user) feloldásához. ';
$labels['arialabelkeyexportoptions'] = 'Kulcsok exportálásához opciók';
$labels['attachpubkeymsg'] = 'A nyilvános kulcsom csatolása';
$labels['keyexportprompt'] = 'A mentett OpenPGP kulcsoknál legyenek-e tárolva a titkos kulcsok is?';
$labels['onlypubkeys'] = 'Csak a nyilvános kulcsok exportálása';
$labels['withprivkeys'] = 'Titkos kucsok exportálása';
$labels['findkey'] = 'Keresés a kulcs szerver(ek)en';
$labels['keyimportlabel'] = 'Importálás fájlból';
$labels['keyimportsearchlabel'] = 'Keresés a kulcs szerver(ek)en';
$messages['sigvalid'] = 'A $sender feladó aláírása ellenőrízve.';
$messages['sigvalidpartial'] = 'A $sender feladó aláírása ellenőrízve, de részei az üzenetnek nem voltak aláírva.';
$messages['siginvalid'] = 'Érvénytelen aláírás a következő feladótól: $sender';
$messages['sigunverified'] = 'Nem ellenörzött aláírás. A tanúsítvány nem ellenőrzött. Tanusítvány ID: $keyid.';
$messages['signokey'] = 'Nem ellenörzött aláírás. Nyilvános kulcs nem található. Kulcs ID: $keyid.';
$messages['sigerror'] = 'Nem ellenörzött aláírás. Belső hiba.';
$messages['decryptok'] = 'Üzenet ki-tikosítva.';
$messages['decrypterror'] = 'Visszafejtés sikertelen.';
$messages['decryptnokey'] = 'Visszafejtés sikertelen. Nyilvános nem található. Kulcs ID: $keyid.';
$messages['decryptbadpass'] = 'Visszafejtés sikertelen. Hibás jelszó.';
$messages['decryptnopass'] = 'Visszafejtés sikertelen. A kulcshoz jelszó kell.';
$messages['decryptpartial'] = 'Visszafejtés sikeres, de néhány része az üzenetnek nem volt titkosítva.';
$messages['signerror'] = 'Aláírás sikertelen.';
$messages['signnokey'] = 'Aláírás sikertelen. Nyilvános kulcs nem található.';
$messages['signbadpass'] = 'Aláírás sikertelen. Hibás jelszó.';
$messages['signnopass'] = 'Aláírás sikertelen. A kulcshoz jelszó kell.';
$messages['encrypterror'] = 'Titkosítás sikertelen.';
$messages['encryptnokey'] = 'Titkosítás sikertelen. Nyilvás kulcs nem található a következőhöz: $email.';
$messages['nokeysfound'] = 'Nem találhatóak kulcsok';
$messages['keynotfound'] = 'A kulcs nem található!';
$messages['keyopenerror'] = 'A kulcs információk lekérésés nem lehetséges. Belső hiba.';
$messages['keylisterror'] = 'A kulcsok listázása nem sikerült. Belső hiba.';
$messages['keysimportfailed'] = 'A kulcs(ok) importálása sikertlelen. Belső hiba.';
$messages['keysimportsuccess'] = 'A kulcs(ok) importálása sikeres. Importálva: $new, változatlan: $old.';
$messages['keyremoving'] = 'Kulcs(ok) eltávolítása...';
$messages['keyremoveconfirm'] = 'Biztosan törölni szeretnéd a kiválasztott kulcso(ka)t?';
$messages['keyremovesuccess'] = 'A kulcs(ok) sikeresen törölve';
$messages['keyremoveerror'] = 'Nem sikerült a kiválasztott kulcso(ka)t törölni.';
$messages['keyimporttext'] = 'Importálhatod a privát és nyilvános kulcsodat vagy a visszavonási aláírásokatr ASCII-Armor formátumban.';
$messages['keyimportsearchtext'] = 'A publikus kulcsokat keresheted az azonsító, a felhasználó név vagy a email cím alapján, majd közvetlenül beimportálhatod.';
$messages['formerror'] = 'Tőltsd ki az ürlapot. Minden mező kitöltése kötelező!';
$messages['passwordsdiffer'] = 'A jelszavak nem egyeznek!';
$messages['keygenerateerror'] = 'Nem sikerült a kulcs-pár létrehozása';
$messages['keygeneratesuccess'] = 'A kulcs-pár létrejött és sikeresen beimportálódott.';
$messages['keygennosupport'] = 'A böngésződ nem támogatja a titkosítást. A kulcs-pár nem hozható létre!';
$messages['noidentselected'] = 'Ki kell választanod legalább egy identitást a kulcshoz!';
$messages['nonameident'] = 'Egy identitásnak kötelező felhasználó nevet beállítani!';
?>

View File

@@ -0,0 +1,120 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Enkripsi';
$labels['enigmacerts'] = 'Sertifikat S/MIME';
$labels['enigmakeys'] = 'Kunci PGP';
$labels['keysfromto'] = 'Kunci $from sampai $to dari $count';
$labels['keyname'] = 'Nama';
$labels['keyid'] = 'ID Kunci';
$labels['keyuserid'] = 'ID Pengguna';
$labels['keytype'] = 'Tipe kunci';
$labels['fingerprint'] = 'Sidik jari';
$labels['subkeys'] = 'Subkunci';
$labels['basicinfo'] = 'Informasi dasar';
$labels['userids'] = 'Pengguna Tambahan';
$labels['typepublickey'] = 'kunci publik';
$labels['typekeypair'] = 'kunci pasangan';
$labels['keyattfound'] = 'Pesan ini memuat kunci PGP yang dilampirkan.';
$labels['keyattimport'] = 'Impor kunci';
$labels['typesign'] = 'Tandatangani';
$labels['typeencrypt'] = 'Enkripsi';
$labels['typecert'] = 'Sertifikasikan';
$labels['typeauth'] = 'Otentifikasi';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritma';
$labels['subkeycreated'] = 'Dibuat';
$labels['subkeyexpires'] = 'Kedaluarsa';
$labels['subkeyusage'] = 'Penggunaan';
$labels['expiresnever'] = 'tidak pernah';
$labels['unknown'] = 'tak diketahui';
$labels['uservalid'] = 'Valid';
$labels['userid'] = 'ID';
$labels['valid'] = 'valid';
$labels['supportencryption'] = 'Fungsikan enkripsi dan penandatanganan pesan';
$labels['supportsignatures'] = 'Fungsikan verifikasi tanda tangan pesan';
$labels['supportdecryption'] = 'Fungsikan dekripsi pesan';
$labels['signdefault'] = 'Tandatangani semua pesan secara baku';
$labels['encryptdefault'] = 'Enkripsikan semua pesan secara baku';
$labels['attachpubkeydefault'] = 'Lampirkan kunci PGP publik saya secara baku';
$labels['passwordtime'] = 'Simpan kata sandi kunci rahasia selama';
$labels['nminutes'] = '$m menit';
$labels['wholesession'] = 'seluruh sesi';
$labels['createkeys'] = 'Buat pasangan kunci baru';
$labels['importkeys'] = 'Impor kunci';
$labels['exportkeys'] = 'Ekspor kunci';
$labels['keyactions'] = 'Aksi kunci...';
$labels['keyremove'] = 'Hapus';
$labels['keydisable'] = 'Nonaktifkan';
$labels['keyrevoke'] = 'Cabut';
$labels['keysend'] = 'Kirim kunci publik dalam pesan';
$labels['keychpass'] = 'Ubah kata sandi';
$labels['newkeyident'] = 'Identitas:';
$labels['newkeypass'] = 'Kata sandi:';
$labels['newkeypassconfirm'] = 'Konfirmasi kata sandi:';
$labels['newkeysize'] = 'Ukuran kunci:';
$labels['key2048'] = '2048 bit - baku';
$labels['key4096'] = '4096 bit - lebih aman';
$labels['keygenerating'] = 'Membuat kunci...';
$labels['encryptionoptions'] = 'Opsi enkripsi...';
$labels['encryptmsg'] = 'Enkripsikan pesan ini';
$labels['signmsg'] = 'Tandatantani pesan ini';
$labels['enterkeypasstitle'] = 'Masukkan frasa sandi kunci';
$labels['enterkeypass'] = 'Frasa sandi diperlukan untuk membuka kunci rahasia ($keyid) untuk pengguna: $user.';
$labels['arialabelkeyexportoptions'] = 'Opsi ekspor kunci';
$labels['attachpubkeymsg'] = 'Lampirkan kunci publik saya';
$labels['keyexportprompt'] = 'Apakah Anda ingin menyertakan kunci rahasia dalam berkas kunci OpenPGP yang disimpan?';
$labels['onlypubkeys'] = 'Ekspor Kunci Publik Saja';
$labels['withprivkeys'] = 'Ekspor Kunci Rahasia';
$labels['findkey'] = 'Cari pada server kunci';
$labels['keyimportlabel'] = 'Impor dari berkas';
$labels['keyimportsearchlabel'] = 'Cari pada server kunci';
$messages['sigvalid'] = 'Tanda tangan terverifikasi dari $sender.';
$messages['sigvalidpartial'] = 'Tanda tangan terverifikasi dari $sender, tapi sebagian pesan tidak ditandatangani.';
$messages['siginvalid'] = 'Tanda tangan tak valid dari $sender.';
$messages['sigunverified'] = 'Tanda tangan tak terverifikasi. Sertifikat tak terverifikasi. ID sertifikat: $keyid.';
$messages['signokey'] = 'Tanda tangan tak terverifikasi. Kunci publik tak ditemukan. ID kunci: $keyid.';
$messages['sigerror'] = 'Tanda tangan tak terverifikasi. Kesalahan internal.';
$messages['decryptok'] = 'Pesan didekripsi.';
$messages['decrypterror'] = 'Dekripsi gagal.';
$messages['decryptnokey'] = 'Dekripsi gagal. Kunci privat tak ditemukan. ID kunci: $keyid.';
$messages['decryptnopass'] = 'Dekripsi gagal. Kata sandi kunci diperlukan.';
$messages['decryptpartial'] = 'Pesan didekripsi, tapi sebagian isi tidak dienkripsi.';
$messages['signerror'] = 'Penandatanganan gagal.';
$messages['signnokey'] = 'Penandatanganan gagal. Kunci privat tak ditemukan.';
$messages['signnopass'] = 'Penandatanganan gagal. Kata sandi kunci diperlukan.';
$messages['encrypterror'] = 'Enkripsi gagal.';
$messages['encryptnokey'] = 'Enkripsi gagal. Kunci publik tak ditemukan untuk $email.';
$messages['nokeysfound'] = 'Tidak ada kunci yang ditemukan';
$messages['keynotfound'] = 'Kunci tidak ditemukan!';
$messages['keyopenerror'] = 'Tidak bisa memperoleh informasi kunci! Kesalahan internal.';
$messages['keylisterror'] = 'Tidak bisa membuat daftar kunci! Kesalahan internal.';
$messages['keysimportfailed'] = 'Tidak bisa mengimpor kunci! Kesalahan internal.';
$messages['keysimportsuccess'] = 'Kunci sukses diimpor. Diimpor: $new, tidak berubah: $old.';
$messages['keyremoving'] = 'Menghapus kunci...';
$messages['keyremoveconfirm'] = 'Anda yakin hendak menghapus kunci yang dipilih?';
$messages['keyremovesuccess'] = 'Kunci sukses dihapus';
$messages['keyremoveerror'] = 'Tidak bisa menghapus kunci yang dipilih.';
$messages['keyimporttext'] = 'Anda bisa mengimpor kunci privat dan publik atau tanda tangan pencabutan dalam format ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Anda dapat mencari kunci publik berdasarkan identifier kunci, nama pengguna, atau alamat surel, lalu secara langsung mengimpor mereka.';
$messages['formerror'] = 'Harap isi formulir. Semua ruas diperlukan!';
$messages['passwordsdiffer'] = 'Kata sandi tidak cocok!';
$messages['keygenerateerror'] = 'Gagal membuat suatu pasangan kunci';
$messages['keygeneratesuccess'] = 'Suatu pasangan kunci dibuat dan sukses diimpor.';
$messages['keygennosupport'] = 'Peramban web Anda tidak mendukung kriptografi. Tidak bisa membuat suatu pasangan kunci!';
$messages['nonameident'] = 'Identitas mesti mengandung nama pengguna!';
?>

View File

@@ -0,0 +1,21 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['keyname'] = 'Heiti';
$labels['keyid'] = 'Auðkenni lykils';
$labels['typeencrypt'] = 'Dulrita';
?>

View File

@@ -0,0 +1,64 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Criptare';
$labels['enigmacerts'] = 'Certificati S/MIME';
$labels['enigmakeys'] = 'Chiavi PGP';
$labels['keysfromto'] = 'Chiavi da $from a $to di $count';
$labels['keyname'] = 'Nome';
$labels['keyid'] = 'ID della chiave';
$labels['keyuserid'] = 'ID utente';
$labels['keytype'] = 'Tipo chiave';
$labels['fingerprint'] = 'Fingerprint';
$labels['subkeys'] = 'Sottochiavi';
$labels['basicinfo'] = 'Informazioni base';
$labels['userids'] = 'Utenti aggiuntivi';
$labels['typepublickey'] = 'chiave pubblica';
$labels['keyattfound'] = 'Questo messaggio contiene allegate Chiavi PGP.';
$labels['keyattimport'] = 'Importa Chiave(i)';
$labels['typesign'] = 'Firma';
$labels['typeencrypt'] = 'Cripta';
$labels['typecert'] = 'Certifica';
$labels['typeauth'] = 'Autenticazione';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmo';
$labels['subkeycreated'] = 'Creato';
$labels['subkeyexpires'] = 'Scadenza';
$labels['subkeyusage'] = 'Utilizzo';
$labels['expiresnever'] = 'mai';
$labels['unknown'] = 'sconosciuto';
$labels['uservalid'] = 'Valido';
$labels['userid'] = 'ID';
$labels['valid'] = 'valido';
$labels['supportencryption'] = 'Abilita cifratura firma del messaggio';
$labels['supportsignatures'] = 'Abilita la verifica delle firme dei messaggi';
$labels['supportdecryption'] = 'Abilita da decodifica del messaggio';
$labels['signdefault'] = 'Firma tutti i messaggi di default';
$labels['encryptdefault'] = 'Crypta tutti i messaggi di default';
$labels['attachpubkeydefault'] = 'Allega la mia chiave pubblica PGP di default';
$labels['nminutes'] = '$m minuti';
$labels['createkeys'] = 'Crea una nuova coppia di chiavi';
$labels['importkeys'] = 'Importa chiave(i)';
$labels['exportkeys'] = 'Esporta Chiave(i)';
$labels['keyremove'] = 'Rimuovi';
$labels['keydisable'] = 'Disabilita';
$labels['keyrevoke'] = 'Revoca';
$labels['keychpass'] = 'Cambia password';
$labels['newkeyident'] = 'Identità:';
$labels['newkeypass'] = 'Password:';
$labels['newkeypassconfirm'] = 'Conferma password:';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = '暗号化';
$labels['enigmacerts'] = 'S/MIME証明書';
$labels['enigmakeys'] = 'PGPのキー';
$labels['keysfromto'] = '$count の $from から $to へのキー';
$labels['keyname'] = '名前';
$labels['keyid'] = 'キーID';
$labels['keyuserid'] = 'ユーザーID';
$labels['keytype'] = 'キーの種類';
$labels['fingerprint'] = 'フィンガープリント';
$labels['subkeys'] = '副キー';
$labels['basicinfo'] = '基本情報';
$labels['userids'] = '追加のユーザー';
$labels['typepublickey'] = '公開鍵';
$labels['typekeypair'] = '鍵ペア';
$labels['keyattfound'] = 'このメッセージは同封したPGPのキーを含んでいます。';
$labels['keyattimport'] = 'キーをインポート';
$labels['typesign'] = '署名';
$labels['typeencrypt'] = '暗号化';
$labels['typecert'] = '証明書';
$labels['typeauth'] = '認証';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'アルゴリズム';
$labels['subkeycreated'] = '作成日時';
$labels['subkeyexpires'] = '期限切れ';
$labels['subkeyusage'] = '使用法';
$labels['expiresnever'] = 'しない';
$labels['unknown'] = '不明';
$labels['uservalid'] = '有効';
$labels['userid'] = 'ID';
$labels['valid'] = '有効';
$labels['supportencryption'] = 'メッセージの暗号化と署名';
$labels['supportsignatures'] = 'メッセージの署名を検証';
$labels['supportdecryption'] = 'メッセージの復号';
$labels['signdefault'] = 'すべてのメッセージを初期設定で署名';
$labels['encryptdefault'] = 'すべてのメッセージを初期設定で暗号化';
$labels['attachpubkeydefault'] = '初期設定で自分の公開鍵を添付';
$labels['passwordtime'] = 'プライベートキーのパスワードを以下の間保持: ';
$labels['nminutes'] = '$m 分';
$labels['wholesession'] = 'セッションの間中';
$labels['createkeys'] = '新しい鍵ペアを作成';
$labels['importkeys'] = 'キーをインポート';
$labels['exportkeys'] = 'キーをエクスポート';
$labels['keyactions'] = 'キーの操作...';
$labels['keyremove'] = '削除';
$labels['keydisable'] = '無効化';
$labels['keyrevoke'] = '廃止';
$labels['keysend'] = 'メッセージ中に公開鍵を送信';
$labels['keychpass'] = 'パスワードを変更';
$labels['newkeyident'] = '識別情報:';
$labels['newkeypass'] = 'パスワード:';
$labels['newkeypassconfirm'] = 'パスワードの確認:';
$labels['newkeysize'] = '鍵の大きさ:';
$labels['key2048'] = '2048ビット(初期設定)';
$labels['key4096'] = '4096ビット(より安全)';
$labels['keygenerating'] = 'キーを精製中...';
$labels['encryptionoptions'] = '暗号のオプション...';
$labels['encryptmsg'] = 'このメッセージを暗号化';
$labels['signmsg'] = 'このメッセージに電子署名';
$labels['enterkeypasstitle'] = 'キーのパスフレーズを入力';
$labels['enterkeypass'] = 'ユーザー: $userの秘密鍵($keyid)の解除にパスフレーズが必要です。';
$labels['arialabelkeyexportoptions'] = 'キーのエクスポートのオプション';
$labels['attachpubkeymsg'] = '公開鍵を添付';
$labels['keyexportprompt'] = '保存したOpenPGPのキーファイルに秘密鍵も含めますか?';
$labels['onlypubkeys'] = '公開鍵だけエクスポート';
$labels['withprivkeys'] = '秘密鍵をエクスポート';
$labels['findkey'] = 'キーサーバーで検索';
$labels['keyimportlabel'] = 'ファイルからインポート';
$labels['keyimportsearchlabel'] = 'キーサーバーで検索';
$messages['sigvalid'] = '$senderからの署名を検証しました。';
$messages['sigvalidpartial'] = '$senderからの署名を検証しましたが、本文の一部は署名されていません。';
$messages['siginvalid'] = '$senderからの署名は正しくありません。';
$messages['sigunverified'] = '署名を検証できません。証明書を検証できません。証明書ID: $keyid';
$messages['signokey'] = '署名を検証できません。次の公開鍵がありません: $keyid';
$messages['sigerror'] = '署名を検証できません。内部エラーです。';
$messages['decryptok'] = 'メッセージを復号しました。';
$messages['decrypterror'] = '復号できませんでした。';
$messages['decryptnokey'] = '復号できませんでした。次のキーIDの秘密鍵がありません: $keyid';
$messages['decryptnopass'] = '復号できませんでした。キーのパスワードが必要です。';
$messages['decryptpartial'] = 'メッセージを復号しました。しかし、本文の一部は暗号化していませんでした。';
$messages['signerror'] = '署名できませんでした。';
$messages['signnokey'] = '署名できませんでした。秘密鍵がありません。';
$messages['signnopass'] = '署名できませんでした。キーのパスワードが必要です。';
$messages['encrypterror'] = '暗号化できませんでした。';
$messages['encryptnokey'] = '暗号化できませんでした。$emailへの公開鍵がありません。';
$messages['nokeysfound'] = 'キーがありません。';
$messages['keynotfound'] = 'キーがありません!';
$messages['keyopenerror'] = 'キーの情報を取得できません! 内部エラーです。';
$messages['keylisterror'] = 'キーの一覧をできません! 内部エラーです。';
$messages['keysimportfailed'] = 'キーをインポートできません! 内部エラーです。';
$messages['keysimportsuccess'] = 'キーをインポートしました。$new個を新規に、$old個は変更していません。';
$messages['keyremoving'] = 'キーを削除中...';
$messages['keyremoveconfirm'] = '本当に! 秘密鍵を削除しますか?';
$messages['keyremovesuccess'] = '鍵を削除しました。';
$messages['keyremoveerror'] = '秘密鍵を削除できません。';
$messages['keyimporttext'] = '秘密鍵と公開鍵、または失効署名はASCII-Armor形式でインポートできます。';
$messages['keyimportsearchtext'] = 'キーの識別子、ユーザー名、電子メールアドレスのいずれかで公開鍵を検索して、直接インポートできます。';
$messages['formerror'] = '項目を入力してください。すべての項目は必須です!';
$messages['passwordsdiffer'] = 'パスワードが一致しません!';
$messages['keygenerateerror'] = '鍵ペアを生成できませんでした。';
$messages['keygeneratesuccess'] = '鍵ペアを生成してインポートしました。';
$messages['keygennosupport'] = 'Webブラウザーが暗号機能をサポートしていません。鍵ペアを生成できません!';
$messages['noidentselected'] = 'キーのための識別情報を少なくとも1つ選択しなければなりません!';
$messages['nonameident'] = '識別情報にはユーザー名が必須です!';
?>

View File

@@ -0,0 +1,19 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['keyname'] = 'სახელი';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = '암호화';
$labels['enigmacerts'] = 'S/MIME 인증서';
$labels['enigmakeys'] = 'PGP 키';
$labels['keysfromto'] = '키 총 $count개 중 $from 번째 부터 $to 번째까지';
$labels['keyname'] = '이름';
$labels['keyid'] = '키 ID';
$labels['keyuserid'] = '사용자 ID';
$labels['keytype'] = '키 유형';
$labels['fingerprint'] = '지문';
$labels['subkeys'] = '하위 키';
$labels['basicinfo'] = '기본 정보';
$labels['userids'] = '추가 사용자';
$labels['typepublickey'] = '공개 키';
$labels['typekeypair'] = '키 페어';
$labels['keyattfound'] = '이 메시지는 첨부된 PGP 키를 포함합니다.';
$labels['keyattimport'] = '키 가져오기';
$labels['typesign'] = '서명';
$labels['typeencrypt'] = '암호화';
$labels['typecert'] = '인증';
$labels['typeauth'] = '인증';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = '알고리즘';
$labels['subkeycreated'] = '생성일';
$labels['subkeyexpires'] = '만료일';
$labels['subkeyusage'] = '사용도';
$labels['expiresnever'] = '하지 않음';
$labels['unknown'] = '알 수 없음';
$labels['uservalid'] = '유효';
$labels['userid'] = 'ID';
$labels['valid'] = '유효';
$labels['supportencryption'] = '메시지 암호화 및 서명 추가 활성화';
$labels['supportsignatures'] = '메시지 서명 검증 활성화';
$labels['supportdecryption'] = '메시지 복호화 활성화';
$labels['signdefault'] = '기본적으로 모든 메시지에 서명 추가';
$labels['encryptdefault'] = '기본적으로 모든 메시지 암호화';
$labels['attachpubkeydefault'] = '내 공개 PGP 키를 기본으로 첨부';
$labels['passwordtime'] = '비공개 키 암호를 다음 기간동안 유지';
$labels['nminutes'] = '$m분';
$labels['wholesession'] = '전체 세션';
$labels['createkeys'] = '새로운 키 페어 생성';
$labels['importkeys'] = '키 가져오기';
$labels['exportkeys'] = '키 내보내기';
$labels['keyactions'] = '키 동작...';
$labels['keyremove'] = '제거';
$labels['keydisable'] = '비활성화';
$labels['keyrevoke'] = '폐기';
$labels['keysend'] = '메시지에 공개 키 전송';
$labels['keychpass'] = '암호 변경';
$labels['newkeyident'] = '신원:';
$labels['newkeypass'] = '암호:';
$labels['newkeypassconfirm'] = '암호 확인:';
$labels['newkeysize'] = '키 크기:';
$labels['key2048'] = '2048 비트 - 기본';
$labels['key4096'] = '4096 비트 - 보안 강화';
$labels['keygenerating'] = '키를 생성하는 중...';
$labels['encryptionoptions'] = '암호화 옵션...';
$labels['encryptmsg'] = '이 메시지를 암호화';
$labels['signmsg'] = '이 메시지에 디지털 서명 추가';
$labels['enterkeypasstitle'] = '키 암호문 입력';
$labels['enterkeypass'] = '다음 사용자에 대한 비밀 키($keyid)의 잠금을 해제하려면 암호문이 필요합니다: $user.';
$labels['arialabelkeyexportoptions'] = '키 내보내기 옵션';
$labels['attachpubkeymsg'] = '내 공개 키 첨부';
$labels['keyexportprompt'] = '암호 키를 저장된 OpenPGP 키 파일에 포함하시겠습니까?';
$labels['onlypubkeys'] = '공개 키만 내보내기';
$labels['withprivkeys'] = '비밀 키 내보내기';
$labels['findkey'] = '키 서버에서 검색';
$labels['keyimportlabel'] = '파일에서 가져오기';
$labels['keyimportsearchlabel'] = '키 서버에서 검색';
$messages['sigvalid'] = '$sender이(가) 보낸 검증된 서명.';
$messages['sigvalidpartial'] = '$sender의 검증된 서명이긴 하나, 본문 일부가 서명되지 않았습니다.';
$messages['siginvalid'] = '$sender이(가) 보낸 검증되지 않은 서명.';
$messages['sigunverified'] = '검증되지 않은 서명. 인증서가 검증되지 않음. 인증서 ID: $keyid.';
$messages['signokey'] = '검증되지 않은 서명. 공개 키를 찾을 수 없습니다. 키 ID: $keyid.';
$messages['sigerror'] = '검증되지 않은 서명. 내부 오류.';
$messages['decryptok'] = '메시지가 복호화됨.';
$messages['decrypterror'] = '복호화에 실패함.';
$messages['decryptnokey'] = '복호화에 실패함. 비공개 키를 찾을 수 없음. 키 ID: $keyid.';
$messages['decryptnopass'] = '복호화에 실패함. 키 암호가 필요합니다.';
$messages['decryptpartial'] = '메시지가 복호화됐지만 본문 일부가 암호화 되지 않았습니다.';
$messages['signerror'] = '서명 추가에 실패함.';
$messages['signnokey'] = '서명 추가에 실패함. 비공개 키를 찾을 수 없음.';
$messages['signnopass'] = '서명 추가에 실패함. 키 암호가 필요합니다.';
$messages['encrypterror'] = '암호화에 실패함.';
$messages['encryptnokey'] = '암호화에 실패함. $email에 대한 공개 키를 찾을 수 없음.';
$messages['nokeysfound'] = '키를 찾을 수 없음';
$messages['keynotfound'] = '키를 발견하지 못함!';
$messages['keyopenerror'] = '키 정보를 얻을 수 없음! 내부 오류.';
$messages['keylisterror'] = '키 목록을 표시할 수 없음! 내부 오류.';
$messages['keysimportfailed'] = '키를 가져올 수 없음! 내부 오류.';
$messages['keysimportsuccess'] = '키를 성공적으로 가져옴. 가져옴: $new개, 변경되지 않음: $old개.';
$messages['keyremoving'] = '키를 제거하는 중...';
$messages['keyremoveconfirm'] = '정말로 선택한 키를 삭제하시겠습니까?';
$messages['keyremovesuccess'] = '키가 성공적으로 삭제되었습니다';
$messages['keyremoveerror'] = '선택한 키를 삭제하지 못함.';
$messages['keyimporttext'] = '비공개 및 공개 키 또는 폐기 서명을 ASCII-Armor 형식으로 가져올 수 있습니다.';
$messages['keyimportsearchtext'] = '키 식별자, 사용자명 또는 이메일 주소로 공개 키를 검색하신 후에, 직접 가져오실 수 있습니다.';
$messages['formerror'] = '양식을 작성해주세요. 모든 필드가 채워져야 합니다!';
$messages['passwordsdiffer'] = '암호가 일치하지 않음!';
$messages['keygenerateerror'] = '키 페어 생성을 실패함';
$messages['keygeneratesuccess'] = '키 페어가 성공적으로 생성되었고 가져왔습니다.';
$messages['keygennosupport'] = '웹 브라우저가 암호화를 지원하지 않습니다. 키 페어를 생성하지 못함!';
$messages['noidentselected'] = '적어도 키에 대한 하나 이상의 신원을 선택하셔야 합니다!';
$messages['nonameident'] = '신원에는 사용자명이 정의되어야 합니다!';
?>

View File

@@ -0,0 +1,120 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Šifravimas';
$labels['enigmacerts'] = 'S/MIME liudijimai';
$labels['enigmakeys'] = 'PGP raktai';
$labels['keysfromto'] = '$from $to raktai iš $count';
$labels['keyname'] = 'Vardas';
$labels['keyid'] = 'Rakto ID';
$labels['keyuserid'] = 'Naudotojo ID';
$labels['keytype'] = 'Rakto tipas';
$labels['fingerprint'] = 'Kontrolinis kodas';
$labels['subkeys'] = 'Porakčiai';
$labels['basicinfo'] = 'Pagrindinė informacija';
$labels['userids'] = 'Papildomi naudotojai';
$labels['typepublickey'] = 'viešasis raktas';
$labels['typekeypair'] = 'raktų pora';
$labels['keyattfound'] = 'Šiame laiške aptiktas PGP raktas (raktai).';
$labels['keyattimport'] = 'Importuoti raktą (raktus)';
$labels['typesign'] = 'Pasirašyti';
$labels['typeencrypt'] = 'Šifruoti';
$labels['typecert'] = 'Liudyti';
$labels['typeauth'] = 'Autentikacija';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmas';
$labels['subkeycreated'] = 'Sukurtas';
$labels['subkeyexpires'] = 'Galioja iki';
$labels['subkeyusage'] = 'Naudotinas';
$labels['expiresnever'] = 'neterminuotai';
$labels['unknown'] = 'nežinoma';
$labels['uservalid'] = 'Galioja';
$labels['userid'] = 'ID';
$labels['valid'] = 'galioja';
$labels['supportencryption'] = 'Įgalinti laiškų šifravimą ir pasirašymą';
$labels['supportsignatures'] = 'Įgalinti laiškų parašų tikrinimą';
$labels['supportdecryption'] = 'Įgalinti laiškų dešifravimą';
$labels['signdefault'] = 'Numatytai pasirašinėti visus laiškus';
$labels['encryptdefault'] = 'Numatytai šifruoti visus laiškus';
$labels['attachpubkeydefault'] = 'Visada prisegti mano viešąjį raktą prie laiško.';
$labels['passwordtime'] = 'Saugoti privačiųjų raktų slaptažodžius';
$labels['nminutes'] = '$m min.';
$labels['wholesession'] = 'visą seanso laiką';
$labels['createkeys'] = 'Kurti naują raktų porą';
$labels['importkeys'] = 'Importuoti raktus';
$labels['exportkeys'] = 'Eksportuoti raktus';
$labels['keyactions'] = 'Raktų veiksmai…';
$labels['keyremove'] = 'Šalinti';
$labels['keydisable'] = 'Išjungti';
$labels['keyrevoke'] = 'Atšaukti';
$labels['keysend'] = 'Siųsti viešąjį raktą kartu su laišku';
$labels['keychpass'] = 'Keisti slaptažodį';
$labels['newkeyident'] = 'Tapatybė:';
$labels['newkeypass'] = 'Slaptažodis:';
$labels['newkeypassconfirm'] = 'Patvirtinkite slaptažodį:';
$labels['newkeysize'] = 'Rakto dydis:';
$labels['key2048'] = '2048 bitai numatytasis';
$labels['key4096'] = '4096 bitai saugesnis';
$labels['keygenerating'] = 'Raktai generuojami…';
$labels['encryptionoptions'] = 'Šifravimo parinktys…';
$labels['encryptmsg'] = 'Šifruoti šį laišką';
$labels['signmsg'] = 'Pasirašyti šį laišką';
$labels['enterkeypasstitle'] = 'Įveskite rakto slaptafrazę';
$labels['enterkeypass'] = 'Naudotojo $user slaptajam raktui ($keyid) atrakinti reikalinga slaptafrazė.';
$labels['arialabelkeyexportoptions'] = 'Raktų eksportavimo parinktys';
$labels['attachpubkeymsg'] = 'Prisegti mano viešąjį raktą';
$labels['keyexportprompt'] = 'Ar norite įkelti privačiuosius raktus, saugojamus OpenPGP raktų faile?';
$labels['onlypubkeys'] = 'Eksportuoti tik viešuosius raktus';
$labels['withprivkeys'] = 'Eksportuoti privačiuosius raktus';
$labels['findkey'] = 'Ieškoti raktų serveryje(-iuose)';
$labels['keyimportlabel'] = 'Importuoti iš failo';
$labels['keyimportsearchlabel'] = 'Ieškoti raktų serveryje(-iuose)';
$messages['sigvalid'] = 'Galiojantis $sender parašas.';
$messages['sigvalidpartial'] = '$sender parašas patvirtintas, bet už dalį laiško nebuvo pasirašyta.';
$messages['siginvalid'] = 'Negaliojantis $sender parašas.';
$messages['sigunverified'] = 'Parašo galiojimas nepatikrintas. Nepatvirtintas liudijimas. Liudijimo ID: $keyid.';
$messages['signokey'] = 'Parašo galiojimas nepatikrintas. Nerastas viešasis raktas. Rakto ID: $keyid.';
$messages['sigerror'] = 'Parašo galiojimas nepatikrintas. Įvyko vidinė klaida.';
$messages['decryptok'] = 'Laiškas iššifruotas.';
$messages['decrypterror'] = 'Iššifruoti nepavyko.';
$messages['decryptnokey'] = 'Iššifruoti nepavyko. Nerastas privatusis raktas. Rakto ID: $keyid.';
$messages['decryptnopass'] = 'Nepavyko dešifruoti, reikalingas rakto slaptažodis.';
$messages['decryptpartial'] = 'Laiškas dešifruotas, nors dalis laiško ir nebuvo užšifruota.';
$messages['signerror'] = 'Pasirašyti nepavyko.';
$messages['signnokey'] = 'Pasirašyti nepavyko. Nerastas privatusis raktas.';
$messages['signnopass'] = 'Nepavyko pasirašyti, reikalingas rakto slaptažodis.';
$messages['encrypterror'] = 'Užšifruoti nepavyko.';
$messages['encryptnokey'] = 'Užšifruoti nepavyko. Nerastas viešasis $email raktas.';
$messages['nokeysfound'] = 'Raktų nerasta';
$messages['keynotfound'] = 'Raktas nerastas!';
$messages['keyopenerror'] = 'Nepavyko gauti rakto duomenų! Įvyko vidinė klaida.';
$messages['keylisterror'] = 'Nepavyko išvardinti raktų! Įvyko vidinė klaida.';
$messages['keysimportfailed'] = 'Nepavyko importuoti rakto (raktų)! Įvyko vidinė klaida.';
$messages['keysimportsuccess'] = 'Raktai importuoti sėkmingai. Nauji raktai: $new, nepakitę: $old.';
$messages['keyremoving'] = 'Raktų šalinimas…';
$messages['keyremoveconfirm'] = 'Ar tikrai norite pašalinti pažymėtus raktus?';
$messages['keyremovesuccess'] = 'Raktai sėkmingai pašalinti';
$messages['keyremoveerror'] = 'Pasirinktų raktų pašalinti nepavyko.';
$messages['keyimporttext'] = 'Galite importuoti „ASCII-Armor“ formato privačiuosius ir viešuosius raktus bei atšaukimo liudijimus.';
$messages['keyimportsearchtext'] = 'Galite ieškoti viešųjų raktų pagal rakto identifikatorių, vartotojo vardą arba el. pašto adresą ir juos tiesiogiai importuoti.';
$messages['formerror'] = 'Prašome užpildyti formą. Visi laukai privalomi!';
$messages['passwordsdiffer'] = 'Slaptažodžiai nesutampa!';
$messages['keygenerateerror'] = 'Nepavyko sugeneruoti raktų poros.';
$messages['keygeneratesuccess'] = 'Raktų pora sėkmingai sugeneruota ir importuota.';
$messages['keygennosupport'] = 'Jūsų naršyklėje kriptografija nepalaikoma. Raktų poros sugeneruoti nepavyko!';
$messages['nonameident'] = 'Tapatybei turi būti nurodytas naudotojo vardas!';
?>

View File

@@ -0,0 +1,112 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Šifrēšana';
$labels['enigmacerts'] = 'S/MIME sertifikāti';
$labels['enigmakeys'] = 'PGP atslēgas';
$labels['keysfromto'] = 'Atslēgas $from līdz $to no $count';
$labels['keyname'] = 'Vārds';
$labels['keyid'] = 'Atslēgas ID';
$labels['keyuserid'] = 'Lietotāja ID';
$labels['keytype'] = 'Atslēgas tips';
$labels['fingerprint'] = 'Pirksta nospiedums';
$labels['subkeys'] = 'Apakšatslēgas';
$labels['basicinfo'] = 'Pamatinformācija';
$labels['userids'] = 'Papildus lietotāji';
$labels['typepublickey'] = 'publiskā atslēga';
$labels['typekeypair'] = 'atslēgu pāris';
$labels['keyattfound'] = 'Šis e-pasts satur pievienotu PGP atslēgu(as);';
$labels['keyattimport'] = 'Importēt atslēgu(as).';
$labels['typesign'] = 'Paraksts';
$labels['typeencrypt'] = 'Šifrēt';
$labels['typecert'] = 'Sertifikāts';
$labels['typeauth'] = 'Autentifikācija';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritms';
$labels['subkeycreated'] = 'Izveidots';
$labels['subkeyexpires'] = 'Termiņš';
$labels['subkeyusage'] = 'Pielietojums';
$labels['expiresnever'] = 'nekad';
$labels['unknown'] = 'neiznāms';
$labels['uservalid'] = 'Derīgs';
$labels['userid'] = 'ID';
$labels['valid'] = 'derīgs';
$labels['supportencryption'] = 'Ieslēgt e-pastu šifrēšanu un parakstīšanu';
$labels['supportsignatures'] = 'Ieslēgt e-pastu parakstu pārbaudi';
$labels['supportdecryption'] = 'Ieslēgt e-pastu atšifrēšanu';
$labels['signdefault'] = 'Pēc noklusējuma parakstīt visus e-pastus';
$labels['encryptdefault'] = 'Pēc noklusējuma šifrēt visas vēstules';
$labels['attachpubkeydefault'] = 'Pēc noklusējuma pievienot manu publisko PGP atslēgu';
$labels['passwordtime'] = 'Saglabāt privāto atslēgu paroles';
$labels['nminutes'] = '$m minūte(s)';
$labels['wholesession'] = 'visai sessijai';
$labels['createkeys'] = 'Izveidot jaunu atslēgu pāri';
$labels['importkeys'] = 'Importēt atslēgu(as).';
$labels['exportkeys'] = 'Eksportēt atslēgu(as)';
$labels['keyactions'] = 'Darbības ar atslēgu ...';
$labels['keyremove'] = 'Dzēst';
$labels['keydisable'] = 'Atspējot';
$labels['keyrevoke'] = 'Atsaukt';
$labels['keysend'] = 'Ar e-pastu sūtīt arī publisko atslēgu';
$labels['keychpass'] = 'Mainīt paroli';
$labels['newkeyident'] = 'Identitāte:';
$labels['newkeypass'] = 'Parole:';
$labels['newkeypassconfirm'] = 'Apstiprināt paroli:';
$labels['newkeysize'] = 'Atslēgas stiprums:';
$labels['key2048'] = '2048 biti - pec noklusējuma';
$labels['key4096'] = '4096 biti - papildus drošība';
$labels['keygenerating'] = 'Ģenerē atslēgas...';
$labels['encryptionoptions'] = 'Šifrēšanas iestatījumi...';
$labels['encryptmsg'] = 'Šifrēt šo e-pastu';
$labels['signmsg'] = 'Digitāli parakstīt šo e-pastu';
$labels['enterkeypasstitle'] = 'Ievadiet atslēgas paroli';
$labels['enterkeypass'] = 'Lai atbloķētu lietotāja $user šifrēto atslēgu ($keyid), ir nepieciešama parole.';
$labels['arialabelkeyexportoptions'] = 'Atslēgu eksportēšanas iestatījumi';
$labels['attachpubkeymsg'] = 'Pievienot manu publisko atslēgu';
$messages['sigvalid'] = 'Pārbaudīts $sender paraksts.';
$messages['sigvalidpartial'] = 'Pārbaudīts $sender paraksts, bet daļa no e-pasta nav parakstīta.';
$messages['siginvalid'] = 'Nederīgs paraksts no $sender.';
$messages['sigunverified'] = 'Nepārbaudīts paraksts. Sertifikāts nav pārbaudīts. Sertifikāta ID: $keyid.';
$messages['signokey'] = 'Nepārbaudīts paraksts. Publiskā atslēga nav atrasta. Atslēgas ID: $keyid.';
$messages['sigerror'] = 'Nepārbaudīts paraksts. Iekšējā kļūda.';
$messages['decryptok'] = 'E-pasts atšifrēts.';
$messages['decrypterror'] = 'Atšifrēšana neizdevās.';
$messages['decryptnokey'] = 'Atšifrēšana neizdevās. Privātā atslēga netika atrasta. Atslēgas ID: $keyid.';
$messages['decryptnopass'] = 'Atšifrēšana neizdevās. Nepieciešama atslēgas parole.';
$messages['decryptpartial'] = 'E-pasts ir atšifrēts, bet daļa no tā nemaz nebija šifrēta.';
$messages['signerror'] = 'Sūtīšana neizdevās.';
$messages['signnokey'] = 'Nosūtīt neizdevās. Nav atrasta privātā atslēga.';
$messages['signnopass'] = 'Nosūtīt neizdevās. Ir nepieciešama atslēgas parole.';
$messages['encrypterror'] = 'Šifrēšana neizdevās.';
$messages['encryptnokey'] = 'Šifrēšana neizdevās. Epastam $email netika atrasta publiskā atslēga.';
$messages['nokeysfound'] = 'Nav atrasta neviena atslēga';
$messages['keyopenerror'] = 'Nav iespējams iegūt atslēgas informāciju! Iekšējā kļūda.';
$messages['keylisterror'] = 'Nav iespējams parādīt atslēgu sarakstu! Iekšējā kļūda.';
$messages['keysimportfailed'] = 'Nav iespējams ieimportēt atslēgu(s)! Iekšējā kļūda.';
$messages['keysimportsuccess'] = 'Atslēgas ieimportētas veiksmīgi. Ieimportēts: $new, nemainīts: $old.';
$messages['keyremoving'] = 'Dzēš atslēgu(as)...';
$messages['keyremoveconfirm'] = 'Vai Jūs esat pārliecināti ka gribat dzēst atzīmētās astlēgas?';
$messages['keyremovesuccess'] = 'Atslēga(s) nodzēsta veiksmīgi.';
$messages['keyremoveerror'] = 'Atzīmēto atslēgu(as) neizdevās nodzēst.';
$messages['keyimporttext'] = 'Jūs varat importēt privātās un publiskās atslēgas vai anulēšanas parakstus ASCII-Armor formātā.';
$messages['formerror'] = 'Lūdzu aipildiet formu. Visi lauki ir obligāti!';
$messages['passwordsdiffer'] = 'Paroles nesakrīt!';
$messages['keygenerateerror'] = 'Neizdevās uzģenerēt atslēgu pāri.';
$messages['keygeneratesuccess'] = 'Atslēgu pāris veiksmīgi uzģenerēts un ieimportēts.';
$messages['keygennosupport'] = 'Nav iespējams uzģenerēt atslēgu pāri, jo Jūsu tīmekļa pārlūks neatbalsta kriptogrāfijas iespējas!';
$messages['nonameident'] = 'Identitātei jābūt ar definētu lietotāja vārdu!';
?>

View File

@@ -0,0 +1,21 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['keyname'] = 'Naam';
$labels['subkeycreated'] = 'Aangemaakt';
$labels['keychpass'] = 'Wijzig wachtwoord';
?>

View File

@@ -0,0 +1,120 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Versleuteling';
$labels['enigmacerts'] = 'S/MIME-certificaten';
$labels['enigmakeys'] = 'PGP-sleutels';
$labels['keysfromto'] = 'Sleutels $from t/m $to van $count';
$labels['keyname'] = 'Naam';
$labels['keyid'] = 'Sleutel-ID';
$labels['keyuserid'] = 'Gebruiker-ID';
$labels['keytype'] = 'Sleuteltype';
$labels['fingerprint'] = 'Vingerafdruk';
$labels['subkeys'] = 'Subsleutels';
$labels['basicinfo'] = 'Algemene informatie';
$labels['userids'] = 'Extra gebruikers';
$labels['typepublickey'] = 'publieke sleutel';
$labels['typekeypair'] = 'sleutelpaar';
$labels['keyattfound'] = 'Dit bericht bevat bijgevoegde PGP-sleutel(s).';
$labels['keyattimport'] = 'Importeer sleutel(s)';
$labels['typesign'] = 'Onderteken';
$labels['typeencrypt'] = 'Versleutel';
$labels['typecert'] = 'Certificeren';
$labels['typeauth'] = 'Authenticatie';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritme';
$labels['subkeycreated'] = 'Aangemaakt';
$labels['subkeyexpires'] = 'Verloopt';
$labels['subkeyusage'] = 'Gebruik';
$labels['expiresnever'] = 'nooit';
$labels['unknown'] = 'onbekend';
$labels['uservalid'] = 'Geldig';
$labels['userid'] = 'ID';
$labels['valid'] = 'geldig';
$labels['supportencryption'] = 'Berichtversleuteling en -ondertekening inschakelen';
$labels['supportsignatures'] = 'Verificatie van berichtondertekening inschakelen';
$labels['supportdecryption'] = 'Berichtontsleuteling inschakelen';
$labels['signdefault'] = 'Onderteken standaard alle berichten';
$labels['encryptdefault'] = 'Versleutel standaard alle berichten';
$labels['attachpubkeydefault'] = 'Voeg mijn publieke PGP-sleutel standaard bij';
$labels['passwordtime'] = 'Onthoud geheime sleutelwachtwoorden voor';
$labels['nminutes'] = '$m minuten';
$labels['wholesession'] = 'de hele sessie';
$labels['createkeys'] = 'Maak een nieuw sleutelpaar aan';
$labels['importkeys'] = 'Importeer sleutel(s)';
$labels['exportkeys'] = 'Exporteer sleutel(s)';
$labels['keyactions'] = 'Sleutelacties...';
$labels['keyremove'] = 'Verwijderen';
$labels['keydisable'] = 'Uitschakelen';
$labels['keyrevoke'] = 'Intrekken';
$labels['keysend'] = 'Verstuur publieke sleutel in een bericht';
$labels['keychpass'] = 'Wijzig wachtwoord';
$labels['newkeyident'] = 'Identiteit:';
$labels['newkeypass'] = 'Wachtwoord:';
$labels['newkeypassconfirm'] = 'Bevestig wachtwoord:';
$labels['newkeysize'] = 'Sleutelgrootte:';
$labels['key2048'] = '2048 bits - standaard';
$labels['key4096'] = '4096 bits - veiliger';
$labels['keygenerating'] = 'Sleutels genereren...';
$labels['encryptionoptions'] = 'Versleutelingsopties...';
$labels['encryptmsg'] = 'Versleutel dit bericht';
$labels['signmsg'] = 'Onderteken dit bericht digitaal';
$labels['enterkeypasstitle'] = 'Voer sleutelwachtwoord in';
$labels['enterkeypass'] = 'Een wachtwoord is vereist om de geheime sleutel ($keyid) te openen voor gebruiker: $user.';
$labels['arialabelkeyexportoptions'] = 'Opties voor sleutels exporteren';
$labels['attachpubkeymsg'] = 'Voeg mijn publieke sleutel bij';
$labels['keyexportprompt'] = 'Wilt u geheime sleutels bewaren in het opgeslagen OpenPGP-sleutelbestand?';
$labels['onlypubkeys'] = 'Alleen publieke sleutels exporteren';
$labels['withprivkeys'] = 'Geheime sleutels exporteren';
$labels['findkey'] = 'Zoek op keyserver(s)';
$labels['keyimportlabel'] = 'Importeer van bestand';
$labels['keyimportsearchlabel'] = 'Zoek op keyserver(s)';
$messages['sigvalid'] = 'Ondertekening van $sender geverifieerd.';
$messages['sigvalidpartial'] = 'Ondertekening van $sender geverifieerd, maar een deel van de inhoud was niet ondertekend.';
$messages['siginvalid'] = 'Ongeldige ondertekening van $sender.';
$messages['sigunverified'] = 'Niet-geverifieerde ondertekening. Certificaat niet geverifieerd. Certificaat-ID: $keyid.';
$messages['signokey'] = 'Niet-geverifieerde ondertekening. Publieke sleutel niet gevonden. Sleutel-ID: $keyid.';
$messages['sigerror'] = 'Niet-geverifieerde ondertekening. Interne fout.';
$messages['decryptok'] = 'Bericht ontsleuteld.';
$messages['decrypterror'] = 'Ontsleutelen mislukt.';
$messages['decryptnokey'] = 'Ontsleutelen mislukt. Geheime sleutel niet gevonden. Sleutel-ID: $keyid.';
$messages['decryptnopass'] = 'Ontsleutelen mislukt. Sleutelwachtwoord vereist.';
$messages['decryptpartial'] = 'Bericht ontsleuteld, maar een deel van de inhoud was niet versleuteld.';
$messages['signerror'] = 'Ondertekenen mislukt.';
$messages['signnokey'] = 'Ondertekenen mislukt. Geheime sleutel niet gevonden.';
$messages['signnopass'] = 'Ondertekenen mislukt. Sleutelwachtwoord vereist.';
$messages['encrypterror'] = 'Versleutelen mislukt.';
$messages['encryptnokey'] = 'Onsleutelen mislukt. Publieke sleutel niet gevonden voor $email.';
$messages['nokeysfound'] = 'Geen sleutels gevonden';
$messages['keynotfound'] = 'Sleutel niet gevonden';
$messages['keyopenerror'] = 'Sleutelinformatie kan niet worden opgehaald! Interne fout.';
$messages['keylisterror'] = 'Sleutels kunnen niet worden weergegeven! Interne fout.';
$messages['keysimportfailed'] = 'Sleutel(s) kunnen niet worden geïmporteerd! Interne fout.';
$messages['keysimportsuccess'] = 'Sleutel(s) succesvol geïmporteerd. Geïmporteerd: $new, ongewijzigd: $old.';
$messages['keyremoving'] = 'Sleutel(s) verwijderen...';
$messages['keyremoveconfirm'] = 'Weet u zeker dat u de geselecteerde sleutel(s) wilt verwijderen?';
$messages['keyremovesuccess'] = 'Sleutel(s) succesvol verwijderd';
$messages['keyremoveerror'] = 'Geselecteerde sleutel(s) kunnen niet worden verwijderd.';
$messages['keyimporttext'] = 'U kunt geheime en publieke sleutel(s) of intrek-ondertekeningen importeren in ASCII-Armor formaat.';
$messages['keyimportsearchtext'] = 'U kunt naar publieke sleutels zoeken op basis van sleutel identifier, gebruikersnaam of e-mailadres en ze vervolgens direct importeren.';
$messages['formerror'] = 'Vul alstublieft het formulier in. Alle velden zijn vereist!';
$messages['passwordsdiffer'] = 'Wachtwoorden komen niet overeen!';
$messages['keygenerateerror'] = 'Genereren van een sleutelpaar is mislukt';
$messages['keygeneratesuccess'] = 'Een sleutelpaar is succesvol gegenereerd en geïmporteerd.';
$messages['keygennosupport'] = 'Uw webbrowser ondersteunt geen cryptografie. Sleutelpaar genereren is mislukt!';
$messages['nonameident'] = 'Identiteit moet een gebruikersnaam hebben!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Szyfrowanie';
$labels['enigmacerts'] = 'Certyfikaty S/MIME';
$labels['enigmakeys'] = 'Klucze PGP';
$labels['keysfromto'] = 'Klucze od $from do $to z $count';
$labels['keyname'] = 'Nazwa';
$labels['keyid'] = 'Id klucza';
$labels['keyuserid'] = 'Id użytkownika';
$labels['keytype'] = 'Typ klucza';
$labels['fingerprint'] = 'Odcisk palca';
$labels['subkeys'] = 'Podklucze';
$labels['basicinfo'] = 'Informacje podstawowe';
$labels['userids'] = 'Dodatkowi użytkownicy';
$labels['typepublickey'] = 'klucz publiczny';
$labels['typekeypair'] = 'para kluczy';
$labels['keyattfound'] = 'Ta wiadomość zawiera załączone klucze PGP.';
$labels['keyattimport'] = 'Importuj klucz(e)';
$labels['typesign'] = 'Podpisz';
$labels['typeencrypt'] = 'Szyfruj';
$labels['typecert'] = 'Certyfikuj';
$labels['typeauth'] = 'Uwierzytelnianie';
$labels['subkeyid'] = 'Id';
$labels['subkeyalgo'] = 'Algorytm';
$labels['subkeycreated'] = 'Utworzony';
$labels['subkeyexpires'] = 'Wygasa';
$labels['subkeyusage'] = 'Zastosowanie';
$labels['expiresnever'] = 'nigdy';
$labels['unknown'] = 'nieznany';
$labels['uservalid'] = 'Ważny';
$labels['userid'] = 'Id';
$labels['valid'] = 'ważny';
$labels['supportencryption'] = 'Włącz szyfrowanie i podpisywanie wiadomości';
$labels['supportsignatures'] = 'Włącz weryfikację podpisów wiadomości';
$labels['supportdecryption'] = 'Włącz rozszyfrowywanie wiadomości';
$labels['signdefault'] = 'Domyślnie podpisuj wiadomości';
$labels['encryptdefault'] = 'Domyślnie szyfruj wiadomości';
$labels['attachpubkeydefault'] = 'Zawsze załączaj mój klucz publiczny PGP';
$labels['passwordtime'] = 'Przechowuj hasła kluczy prywatnych przez';
$labels['nminutes'] = '$m minut';
$labels['wholesession'] = 'cała sesja';
$labels['createkeys'] = 'Utwórz nową parę kluczy';
$labels['importkeys'] = 'Importuj klucz(e)';
$labels['exportkeys'] = 'Eksportuj klucz(e)';
$labels['keyactions'] = 'Akcje kluczy...';
$labels['keyremove'] = 'Usuń';
$labels['keydisable'] = 'Wyłącz';
$labels['keyrevoke'] = 'Unieważnij';
$labels['keysend'] = 'Wyślij klucz publiczny w wiadomości';
$labels['keychpass'] = 'Zmień hasło';
$labels['newkeyident'] = 'Tożsamość:';
$labels['newkeypass'] = 'Hasło:';
$labels['newkeypassconfirm'] = 'Potwierdź hasło:';
$labels['newkeysize'] = 'Rozmiar klucza:';
$labels['key2048'] = '2048 bitów - domyślnie';
$labels['key4096'] = '4096 bitów - bardziej bezpiecznie';
$labels['keygenerating'] = 'Generowanie kluczy...';
$labels['encryptionoptions'] = 'Opcje szyfrowania...';
$labels['encryptmsg'] = 'Szyfruj wiadomość';
$labels['signmsg'] = 'Podpisz wiadomość';
$labels['enterkeypasstitle'] = 'Wprowadź hasło klucza';
$labels['enterkeypass'] = 'Wymagane jest hasło do klucza ($keyid) użytkownika: $user.';
$labels['arialabelkeyexportoptions'] = 'Opcje eksportu kluczy';
$labels['attachpubkeymsg'] = 'Załącz mój klucz publiczny';
$labels['keyexportprompt'] = 'Czy chcesz dołączyć klucze prywatne do utworzonego pliku kluczy PGP?';
$labels['onlypubkeys'] = 'Eksportuj tylko klucze publiczne';
$labels['withprivkeys'] = 'Eksportuj klucze prywatne';
$labels['findkey'] = 'Wyszukaj na serwerach kluczy';
$labels['keyimportlabel'] = 'Import z pliku';
$labels['keyimportsearchlabel'] = 'Wyszukiwanie na serwerach kluczy';
$messages['sigvalid'] = 'Zweryfikowany podpis nadawcy $sender.';
$messages['sigvalidpartial'] = 'Zweryfikowany podpis od $sender, ale część wiadomości nie została podpisana.';
$messages['siginvalid'] = 'Błędny podpis nadawcy $sender.';
$messages['sigunverified'] = 'Podpis niezweryfikowany. Certyfikat niezweryfikowany. ID certyfikatu: $keyid.';
$messages['signokey'] = 'Podpis niezweryfikowany. Brak klucza publicznego. ID klucza: $keyid.';
$messages['sigerror'] = 'Podpis niezweryfikowany. Błąd wewnętrzny.';
$messages['decryptok'] = 'Wiadomość odszyfrowana.';
$messages['decrypterror'] = 'Nie udało się odszyfrować wiadomości.';
$messages['decryptnokey'] = 'Odszyfrowanie nie powiodło się. Brak klucza prywatnego. ID klucza: $keyid.';
$messages['decryptnopass'] = 'Odszyfrowanie nie powiodło się. Hasło jest wymagane.';
$messages['decryptpartial'] = 'Wiadomość odszyfrowana, ale jej część nie była zaszyfrowana.';
$messages['signerror'] = 'Błąd podpisywania.';
$messages['signnokey'] = 'Błąd podpisywania. Nie znaleziono klucza prywatnego.';
$messages['signnopass'] = 'Błąd podpisywania. Wymagane hasło klucza.';
$messages['encrypterror'] = 'Błąd szyfrowania.';
$messages['encryptnokey'] = 'Błąd szyfrowania. Nie znaleziono klucza publicznego dla $email.';
$messages['nokeysfound'] = 'Nie znaleziono kluczy';
$messages['keynotfound'] = 'Nie znaleziono klucza!';
$messages['keyopenerror'] = 'Nie można odczytać informacji o kluczu! Błąd wewnętrzny.';
$messages['keylisterror'] = 'Nie można odczytać listy kluczy! Błąd wewnętrzny.';
$messages['keysimportfailed'] = 'Nie można zapisać kluczy! Błąd wewnętrzny.';
$messages['keysimportsuccess'] = 'Klucze zostały zapisane. Dodane: $new, bez zmian: $old.';
$messages['keyremoving'] = 'Usuwanie kluczy...';
$messages['keyremoveconfirm'] = 'Czy na pewno chcesz usunąć wybrane klucze?';
$messages['keyremovesuccess'] = 'Klucze zostały usunięte.';
$messages['keyremoveerror'] = 'Nie można usunąć wybranych kluczy.';
$messages['keyimporttext'] = 'Możesz zaimportować klucze prywatne i publiczne oraz sygnatury unieważniające w formacie ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Możesz wyszukiwać przy użyciu identyfikatora klucza, nazwy użytkownika lub adresu email, a następnie bezpośrednio zaimportować wyszukane klucze.';
$messages['formerror'] = 'Proszę wypełnić formularz. Wszystkie pola są wymagane!';
$messages['passwordsdiffer'] = 'Hasła nie pasują!';
$messages['keygenerateerror'] = 'Generowanie pary kluczy nie powiodło się';
$messages['keygeneratesuccess'] = 'Para kluczy została zapisana.';
$messages['keygennosupport'] = 'Twoja przeglądarka nie obsługuje kryptografii. Nie można wygenerować kluczy!';
$messages['noidentselected'] = 'Należy wybrać przynajmniej jedną tożsamość!';
$messages['nonameident'] = 'Tożsamość musi zawierać nazwę użytkownika!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Criptografação';
$labels['enigmacerts'] = 'Certificados S/MIME';
$labels['enigmakeys'] = 'Chaves PGP';
$labels['keysfromto'] = ' $count chaves de $from para $to';
$labels['keyname'] = 'Nome';
$labels['keyid'] = 'ID da chave';
$labels['keyuserid'] = 'ID do usuário';
$labels['keytype'] = 'Tipo de chave';
$labels['fingerprint'] = 'Autenticação digital';
$labels['subkeys'] = 'Subchaves';
$labels['basicinfo'] = 'Informação básica';
$labels['userids'] = 'Usuários adicionais';
$labels['typepublickey'] = 'chave pública';
$labels['typekeypair'] = 'par de chave';
$labels['keyattfound'] = 'Essa mensagem contém chave(s) PGP em anexo.';
$labels['keyattimport'] = 'Importa chave(s)';
$labels['typesign'] = 'Assinatura';
$labels['typeencrypt'] = 'Criptografar';
$labels['typecert'] = 'Certificado';
$labels['typeauth'] = 'Autenticação';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritimo';
$labels['subkeycreated'] = 'Criado';
$labels['subkeyexpires'] = 'Expira';
$labels['subkeyusage'] = 'Uso';
$labels['expiresnever'] = 'nunca';
$labels['unknown'] = 'desconhecido';
$labels['uservalid'] = 'Válido';
$labels['userid'] = 'ID';
$labels['valid'] = 'válido';
$labels['supportencryption'] = 'Habilitar mensagens criptografadas e assinaturas';
$labels['supportsignatures'] = 'Habilitar verificação de mensagens assinadas';
$labels['supportdecryption'] = 'habilita descriptografia de mensagens';
$labels['signdefault'] = 'Assinar todas as mensagens por padrão';
$labels['encryptdefault'] = 'Criptografar todas as mensagens por padrão';
$labels['attachpubkeydefault'] = 'Anexar minha chave PGP pública';
$labels['passwordtime'] = 'Mantenha senhas de chave privada para';
$labels['nminutes'] = '$m minuto(s)';
$labels['wholesession'] = 'toda a sessão';
$labels['createkeys'] = 'Criar novo par de chaves';
$labels['importkeys'] = 'importar chave(s)';
$labels['exportkeys'] = 'Exportar chave(s)';
$labels['keyactions'] = 'Principais ações ...';
$labels['keyremove'] = 'Remover';
$labels['keydisable'] = 'Desabilitar';
$labels['keyrevoke'] = 'Revogar';
$labels['keysend'] = 'Mandar chave pública em uma mensagem';
$labels['keychpass'] = 'Trocar senha';
$labels['newkeyident'] = 'identificação:';
$labels['newkeypass'] = 'Senha:';
$labels['newkeypassconfirm'] = 'Confirmar senha:';
$labels['newkeysize'] = 'Tamanho da chave:';
$labels['key2048'] = '2048 bits - padrão';
$labels['key4096'] = '4096 bits - maise seguro';
$labels['keygenerating'] = 'Gerando chaves...';
$labels['encryptionoptions'] = 'Opções de criptografia...';
$labels['encryptmsg'] = 'Criptografar essa mensagem';
$labels['signmsg'] = 'Assinar digitalmente essa mensagem';
$labels['enterkeypasstitle'] = 'Digite a frase secreta da chave';
$labels['enterkeypass'] = 'Uma frase secreta é necessária para desbloquear a chave ($keyid) para o usuário: $user.';
$labels['arialabelkeyexportoptions'] = 'Opções de exportação das chaves';
$labels['attachpubkeymsg'] = 'Anexar minha chave pública';
$labels['keyexportprompt'] = 'Deseja incluir chaves secretas no arquivo de chaves OpenPGP salva?';
$labels['onlypubkeys'] = 'Exportar somente Chaves Públicas';
$labels['withprivkeys'] = 'Exportar Chaves Secretas';
$labels['findkey'] = 'Procurar no(s) servidor(es) de chaves';
$labels['keyimportlabel'] = 'Importar do arquivo';
$labels['keyimportsearchlabel'] = 'Procurar no(s) servidor(es) de chaves';
$messages['sigvalid'] = 'Verificar assinatura de $sender.';
$messages['sigvalidpartial'] = 'Verificar assinatura de $sender, mas parte do corpo não foi assinada.';
$messages['siginvalid'] = 'Assinatura inválida de $sender.';
$messages['sigunverified'] = 'Assinatura não verificada. Certificado não verificado. Certificado de ID: $keyid.';
$messages['signokey'] = 'Assinatura não verificada. Chave pública não encontrada. Chave de ID: $keyid.';
$messages['sigerror'] = 'Assinatura não verificada. Erro interno.';
$messages['decryptok'] = 'Mensagem descriptografada';
$messages['decrypterror'] = 'Falha ao descriptografar.';
$messages['decryptnokey'] = 'Falha ao descriptografar. Chave privada não encontrada. Chave de ID: $keyid.';
$messages['decryptnopass'] = 'Falha ao descriptografar. Senha chave requerida.';
$messages['decryptpartial'] = 'Mensagem descriptografada, mas parte do corpo não foi encriptado.';
$messages['signerror'] = 'Assinatura falhou.';
$messages['signnokey'] = 'Assinatura falhou. Chave privada não encontrada.';
$messages['signnopass'] = 'Assinatura falhou. Senha chave requerida.';
$messages['encrypterror'] = 'Falha ao criptografar.';
$messages['encryptnokey'] = 'Falha ao criptografar. Chave pública não encontrada para $email.';
$messages['nokeysfound'] = 'Nenhuma chave encontrada';
$messages['keynotfound'] = 'Chave não encontrada!';
$messages['keyopenerror'] = 'Não é possível obter informações da chave! Erro interno.';
$messages['keylisterror'] = 'Não é possível listar as chaves! Erro interno.';
$messages['keysimportfailed'] = 'Não é possível importar chave(s)! Erro interno.';
$messages['keysimportsuccess'] = 'Chave(s) importada(s) com sucesso. Importado: $new, mantido: $old.';
$messages['keyremoving'] = 'Removendo chave(s)...';
$messages['keyremoveconfirm'] = 'Tem a certeza, de que deseja excluir a seleção de chave(s)?';
$messages['keyremovesuccess'] = 'Chave(s) deletada com sucvesso';
$messages['keyremoveerror'] = 'Não é possível excluir a seleção de chave(s).';
$messages['keyimporttext'] = 'Você pode importar chaves privadas e publicas ou assinaturas de revogação em formato ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Você pode procurar por chaves públicas pelo identificador de chaves, nome do usuário ou e-mail, e então importá-las diretamente.';
$messages['formerror'] = 'Por favor, preencha o formulário. Todos os campos são necessários!';
$messages['passwordsdiffer'] = 'Senhas não conferem!';
$messages['keygenerateerror'] = 'Falha ao gerar um par de chaves';
$messages['keygeneratesuccess'] = 'Um par de chaves foi gerado e importado com sucesso.';
$messages['keygennosupport'] = 'Seu navegador não suporta criptografia. Não é possível gerar um par de chaves!';
$messages['noidentselected'] = 'Você tem que selecionar ao menos uma identidade para a chave!';
$messages['nonameident'] = 'A identificação deve ter um nome de usuário definido!';
?>

View File

@@ -0,0 +1,123 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Encriptação';
$labels['enigmacerts'] = 'Certificados S/MIME';
$labels['enigmakeys'] = 'Chaves PGP';
$labels['keysfromto'] = 'Chave de $from a $to de $count';
$labels['keyname'] = 'Nome';
$labels['keyid'] = 'ID da Chave';
$labels['keyuserid'] = 'ID do Utilizador';
$labels['keytype'] = 'Tipo de chave';
$labels['fingerprint'] = 'Impressão digital';
$labels['subkeys'] = 'Sub-chaves';
$labels['basicinfo'] = 'Informação básica';
$labels['userids'] = 'Utilizadores adicionais';
$labels['typepublickey'] = 'chave publica';
$labels['typekeypair'] = 'par de chaves';
$labels['keyattfound'] = 'Esta mensagem contém chave(s) PGP anexada(s).';
$labels['keyattimport'] = 'Importar chave(s)';
$labels['typesign'] = 'Assinar';
$labels['typeencrypt'] = 'Encriptar';
$labels['typecert'] = 'Certificar';
$labels['typeauth'] = 'Autenticação';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmo';
$labels['subkeycreated'] = 'Criado';
$labels['subkeyexpires'] = 'Expira';
$labels['subkeyusage'] = 'Uso';
$labels['expiresnever'] = 'nunca';
$labels['unknown'] = 'desconhecido';
$labels['uservalid'] = 'Válido';
$labels['userid'] = 'ID';
$labels['valid'] = 'válido';
$labels['supportencryption'] = 'Activar a encriptação de mensagens e assinatura';
$labels['supportsignatures'] = 'Activar a verificação de assinaturas de mensagens';
$labels['supportdecryption'] = 'Activar desencriptação de mensagem';
$labels['signdefault'] = 'Assinar todas as mensagens por defeito';
$labels['encryptdefault'] = 'Encriptar todas as mensagens por defeito';
$labels['attachpubkeydefault'] = 'Anexar a minha chave pública PGP por defeito';
$labels['passwordtime'] = 'Manter palavras-passe de chave privada para';
$labels['nminutes'] = '$m minuto(s)';
$labels['wholesession'] = 'toda a sessão';
$labels['createkeys'] = 'Criar um novo par de chaves';
$labels['importkeys'] = 'Importar chave(s)';
$labels['exportkeys'] = 'Exportar chave(s)';
$labels['keyactions'] = 'Acções das chaves...';
$labels['keyremove'] = 'Remover';
$labels['keydisable'] = 'Desactivar';
$labels['keyrevoke'] = 'Revogar';
$labels['keysend'] = 'Enviar chave pública numa mensagem';
$labels['keychpass'] = 'Alterar palavra-passe';
$labels['newkeyident'] = 'Identidade:';
$labels['newkeypass'] = 'Palavra-passe:';
$labels['newkeypassconfirm'] = 'Confirmar palavra-passe:';
$labels['newkeysize'] = 'Tamanho da chave:';
$labels['key2048'] = '2048 bits - predefinição';
$labels['key4096'] = '4096 bits - mais seguro';
$labels['keygenerating'] = 'A gerar chaves...';
$labels['encryptionoptions'] = 'Opções de encriptação...';
$labels['encryptmsg'] = 'Encriptar esta mensagem';
$labels['signmsg'] = 'Assinar digitalmente esta mensagem';
$labels['enterkeypasstitle'] = 'Digite chave de frase de acesso';
$labels['enterkeypass'] = 'É necessária uma frase de acesso para desbloquear a chave secreta ($keyid) do utilizador: $user.';
$labels['arialabelkeyexportoptions'] = 'Opções de exportação de chaves';
$labels['attachpubkeymsg'] = 'Anexar a minha chave pública';
$labels['keyexportprompt'] = 'Deseja incluir as chaves secretas no ficheiro, guardado, de chaves OpenPGP?';
$labels['onlypubkeys'] = 'Exportar apenas Chaves Públicas';
$labels['withprivkeys'] = 'Exportar chaves secretas';
$labels['findkey'] = 'Pesquisar no(s) servidor(es) de chaves';
$labels['keyimportlabel'] = 'Importar do ficheiro';
$labels['keyimportsearchlabel'] = 'Pesquisar no(s) servidor(es) de chaves';
$messages['sigvalid'] = 'Assinatura verificada de $sender.';
$messages['sigvalidpartial'] = 'Assinatura verificada a partir de $sender, mas parte do corpo não foi assinado.';
$messages['siginvalid'] = 'Assinatura inválida de $sender.';
$messages['sigunverified'] = 'Assinatura não verificada. Certificado não verificado. ID do certificado: $keyid.';
$messages['signokey'] = 'Assinatura não verificada. Chave pública não encontrada. ID da chave: $keyid.';
$messages['sigerror'] = 'Assinatura não verificada. Erro interno.';
$messages['decryptok'] = 'Mensagem desencriptada.';
$messages['decrypterror'] = 'A desencriptação falhou.';
$messages['decryptnokey'] = 'A desencriptação falhou. Chave privada não encontrada. ID da chave: $keyid.';
$messages['decryptbadpass'] = 'A desencriptação falhou. Palavra-passe inválida.';
$messages['decryptnopass'] = 'A desencriptação falhou. Chave necessária.';
$messages['decryptpartial'] = 'Mensagem desencriptada, mas parte do corpo não foi encriptado.';
$messages['signerror'] = 'A assinatura falhou.';
$messages['signnokey'] = 'A assinatura falhou. Chave privada não encontrada.';
$messages['signbadpass'] = 'A assinatura falhou. Palavra-passe inválida.';
$messages['signnopass'] = 'A assinatura falhou. Chave necessária.';
$messages['encrypterror'] = 'A encriptação falhou.';
$messages['encryptnokey'] = 'A encriptação falhou. Chave pública não encontrada para $email.';
$messages['nokeysfound'] = 'Não foram encontradas chaves';
$messages['keynotfound'] = 'Chave não encontrada!';
$messages['keyopenerror'] = 'Não foi possível obter informações sobre a chave! Erro interno.';
$messages['keylisterror'] = 'Não foi possível listar as chaves! Erro interno.';
$messages['keysimportfailed'] = 'Não foi possível importar a(s) chave(s)! Erro interno.';
$messages['keysimportsuccess'] = 'Chave(s) importada(s) com sucesso. Importada: $new, inalterada: $old.';
$messages['keyremoving'] = 'A remover chave(s)...';
$messages['keyremoveconfirm'] = 'Tem a certeza que pretende eliminar a(s) chave(s) selecionada(s)?';
$messages['keyremovesuccess'] = 'Chave(s) eliminada(s) com sucesso.';
$messages['keyremoveerror'] = 'Não foi possível eliminar a(s) chave(s) selecionada(s).';
$messages['keyimporttext'] = 'Pode importar chaves privadas e públicas ou de revogação de assinaturas em formato ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Pode procurar por chaves públicas através de identificadores de chave, nome de utilizador ou endereço de e-mail e, em seguida, importá-las directamente.';
$messages['formerror'] = 'Por favor, preencha o formulário. Todos os campos são obrigatórios!';
$messages['passwordsdiffer'] = 'As palavras-passe não coincidem!';
$messages['keygenerateerror'] = 'Falha ao gerar o par de chaves';
$messages['keygeneratesuccess'] = 'Foi gerado e importado, com sucesso, um par de chaves.';
$messages['keygennosupport'] = 'O seu navegador não suporta criptografia. Não foi possível gerar um par de chaves!';
$messages['noidentselected'] = 'Tem de seleccionar pelo menos uma identidade para a chave!';
$messages['nonameident'] = 'A identidade deve ter um nome de utilizador definido!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Шифрование';
$labels['enigmacerts'] = 'Сертификаты S/MIME';
$labels['enigmakeys'] = 'Ключи PGP';
$labels['keysfromto'] = 'Ключи с $from по $to из $count';
$labels['keyname'] = 'Имя';
$labels['keyid'] = 'ID ключа';
$labels['keyuserid'] = 'ID пользователя';
$labels['keytype'] = 'Тип ключа';
$labels['fingerprint'] = 'Отпечаток';
$labels['subkeys'] = 'Подключи';
$labels['basicinfo'] = 'Базовая информация';
$labels['userids'] = 'Дополнительные ключи';
$labels['typepublickey'] = 'открытый ключ';
$labels['typekeypair'] = 'пара ключей';
$labels['keyattfound'] = 'Это сообщение содержит прикреплённый(е) PGP ключ(и).';
$labels['keyattimport'] = 'Импортировать ключ(и)';
$labels['typesign'] = 'Подписать';
$labels['typeencrypt'] = 'Зашифровать';
$labels['typecert'] = 'Удостоверить';
$labels['typeauth'] = 'Аутентификация';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Алгоритм';
$labels['subkeycreated'] = 'Создан';
$labels['subkeyexpires'] = 'Срок действия';
$labels['subkeyusage'] = 'Использование';
$labels['expiresnever'] = 'никогда';
$labels['unknown'] = 'неизвестно';
$labels['uservalid'] = 'Действительный';
$labels['userid'] = 'ID';
$labels['valid'] = 'действительный';
$labels['supportencryption'] = 'Включить шифрование и подписание сообщений';
$labels['supportsignatures'] = 'Включить проверку подписанных сообщений';
$labels['supportdecryption'] = 'Включить расшифровывание сообщений';
$labels['signdefault'] = 'Подписывать все сообщения по умолчанию';
$labels['encryptdefault'] = 'Шифровать все сообщения по умолчанию';
$labels['attachpubkeydefault'] = 'Прикрепить мой открытый ключ по умолчанию';
$labels['passwordtime'] = 'Хранить пароль закрытого ключа';
$labels['nminutes'] = '$m минут(ы)';
$labels['wholesession'] = 'весь сеанс';
$labels['createkeys'] = 'Создать новую пару ключей';
$labels['importkeys'] = 'Импортировать ключ(и)';
$labels['exportkeys'] = 'Экспортировать ключ(и)';
$labels['keyactions'] = 'Действия с ключами...';
$labels['keyremove'] = 'Удалить';
$labels['keydisable'] = 'Отключить';
$labels['keyrevoke'] = 'Отозвать';
$labels['keysend'] = 'Отправить открытый ключ в сообщении';
$labels['keychpass'] = 'Изменить пароль';
$labels['newkeyident'] = 'Профиль:';
$labels['newkeypass'] = 'Пароль:';
$labels['newkeypassconfirm'] = 'Подтвердите пароль:';
$labels['newkeysize'] = 'Размер ключа:';
$labels['key2048'] = '2048 бит - по умолчанию';
$labels['key4096'] = '4096 бит - более безопасный';
$labels['keygenerating'] = 'Создание ключей...';
$labels['encryptionoptions'] = 'Настройки шифрования...';
$labels['encryptmsg'] = 'Зашифровать это сообщение';
$labels['signmsg'] = 'Подписать это сообщение';
$labels['enterkeypasstitle'] = 'Введите фразу-пароль ключа';
$labels['enterkeypass'] = 'Фраза-пароль нужна для разблокировки секретного ключа ($keyid) пользователя: $user.';
$labels['arialabelkeyexportoptions'] = 'Параметры экспорта ключей';
$labels['attachpubkeymsg'] = 'Прикрепить мой открытый ключ';
$labels['keyexportprompt'] = 'Вы хотите включить закрытые ключи в файл сохранения ключей OpenPGP?';
$labels['onlypubkeys'] = 'Экспортировать только открытые ключи';
$labels['withprivkeys'] = 'Экспортировать закрытые ключи';
$labels['findkey'] = 'Поиск на сервере(-ах) ключей';
$labels['keyimportlabel'] = 'Импортировать из файла';
$labels['keyimportsearchlabel'] = 'Поиск на сервере(-ах) ключей';
$messages['sigvalid'] = 'Проверенная подпись $sender.';
$messages['sigvalidpartial'] = 'Проверенная подпись $sender, но часть сообщения не подписана.';
$messages['siginvalid'] = 'Недействительная подпись $sender.';
$messages['sigunverified'] = 'Непроверенная подпись. Сертификат не проверен. ID сертификата: $keyid.';
$messages['signokey'] = 'Непроверенная подпись. Открытый ключ не найден. ID ключа: $keyid.';
$messages['sigerror'] = 'Непроверенная подпись. Внутренняя ошибка.';
$messages['decryptok'] = 'Сообщение расшифровано.';
$messages['decrypterror'] = 'Сбой расшифровки.';
$messages['decryptnokey'] = 'Сбой расшифровки. Закрытый ключ не найден. ID ключа: $keyid.';
$messages['decryptnopass'] = 'Сбой расшифровки. Требуется ключ пароля.';
$messages['decryptpartial'] = 'Сообщение расшифровано, но часть сообщения не была зашифрована.';
$messages['signerror'] = 'Сбой подписания.';
$messages['signnokey'] = 'Сбой подписания. Закрытый ключ не найден.';
$messages['signnopass'] = 'Сбой подписания. Требуется ключ пароля.';
$messages['encrypterror'] = 'Сбой шифрования.';
$messages['encryptnokey'] = 'Сбой шифрования. Не найден открытый ключ для $email.';
$messages['nokeysfound'] = 'Ключи не найдены';
$messages['keynotfound'] = 'Ключ не найден!';
$messages['keyopenerror'] = 'Невозможно получить информацию о ключе! Внутренняя ошибка.';
$messages['keylisterror'] = 'Невозможно составить список ключей! Внутренняя ошибка.';
$messages['keysimportfailed'] = 'Невозможно импортировать ключ(и)! Внутренняя ошибка.';
$messages['keysimportsuccess'] = 'Ключ(и) успешно импортирован(ы) . Импортировано: $new, без изменений: $old.';
$messages['keyremoving'] = 'Удаление ключа(ей)...';
$messages['keyremoveconfirm'] = 'Вы уверенны, что хотите удалить выделенный(е) ключ(и)?';
$messages['keyremovesuccess'] = 'Ключ(и) успешно удален(ы)';
$messages['keyremoveerror'] = 'Невозможно удалить выделенный(е) ключ(и).';
$messages['keyimporttext'] = 'Вы можете импортировать закрытый и открытый ключ(и) или подписи отзыва в формате ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Вы можете искать открытые ключи по идентификатору ключа, имени пользователя или адресу электронной почты, а затем импортировать их напрямую.';
$messages['formerror'] = 'Заполните форму. Все поля обязательны!';
$messages['passwordsdiffer'] = 'Пароли не совпадают!';
$messages['keygenerateerror'] = 'Не удалось создать пару ключей';
$messages['keygeneratesuccess'] = 'Пара ключей создана и успешно импортирована.';
$messages['keygennosupport'] = 'Ваш браузер не поддерживает шифрование. Невозможно создать пару ключей!';
$messages['noidentselected'] = 'Вы должны выбрать по крайней мере один профиль для ключа!';
$messages['nonameident'] = 'У профиля должно быть определено имя пользователя!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Šifrovanie';
$labels['enigmacerts'] = 'Certifikáty S/MIME';
$labels['enigmakeys'] = 'Kľúče PGP';
$labels['keysfromto'] = 'Kľúče $from až $to z počtu: $count';
$labels['keyname'] = 'Názov';
$labels['keyid'] = 'ID kľúča';
$labels['keyuserid'] = 'ID používateľa';
$labels['keytype'] = 'Typ kľúča';
$labels['fingerprint'] = 'Odtlačok';
$labels['subkeys'] = 'Podradené kľúče';
$labels['basicinfo'] = 'Základná informácia';
$labels['userids'] = 'Ďalší používatelia';
$labels['typepublickey'] = 'verejný kľúč';
$labels['typekeypair'] = 'pár kľúčov';
$labels['keyattfound'] = 'Táto správa obsahuje priložené kľúče PGP.';
$labels['keyattimport'] = 'Importovať kľúč(e)';
$labels['typesign'] = 'Podpísať';
$labels['typeencrypt'] = 'Zašifrovať';
$labels['typecert'] = 'Certifikovať';
$labels['typeauth'] = 'Autentifikácia';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritmus';
$labels['subkeycreated'] = 'Vytvorené';
$labels['subkeyexpires'] = 'Expiruje';
$labels['subkeyusage'] = 'Využitie';
$labels['expiresnever'] = 'nikdy';
$labels['unknown'] = 'neznáme';
$labels['uservalid'] = 'Platné';
$labels['userid'] = 'ID';
$labels['valid'] = 'platné';
$labels['supportencryption'] = 'Zapnúť šifrovanie a podpisovanie správ';
$labels['supportsignatures'] = 'Zapnúť overovanie podpisov v správe';
$labels['supportdecryption'] = 'Zapnúť dešifrovanie správ';
$labels['signdefault'] = 'Predvolene podpisovať všetky správy';
$labels['encryptdefault'] = 'Predvolene šifrovať všetky správy';
$labels['attachpubkeydefault'] = 'Predvolene pripájať môj verejný PGP kľúč';
$labels['passwordtime'] = 'Uchovávať heslá súkromného kľúča počas';
$labels['nminutes'] = '$m minút/minúty';
$labels['wholesession'] = 'celej relácie';
$labels['createkeys'] = 'Vytvoriť nový pár kľúčov';
$labels['importkeys'] = 'Importovať kľúč(e)';
$labels['exportkeys'] = 'Exportovať kľúč(e)';
$labels['keyactions'] = 'Akcie kľúča...';
$labels['keyremove'] = 'Odstrániť';
$labels['keydisable'] = 'Vypnúť';
$labels['keyrevoke'] = 'Odvolať';
$labels['keysend'] = 'Odoslať verejný kľúč v správe';
$labels['keychpass'] = 'Zmeniť heslo';
$labels['newkeyident'] = 'Identita:';
$labels['newkeypass'] = 'Heslo:';
$labels['newkeypassconfirm'] = 'Potvrdiť heslo:';
$labels['newkeysize'] = 'Veľkosť kľúča:';
$labels['key2048'] = '2048 bitov predvolené';
$labels['key4096'] = '4096 bitov - bezpečnejšie';
$labels['keygenerating'] = 'Generovanie kľúčov...';
$labels['encryptionoptions'] = 'Nastavenia šifrovania...';
$labels['encryptmsg'] = 'Zašifrovať túto správu';
$labels['signmsg'] = 'Digitálne podpísať túto správu';
$labels['enterkeypasstitle'] = 'Zadať kľúčovú frázu';
$labels['enterkeypass'] = 'Na odomknutie tajného kľúča je potrebná kľúčová fráza ($keyid) pre používateľa: $user.';
$labels['arialabelkeyexportoptions'] = 'Nastavenia exportu kľúčov';
$labels['attachpubkeymsg'] = 'Pripojiť môj verejný kľúč';
$labels['keyexportprompt'] = 'Chcete do uloženého súboru s kľúčmi OpenPGP zahrnúť aj tajné kľúče?';
$labels['onlypubkeys'] = 'Exportovať len verejné kľúče';
$labels['withprivkeys'] = 'Exportovať tajné kľúče';
$labels['findkey'] = 'Hľadať na serveri/serveroch s kľúčom';
$labels['keyimportlabel'] = 'Importovať zo súboru';
$labels['keyimportsearchlabel'] = 'Hľadať na serveri/serveroch s kľúčom';
$messages['sigvalid'] = 'Overený podpis od $sender.';
$messages['sigvalidpartial'] = 'Overený podpis od $sender, ale časť tela podpísaná nebola.';
$messages['siginvalid'] = 'Neplatný podpis od $sender.';
$messages['sigunverified'] = 'Neoverený podpis, certifikát nebol overený. ID certifikátu: $keyid.';
$messages['signokey'] = 'Neoverený podpis. Verejný kľúč sa nenašiel. ID kľúča: $keyid.';
$messages['sigerror'] = 'Neoverený podpis. Interná chyba.';
$messages['decryptok'] = 'Správa bola dešifrovaná.';
$messages['decrypterror'] = 'Dešifrovanie nebolo úspešné.';
$messages['decryptnokey'] = 'Dešifrovanie nebolo úspešné. Súkromný kľúč sa nenašiel. ID kľúča: $keyid.';
$messages['decryptnopass'] = 'Dešifrovanie nebolo úspešné. Vyžaduje sa kľúčové heslo.';
$messages['decryptpartial'] = 'Správa bola dešifrovaná, ale časť jej tela nebola zašifrovaná.';
$messages['signerror'] = 'Vloženie podpisu bolo neúspešné.';
$messages['signnokey'] = 'Vloženie podpisu bolo neúspešné. Nenašiel sa súkromný kľúč.';
$messages['signnopass'] = 'Vloženie podpisu nebolo úspešné. Vyžaduje sa kľúčové heslo.';
$messages['encrypterror'] = 'Šifrovanie nebolo úspešné.';
$messages['encryptnokey'] = 'Šifrovanie nebolo úspešné. Nenašiel sa verejný kľúč pre $email.';
$messages['nokeysfound'] = 'Nenašli sa žiadne kľúče';
$messages['keynotfound'] = 'Kľúč sa nenašiel!';
$messages['keyopenerror'] = 'Nemožno získať informácie o kľúči! Interná chyba.';
$messages['keylisterror'] = 'Nemožno zostaviť zoznam kľúčov! Interná chyba.';
$messages['keysimportfailed'] = 'Nemožno naimportovať kľúč(e)! Interná chyba.';
$messages['keysimportsuccess'] = 'Import kľúča (kľúčov) bol úspešný.Naimportované položky: $new, bez zmeny: $old.';
$messages['keyremoving'] = 'Odstraňovanie kľúča (kľúčov)...';
$messages['keyremoveconfirm'] = 'Naozaj chcete vymazať vybraný kľúč/kľúče?';
$messages['keyremovesuccess'] = 'Vymazanie kľúča (kľúčov) bolo úspešné.';
$messages['keyremoveerror'] = 'Nemožno vymazať vybraný kľúč (vybrané kľúče).';
$messages['keyimporttext'] = 'Môžete naimportovať súkromné a verejné kľúče alebo podpisy pre odvolanie vo formáte ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Verejné kľúče môžete vyhľadávať podľa identifikátora kľúča, mena používateľa alebo e-mailovej adresy a potom ich priamo importovať.';
$messages['formerror'] = 'Prosím vyplňte formulár. Je nutné vyplniť všetky polia!';
$messages['passwordsdiffer'] = 'Heslá sa nezhodujú!';
$messages['keygenerateerror'] = 'Nepodarilo sa vygenerovať pár kľúčov';
$messages['keygeneratesuccess'] = 'Pár kľúčov bol úspešne vygenerovaný a naimportovaný.';
$messages['keygennosupport'] = 'Váš internetový prehliadač nepodporuje kryptografiu. Nemožno vygenerovať pár kľúčov!';
$messages['noidentselected'] = 'Pre tento kľúč si musíte vybrať aspoň jednu identitu!';
$messages['nonameident'] = 'Identita musí mať definované meno používateľa!';
?>

View File

@@ -0,0 +1,123 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Fshehtëzim';
$labels['enigmacerts'] = 'Dëshmi S/MIME';
$labels['enigmakeys'] = 'Kyçe PGP';
$labels['keysfromto'] = 'Kyçat nga $from deri në $to nga $count gjithsej';
$labels['keyname'] = 'Emër';
$labels['keyid'] = 'ID Kyçi';
$labels['keyuserid'] = 'ID Përdoruesi';
$labels['keytype'] = 'Lloj kyçi';
$labels['fingerprint'] = 'Shenja gishtash';
$labels['subkeys'] = 'Nënkyç';
$labels['basicinfo'] = 'Informacion bazë';
$labels['userids'] = 'Përdorues Shtesë';
$labels['typepublickey'] = 'kyç publik';
$labels['typekeypair'] = 'çift kyçesh';
$labels['keyattfound'] = 'Ky mesazh përmban kyçin(et) PGP të bashkëngjitur.';
$labels['keyattimport'] = 'Importo kyç(e)';
$labels['typesign'] = 'Nënshkruaje';
$labels['typeencrypt'] = 'Fshehtëzoje';
$labels['typecert'] = 'Dëshmoje';
$labels['typeauth'] = 'Mirëfilltësim';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritëm';
$labels['subkeycreated'] = 'Krijuar më';
$labels['subkeyexpires'] = 'Skadon më';
$labels['subkeyusage'] = 'Përdorim';
$labels['expiresnever'] = 'kurrë';
$labels['unknown'] = 'i panjohur';
$labels['uservalid'] = 'I vlefshëm';
$labels['userid'] = 'ID';
$labels['valid'] = 'i vlefshëm';
$labels['supportencryption'] = 'Aktivizo fshehtëzim dhe nënshkrim mesazhesh';
$labels['supportsignatures'] = 'Aktivizo verifikim nënshkrimesh mesazhi';
$labels['supportdecryption'] = 'Aktivizo çfshehtëzim mesazhi';
$labels['signdefault'] = 'Si parazgjedhje, nënshkruaji krejt mesazhet';
$labels['encryptdefault'] = 'Si parazgjedhje, fshehtëzoji krejt mesazhet';
$labels['attachpubkeydefault'] = 'Bashkëngjite kyçin tim publik, si parazgjedhje';
$labels['passwordtime'] = 'Fjalëkalimet e kyçeve privatë mbaji për';
$labels['nminutes'] = '$m minutë(a)';
$labels['wholesession'] = 'krejt sesionin';
$labels['createkeys'] = 'Krijoni një çift të ri kyçesh';
$labels['importkeys'] = 'Importo kyç(e)';
$labels['exportkeys'] = 'Eksporto kyç(e)';
$labels['keyactions'] = 'Veprime kyçesh…';
$labels['keyremove'] = 'Hiqe';
$labels['keydisable'] = 'Çaktivizoje';
$labels['keyrevoke'] = 'Shfuqizoje';
$labels['keysend'] = 'Dërgo kyç publik në mesazh';
$labels['keychpass'] = 'Ndryshoni fjalëkalimin';
$labels['newkeyident'] = 'Identitet';
$labels['newkeypass'] = 'Fjalëkalim:';
$labels['newkeypassconfirm'] = 'Ripohoni fjalëkalimin:';
$labels['newkeysize'] = 'Madhësi kyçi:';
$labels['key2048'] = '2048 bite - parazgjedhje';
$labels['key4096'] = '4096 bite - më i sigurt';
$labels['keygenerating'] = 'Po prodhohen kyçe…';
$labels['encryptionoptions'] = 'Mundësi fshehtëzimi…';
$labels['encryptmsg'] = 'Fshehtëzoje këtë mesazj';
$labels['signmsg'] = 'Nënshkruaje në mënyrë dixhitale këtë mesazh';
$labels['enterkeypasstitle'] = 'Jepni frazëkalim kyçi';
$labels['enterkeypass'] = 'Frazëkalimi është i nevojshëm për të zhbllokuar kyçin e fshehtë ($keyid) për përdoruesin: $user.';
$labels['arialabelkeyexportoptions'] = 'Mundësi eksportimi kyçesh';
$labels['attachpubkeymsg'] = 'Bashkëngjite kyçin tim publik';
$labels['keyexportprompt'] = 'Doni të përfshihen kyçe të fshehtë te skedari i ruajtur për kyçe OpenPGP?';
$labels['onlypubkeys'] = 'Eksporto Vetëm Kyçe Publikë';
$labels['withprivkeys'] = 'Eksporto Kyçe të Fshehtë';
$labels['findkey'] = 'Kërko në shërbyes kyçesh';
$labels['keyimportlabel'] = 'Importo prej skedari';
$labels['keyimportsearchlabel'] = 'Kërko në shërbyes kyçesh';
$messages['sigvalid'] = 'Nënshkrim nga $sender i verifikuar.';
$messages['sigvalidpartial'] = 'Nënshkrim nga $sender i verifikuar, por spati të nënshkruar pjesë lënde.';
$messages['siginvalid'] = 'Nënshkrim i pavlefshëm nga $sender.';
$messages['sigunverified'] = 'Nënshkrim i paverifikuar. Dëshmia su verifikua. ID Dëshmie: $keyid.';
$messages['signokey'] = 'Nënshkrim i paverifikuar. Su gjet kyç. ID Kyçi: $keyid.';
$messages['sigerror'] = 'Nënshkrim i paverifikuar. Gabim i brendshëm.';
$messages['decryptok'] = 'Mesazhi u çfshehtëzua.';
$messages['decrypterror'] = 'Çfshehtëzimi dështoi.';
$messages['decryptnokey'] = 'Çfshehtëzimi dështoi. Su gjet kyç privat. ID Kyçi: $keyid.';
$messages['decryptbadpass'] = 'Shfshehtëzimi dështoi. Fjalëkalim i pavlefshëm.';
$messages['decryptnopass'] = 'Çfshehtëzimi dështoi. Lypset fjalëkalim kyçi.';
$messages['decryptpartial'] = 'Mesazhi u çfshehtëzua, por një pjesë e lëndë su çfshehtëzua.';
$messages['signerror'] = 'Nënshkrimi dështoi.';
$messages['signnokey'] = 'Nënshkrimi dështoi. Su gjet kyç privat.';
$messages['signbadpass'] = 'Hyrja dështoi. Fjalëkalim i pavlefshëm.';
$messages['signnopass'] = 'Nënshkrimi dështoi. Lypset fjalëkalim kyçi.';
$messages['encrypterror'] = 'Fshehtëzimi dështoi.';
$messages['encryptnokey'] = 'Fshehtëzimi dështoi. Su gjet kyç publik për $email';
$messages['nokeysfound'] = 'Su gjetën kyçe';
$messages['keynotfound'] = 'Su gjet kyç!';
$messages['keyopenerror'] = 'I pazoti të marrë të dhëna kyçi! Gabim i brendshëm.';
$messages['keylisterror'] = 'I pazoti të paraqesë kyçe! Gabim i brendshëm.';
$messages['keysimportfailed'] = 'I pazoti të importojë kyç(e)! Gabim i brendshëm.';
$messages['keysimportsuccess'] = 'Kyçi(et) u importuan me sukses. Të importuar: $new, të pandryshuar: $old.';
$messages['keyremoving'] = 'Po hiqet kyçi(et)…';
$messages['keyremoveconfirm'] = 'Jeni i sigurt se doni të fshihet kyçi(et) i përzgjedhur?';
$messages['keyremovesuccess'] = 'Kyçi(et) u fshi me sukses';
$messages['keyremoveerror'] = 'I pazoti të fshijë kyçin(et) e përzgjedhur?';
$messages['keyimporttext'] = 'Mund të importoni kyç(e) privatë dhe publikë ose nënshkrime shfuqizimesh në formatin ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Për kyçe publikë mund të kërkoni sipas identifikuesi kyçi, emri përdoruesi ose adrese email dhe mandej ti importoni ata drejtpërsëdrejti.';
$messages['formerror'] = 'Ju lutemi, plotësoni formularin. Janë të domosdoshme krejt fushat!';
$messages['passwordsdiffer'] = 'Fjalëkalimet nuk përputhen!';
$messages['keygenerateerror'] = 'Dështoi prodhimi i një çifti kyçesh';
$messages['keygeneratesuccess'] = 'U prodhua dhe importua me sukses një çift kyçesh.';
$messages['keygennosupport'] = 'Shfletuesi juaj nuk e mbulon kriptografinë. I pazoti të prodhojë një çift kyçesh!';
$messages['noidentselected'] = 'Duhet të përzgjidhni të paktën një identitet për kyçin!';
$messages['nonameident'] = 'Identiteti duhet të ketë të përkufizuar një emër përdoruesi!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Kryptering';
$labels['enigmacerts'] = 'S/MIME-certifikat';
$labels['enigmakeys'] = 'PGP-nycklar';
$labels['keysfromto'] = 'Nyckel $from till $to av $count';
$labels['keyname'] = 'Namn';
$labels['keyid'] = 'Nyckel-ID';
$labels['keyuserid'] = 'Användar-ID';
$labels['keytype'] = 'Nyckeltyp';
$labels['fingerprint'] = 'Fingeravtryck';
$labels['subkeys'] = 'Undernycklar';
$labels['basicinfo'] = 'Grundläggande information';
$labels['userids'] = 'Ytterligare användare';
$labels['typepublickey'] = 'offentlig nyckel';
$labels['typekeypair'] = 'nyckelpar';
$labels['keyattfound'] = 'Meddelandet innehåller en eller flera bifogade PGP-nycklar.';
$labels['keyattimport'] = 'Importera nyckel';
$labels['typesign'] = 'Signera';
$labels['typeencrypt'] = 'Kryptera';
$labels['typecert'] = 'Intyga';
$labels['typeauth'] = 'Autentisering';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algoritm';
$labels['subkeycreated'] = 'Skapad';
$labels['subkeyexpires'] = 'Utgår';
$labels['subkeyusage'] = 'Användning';
$labels['expiresnever'] = 'aldrig';
$labels['unknown'] = 'okänd';
$labels['uservalid'] = 'Giltig';
$labels['userid'] = 'ID';
$labels['valid'] = 'giltig';
$labels['supportencryption'] = 'Aktivera kryptering och signering av meddelanden';
$labels['supportsignatures'] = 'Aktivera signaturverifiering i meddelanden';
$labels['supportdecryption'] = 'Aktivera dekryptering av meddelanden';
$labels['signdefault'] = 'Signera alla meddelanden';
$labels['encryptdefault'] = 'Kryptera alla meddelanden';
$labels['attachpubkeydefault'] = 'Bifoga alltid min offentliga nyckel';
$labels['passwordtime'] = 'Använd lösenord till privat nyckel under';
$labels['nminutes'] = '$m min';
$labels['wholesession'] = 'Hela sessionen';
$labels['createkeys'] = 'Nytt nyckelpar ';
$labels['importkeys'] = 'Importera nycklar';
$labels['exportkeys'] = 'Exportera nycklar';
$labels['keyactions'] = 'Hantera nycklar...';
$labels['keyremove'] = 'Ta bort';
$labels['keydisable'] = 'Deaktivera';
$labels['keyrevoke'] = 'Upphäv';
$labels['keysend'] = 'Skicka offentlig nyckel i meddelande';
$labels['keychpass'] = 'Ändra lösenord';
$labels['newkeyident'] = 'Identitet';
$labels['newkeypass'] = 'Lösenord';
$labels['newkeypassconfirm'] = 'Bekräfta lösenord';
$labels['newkeysize'] = 'Nyckelstorlek';
$labels['key2048'] = '2048 bitar - standard';
$labels['key4096'] = '4096 bitar - säkrare';
$labels['keygenerating'] = 'Skapar nycklar...';
$labels['encryptionoptions'] = 'Krypteringsalternativ...';
$labels['encryptmsg'] = 'Kryptera meddelandet';
$labels['signmsg'] = 'Signera meddelandet';
$labels['enterkeypasstitle'] = 'Ange nyckelns lösenord';
$labels['enterkeypass'] = 'Lösenord behövs för att låsa upp den privata nyckeln ($keyid) för användare $user.';
$labels['arialabelkeyexportoptions'] = 'Exportalternativ för nycklar';
$labels['attachpubkeymsg'] = 'Bifoga min offentliga nyckel';
$labels['keyexportprompt'] = 'Inkludera privata nycklar i den sparade nyckelfilen för OpenPGP?';
$labels['onlypubkeys'] = 'Exportera endast offentliga nycklar';
$labels['withprivkeys'] = 'Exportera privata nycklar';
$labels['findkey'] = 'Sök nyckel på en eller flera servrar';
$labels['keyimportlabel'] = 'Importera från fil';
$labels['keyimportsearchlabel'] = 'Sök nyckel på en eller flera servrar';
$messages['sigvalid'] = 'Signatur verifierad för $sender.';
$messages['sigvalidpartial'] = 'Signatur verifierad för $sender, men meddelandet var delvis osignerat.';
$messages['siginvalid'] = 'Ogiltig signatur från $sender.';
$messages['sigunverified'] = 'Overifierad signatur. Certifikatet är inte verifierat. Certifikat-ID: $keyid.';
$messages['signokey'] = 'Overifierad signatur. Offentlig nyckel otillgänglig. Nyckel-ID: $keyid.';
$messages['sigerror'] = 'Overifierad signatur. Internt fel.';
$messages['decryptok'] = 'Meddelandet är dekrypterat.';
$messages['decrypterror'] = 'Dekrypteringen misslyckades.';
$messages['decryptnokey'] = 'Dekrypteringen misslyckades. Privat nyckel otillgänglig. Nyckel-ID: $keyid.';
$messages['decryptnopass'] = 'Dekrypteringen misslyckades. Ange nyckelns lösenord.';
$messages['decryptpartial'] = 'Meddelandet är dekrypterat, men meddelandet var delvis okrypterat.';
$messages['signerror'] = 'Signeringen misslyckades.';
$messages['signnokey'] = 'Signeringen misslyckades. Privat nyckel otillgänglig.';
$messages['signnopass'] = 'Signeringen misslyckades. Ange nyckelns lösenord.';
$messages['encrypterror'] = 'Krypteringen misslyckades.';
$messages['encryptnokey'] = 'Krypteringen misslyckades. Offentlig nyckel otillgänglig för $email.';
$messages['nokeysfound'] = 'Inga nycklar hittades.';
$messages['keynotfound'] = 'Nyckeln hittades inte!';
$messages['keyopenerror'] = 'Nyckelinformation kunde inte hämtas. Internt fel.';
$messages['keylisterror'] = 'Nycklar kunde inte listas. Internt fel.';
$messages['keysimportfailed'] = 'Nycklar kunde inte importeras. Internt fel.';
$messages['keysimportsuccess'] = 'Nycklar har importerats. Importerade: $new, oförändrade: $old.';
$messages['keyremoving'] = 'Tar bort nycklar...';
$messages['keyremoveconfirm'] = 'Vill du ta bort markerade nycklar?';
$messages['keyremovesuccess'] = 'Nycklar borttagna.';
$messages['keyremoveerror'] = 'Nycklarna kunde inte tas bort.';
$messages['keyimporttext'] = 'Privata och offentliga nycklar eller återkallande av signaturer kan importeras i formatet ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Offentlig nyckel kan sökas genom att ange identifierare, användarnamn eller mailadress, för att sedan importeras direkt.';
$messages['formerror'] = 'Fyll i formulärets samtliga fält.';
$messages['passwordsdiffer'] = 'Bekräftelsen av lösenordet stämmer inte.';
$messages['keygenerateerror'] = 'Nyckelpar kunde inte skapas';
$messages['keygeneratesuccess'] = 'Nyckelpar skapat och importerat.';
$messages['keygennosupport'] = 'Webbläsaren saknar krypteringsfunktion. Nyckelpar kunde inte skapas.';
$messages['noidentselected'] = 'Minst en identitet till nyckeln måste väljas!';
$messages['nonameident'] = 'Användarnamn måste anges.';
?>

View File

@@ -0,0 +1,123 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Şifreleme';
$labels['enigmacerts'] = 'S/MIME Sertifikaları';
$labels['enigmakeys'] = 'PGP Anahtarları';
$labels['keysfromto'] = 'Anahtarlar $from - $to / $count';
$labels['keyname'] = 'Ad';
$labels['keyid'] = 'Anahtar Kodu';
$labels['keyuserid'] = 'Kullanıcı Kodu';
$labels['keytype'] = 'Anahtar türü';
$labels['fingerprint'] = 'Parmak izi';
$labels['subkeys'] = 'Alt anahtarlar';
$labels['basicinfo'] = 'Temel Bilgiler';
$labels['userids'] = 'Ek Kullanıcılar';
$labels['typepublickey'] = 'Genel Anahtar';
$labels['typekeypair'] = 'Anahtar çifti';
$labels['keyattfound'] = 'İleti ekinde PGP anahtarları var.';
$labels['keyattimport'] = 'Anahtar(lar)ı içe aktar.';
$labels['typesign'] = 'İmza';
$labels['typeencrypt'] = 'Şifrele';
$labels['typecert'] = 'Belgele';
$labels['typeauth'] = 'Kimlik Doğrulaması';
$labels['subkeyid'] = 'Kod';
$labels['subkeyalgo'] = 'Algoritma';
$labels['subkeycreated'] = 'Oluşturuldu';
$labels['subkeyexpires'] = 'Geçerlilik süresi';
$labels['subkeyusage'] = 'Kullanım';
$labels['expiresnever'] = 'asla';
$labels['unknown'] = 'bilinmeyen';
$labels['uservalid'] = 'Geçerli';
$labels['userid'] = 'Kod';
$labels['valid'] = 'geçerli';
$labels['supportencryption'] = 'İletiler şifrelensin ve imzalansın';
$labels['supportsignatures'] = 'İleti imzaları doğrulansın';
$labels['supportdecryption'] = 'İleti şifreleri çözülsün';
$labels['signdefault'] = 'Varsayılan olarak tüm iletiler imzalansın';
$labels['encryptdefault'] = 'Varsayılan olarak tüm iletiler şifrelensin';
$labels['attachpubkeydefault'] = 'Varsayılan olarak PGP anahtarı eklensin';
$labels['passwordtime'] = 'Parolalar için özel anahtarları tut';
$labels['nminutes'] = '$m dakika';
$labels['wholesession'] = 'tüm oturum';
$labels['createkeys'] = 'Yeni anahtar çifti oluştur';
$labels['importkeys'] = 'Anahtar(lar)ı içe aktar';
$labels['exportkeys'] = 'Anahtar(lar)ı dışa aktar';
$labels['keyactions'] = 'Anahtar işlemler...';
$labels['keyremove'] = 'Kaldır';
$labels['keydisable'] = 'Devre dışı';
$labels['keyrevoke'] = 'Geri al';
$labels['keysend'] = 'İletiyle birlikte ortak anahtar gönderilsin';
$labels['keychpass'] = 'Parolayı değiştir';
$labels['newkeyident'] = 'Kimlik:';
$labels['newkeypass'] = 'Parola:';
$labels['newkeypassconfirm'] = 'Parola Onayı:';
$labels['newkeysize'] = 'Anahtar uzunluğu:';
$labels['key2048'] = '2048 bit-Varsayılan';
$labels['key4096'] = '4096 bit- daha güvenli';
$labels['keygenerating'] = 'Anahtarlar oluştur...';
$labels['encryptionoptions'] = 'Şifreleme ayarları...';
$labels['encryptmsg'] = 'Bu iletiyi şifrele';
$labels['signmsg'] = 'İletiyi dijital imzala';
$labels['enterkeypasstitle'] = 'Anahtar sözcüğünüzü yazın';
$labels['enterkeypass'] = 'Gizli anahtarı ($keyid) açmak için $user kullanıcısının anahtar sözcüğü gerekli.';
$labels['arialabelkeyexportoptions'] = 'Anahtar dışa aktarma ayarları';
$labels['attachpubkeymsg'] = 'Genel anahtarımı ekle';
$labels['keyexportprompt'] = 'OpenPGP anahtar dosyasına gizli anahtarları da kaydetmek istiyor musunuz?';
$labels['onlypubkeys'] = 'Yalnız Genel Anahtarları Dışa Aktar';
$labels['withprivkeys'] = 'Gizli Anahtarları Dışa Aktar';
$labels['findkey'] = 'Anahtarı sunucu(lar)da ara';
$labels['keyimportlabel'] = 'Dosyadan içe aktar';
$labels['keyimportsearchlabel'] = 'Anahtarı sunucu(lar)da ara';
$messages['sigvalid'] = '$sender imzası geçerli.';
$messages['sigvalidpartial'] = '$sender imzası doğrulandı, ancak metnin tümü imzalanmamış.';
$messages['siginvalid'] = '$sender imzası geçersiz.';
$messages['sigunverified'] = 'İmza doğrulanmamış. Sertifika doğrulanmamış. Sertifika Kodu: $keyid.';
$messages['signokey'] = 'İmza doğrulanmamış. Genel anahtar bulunamadı. Anahtar Kodu: $keyid.';
$messages['sigerror'] = 'Sorun var! İmza doğrulanmamış.';
$messages['decryptok'] = 'İleti şifresi çözüldü.';
$messages['decrypterror'] = 'Şifre çözülemedi.';
$messages['decryptnokey'] = 'Şifre çözülemedi. Özel anahtar bulunamadı. Anahtar Kodu: $keyid.';
$messages['decryptbadpass'] = 'Şifre çözülemedi. Parola geçersiz.';
$messages['decryptnopass'] = 'Şifre çözülemedi. Anahtar parola gerekli.';
$messages['decryptpartial'] = 'İletinin şifresi çözüldü, fakat metnin tümü şifrelenmemiş.';
$messages['signerror'] = 'İmzalama geçersiz.';
$messages['signnokey'] = 'İmzalanamadı. Özel anahtar bulunamadı.';
$messages['signbadpass'] = 'İmzalanamadı. Parola geçersiz.';
$messages['signnopass'] = 'İmzalanamadı. Anahtar parola gerekli.';
$messages['encrypterror'] = 'Şifrelenemedi.';
$messages['encryptnokey'] = 'Şifrelenemedi. Genel anahtar $email içinde bulunamadı.';
$messages['nokeysfound'] = 'Anahtarlar bulunamadı';
$messages['keynotfound'] = 'Anahtar buunamadı!';
$messages['keyopenerror'] = 'Sorun var! Anahtar bilgileri alınamıyor.';
$messages['keylisterror'] = 'Sorun var! Anahtar listesi yok.';
$messages['keysimportfailed'] = 'Sorun var! Anahtar(lar) aktarılamıyor.';
$messages['keysimportsuccess'] = 'Anahtar(lar) içe aktarıldı. İçe Aktarılan: $new, Değişmeyen: $old.';
$messages['keyremoving'] = 'Anahtar(lar) kaldırılıyor...';
$messages['keyremoveconfirm'] = 'Seçilmiş anahtar(lar)ı silmek istediğinize emin misiniz?';
$messages['keyremovesuccess'] = 'Anahtar(lar) silindi';
$messages['keyremoveerror'] = 'Anahtar(lar) silinemedi.';
$messages['keyimporttext'] = 'Özel ve genel anahtar(lar)ı içe aktarabilir ya da ASCII-Armor biçimindeki imzanızı geri çekebilirsiniz.';
$messages['keyimportsearchtext'] = 'Genel anahtarları, anahtar tanımlayıcı, e-posta ya da kullanıcı adına göre arayarak doğrudan içe aktarabilirsiniz.';
$messages['formerror'] = 'Formun doldurun. Tüm alanlar zorunludur!';
$messages['passwordsdiffer'] = 'Parola ile onayı aynı değil!';
$messages['keygenerateerror'] = 'Anahtar çifti oluşturulamadı.';
$messages['keygeneratesuccess'] = 'Anahtar çiftiniz oluşturuldu ve içe aktarıldı.';
$messages['keygennosupport'] = 'Tarayıcınız şifrelemeyi desteklemiyor. Anahtar çifti oluşturulamıyor.';
$messages['noidentselected'] = 'Anahtar için en az bir kimlik seçmelisiniz!';
$messages['nonameident'] = 'Kimlik için bir kullanıcı adı belirtmelisiniz!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = 'Шифрування';
$labels['enigmacerts'] = 'Сертифікати S/MIME';
$labels['enigmakeys'] = 'PGP-ключі';
$labels['keysfromto'] = 'Ключі з $from до $to з $count';
$labels['keyname'] = 'Ім\'я';
$labels['keyid'] = 'ID ключа';
$labels['keyuserid'] = 'ID користувача';
$labels['keytype'] = 'Тип ключа';
$labels['fingerprint'] = 'Відбиток';
$labels['subkeys'] = 'Субключі';
$labels['basicinfo'] = 'Базова інформація';
$labels['userids'] = 'Додаткові користувачі';
$labels['typepublickey'] = 'публічний ключ';
$labels['typekeypair'] = 'пара ключів';
$labels['keyattfound'] = 'Це повідомлення містить прикріплений PGP-ключ(і).';
$labels['keyattimport'] = 'Імпортувати ключ(і)';
$labels['typesign'] = 'Підписати';
$labels['typeencrypt'] = 'Шифрувати';
$labels['typecert'] = 'Сертифікувати';
$labels['typeauth'] = 'Автентифікація';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Алгоритм';
$labels['subkeycreated'] = 'Створено';
$labels['subkeyexpires'] = 'Закінчується';
$labels['subkeyusage'] = 'Використання';
$labels['expiresnever'] = 'ніколи';
$labels['unknown'] = 'невідомо';
$labels['uservalid'] = 'Дійсний';
$labels['userid'] = 'ID';
$labels['valid'] = 'дійсний';
$labels['supportencryption'] = 'Увімкнути шифрування і підписання повідомлень';
$labels['supportsignatures'] = 'Увімкнути верифікацію підписів повідомленьй';
$labels['supportdecryption'] = 'Увімкнути розшифрування повідомлень';
$labels['signdefault'] = 'Підписувати усі листи за замовчуванням';
$labels['encryptdefault'] = 'Шифрувати усі повідомлення за замовчуванням';
$labels['attachpubkeydefault'] = 'Приєднати мій публічний PGP ключ по замовчуванню';
$labels['passwordtime'] = 'Зберігати паролі приватних ключів';
$labels['nminutes'] = '$n хвилин(и)';
$labels['wholesession'] = 'усю сесію';
$labels['createkeys'] = 'Створити нову пару ключів';
$labels['importkeys'] = 'Імпортувати ключ(і)';
$labels['exportkeys'] = 'Експортувати ключ(і)';
$labels['keyactions'] = 'Ключові дії...';
$labels['keyremove'] = 'Вилучити';
$labels['keydisable'] = 'Вимкнути';
$labels['keyrevoke'] = 'Відкликати';
$labels['keysend'] = 'Надіслати публічний ключ в повідомленні';
$labels['keychpass'] = 'Змінити пароль';
$labels['newkeyident'] = 'Профіль:';
$labels['newkeypass'] = 'Пароль:';
$labels['newkeypassconfirm'] = 'Підтвердіть пароль:';
$labels['newkeysize'] = 'Розмір ключа:';
$labels['key2048'] = '2048 бітів — дефолтно';
$labels['key4096'] = '4096 бітів — безпечніше';
$labels['keygenerating'] = 'Генерування ключів…';
$labels['encryptionoptions'] = 'Опції шифрування…';
$labels['encryptmsg'] = 'Шифрувати це повідомлення';
$labels['signmsg'] = 'Поставити цифровий підпис під повідомленням';
$labels['enterkeypasstitle'] = 'Введіть фразу-пароль ключа';
$labels['enterkeypass'] = 'Необхідна фраза-пароль для відімкнення секретного ключа ($keyid) для користувача: $user.';
$labels['arialabelkeyexportoptions'] = 'Опції експорту ключів';
$labels['attachpubkeymsg'] = 'Приєднати мій публічний ключ';
$labels['keyexportprompt'] = 'Бажаєте включити приватні ключі у файл-ключів OpenPGP?';
$labels['onlypubkeys'] = 'Експортувати публічні ключі';
$labels['withprivkeys'] = 'Експортувати приватні ключі';
$labels['findkey'] = 'Пошук по ключовому(вих) серверах';
$labels['keyimportlabel'] = 'Імпортувати з файлу';
$labels['keyimportsearchlabel'] = 'Пошук по ключовому(вих) серверах';
$messages['sigvalid'] = 'Перевірений підпис від $sender.';
$messages['sigvalidpartial'] = 'Перевірений підпис від $sender, але частина тіла повідомлення не було підписано.';
$messages['siginvalid'] = 'Недійсний підпис від $sender.';
$messages['sigunverified'] = 'Неперевірений підпис. Сертифікат не перевірено. ID сертифіката: $keyid.';
$messages['signokey'] = 'Неперевірений підпис. Публічний ключ не знайдено. ID ключа: $keyid.';
$messages['sigerror'] = 'Неперевірений підпис. Внутрішня помилка.';
$messages['decryptok'] = 'Повідомлення розшифровано.';
$messages['decrypterror'] = 'Розшифрування не вдалося.';
$messages['decryptnokey'] = 'Розшифрування не вдалося. Приватний ключ не знайдено. ID ключа: $keyid.';
$messages['decryptnopass'] = 'Розшифрування не вдалося. Потрібен пароль ключа.';
$messages['decryptpartial'] = 'Повідомлення розшифроване, але частина тіла не було зашифроване.';
$messages['signerror'] = 'Підписання не вдалося.';
$messages['signnokey'] = 'Підписання не вдалося. Приватний ключ не знайдено.';
$messages['signnopass'] = 'Підписання не вдалося. Потрібен пароль ключа.';
$messages['encrypterror'] = 'Шифрування не вдалося. ';
$messages['encryptnokey'] = 'Шифрування не вдалося. Публічний ключ не знайдено для $email.';
$messages['nokeysfound'] = 'Не знайдено ключів';
$messages['keynotfound'] = 'Ключ не знайдено!';
$messages['keyopenerror'] = 'Не вдалося отримати інформацію про ключ! Внутрішня помилка.';
$messages['keylisterror'] = 'Не вдалося вивести перелік ключів! Внутрішня помилка.';
$messages['keysimportfailed'] = 'Не вдалося імпортувати ключ(і)! Внутрішня помилка.';
$messages['keysimportsuccess'] = 'Ключ(і) імпотровано успішно. Імпортовано: $new, без змін: $old.';
$messages['keyremoving'] = 'Вилучення ключа(-ів)…';
$messages['keyremoveconfirm'] = 'Ви дійсно хочете видалити обраний(-і) ключ(і)?';
$messages['keyremovesuccess'] = 'Ключ(і) вилучено успішно';
$messages['keyremoveerror'] = 'Не вдалося вилучити обраний(-і) ключ(і).';
$messages['keyimporttext'] = 'Ви можете імпортувати приватні та публічні ключі чи підписи скасування у форматі ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Ви можете здійснювати пошук відкритих ключів за допомогою ідентифікатора ключа, ім\'я користувача або адреси електронної пошти, а потім імпортувати їх.';
$messages['formerror'] = 'Будь ласка, заповніть форму. Усі поля обов\'язкові!';
$messages['passwordsdiffer'] = 'Паролі не співпадають!';
$messages['keygenerateerror'] = 'Не вдалося згенерувати пару ключів';
$messages['keygeneratesuccess'] = 'Пару ключів успішно згенеровано й імпортовано.';
$messages['keygennosupport'] = 'Ваш веб-браузер не підтримує криптографію. Не вдалося згенерувати пару ключів!';
$messages['noidentselected'] = 'Ви повинні вибрати принаймні, один ідентифікатор для ключа!';
$messages['nonameident'] = 'Профіль повинен мати вказане ім\'я користувача!';
?>

View File

@@ -0,0 +1,121 @@
<?php
/**
+-----------------------------------------------------------------------+
| plugins/enigma/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail ACL plugin |
| Copyright (C) 2012-2016, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/roundcube/roundcube-webmail/plugin-enigma/
*/
$labels['encryption'] = '加密';
$labels['enigmacerts'] = 'S/MIME 证书';
$labels['enigmakeys'] = 'PGP 密钥';
$labels['keysfromto'] = '从 $from 到 $to共计 $count 个密钥';
$labels['keyname'] = '名称';
$labels['keyid'] = '密钥 ID';
$labels['keyuserid'] = '用户 ID';
$labels['keytype'] = '密钥类型';
$labels['fingerprint'] = '指纹';
$labels['subkeys'] = '子密钥';
$labels['basicinfo'] = '基本信息';
$labels['userids'] = '其他用户';
$labels['typepublickey'] = '公钥';
$labels['typekeypair'] = '密钥对';
$labels['keyattfound'] = '此消息包含附加的 PGP 密钥。';
$labels['keyattimport'] = '导入密钥';
$labels['typesign'] = '签名';
$labels['typeencrypt'] = '加密';
$labels['typecert'] = '证明';
$labels['typeauth'] = '身份验证';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = '算法';
$labels['subkeycreated'] = '创建于';
$labels['subkeyexpires'] = '过期时间';
$labels['subkeyusage'] = '用法';
$labels['expiresnever'] = '从不';
$labels['unknown'] = '未知';
$labels['uservalid'] = '有效';
$labels['userid'] = 'ID';
$labels['valid'] = '有效';
$labels['supportencryption'] = '启用邮件加密和签名';
$labels['supportsignatures'] = '启用邮件签名验证';
$labels['supportdecryption'] = '启用邮件解密';
$labels['signdefault'] = '默认签名所有邮件';
$labels['encryptdefault'] = '默认加密所有邮件';
$labels['attachpubkeydefault'] = '默认附加我的公共 PGP 密钥';
$labels['passwordtime'] = '保持私钥密码';
$labels['nminutes'] = '$m 分钟';
$labels['wholesession'] = '整个会话';
$labels['createkeys'] = '创建新密钥对';
$labels['importkeys'] = '导入密钥';
$labels['exportkeys'] = '加密密钥';
$labels['keyactions'] = '密钥操作...';
$labels['keyremove'] = '移除';
$labels['keydisable'] = '禁用';
$labels['keyrevoke'] = '废除';
$labels['keysend'] = '在邮件中发送公钥';
$labels['keychpass'] = '修改密码';
$labels['newkeyident'] = '身份:';
$labels['newkeypass'] = '密码:';
$labels['newkeypassconfirm'] = '确认密码:';
$labels['newkeysize'] = '密钥大小:';
$labels['key2048'] = '2048 位 - 默认';
$labels['key4096'] = '4096 位 - 更安全';
$labels['keygenerating'] = '正在生成密钥...';
$labels['encryptionoptions'] = '加密选项...';
$labels['encryptmsg'] = '加密此邮件';
$labels['signmsg'] = '数字签名此邮件';
$labels['enterkeypasstitle'] = '请输入密钥口令';
$labels['enterkeypass'] = '需要口令解锁私钥 ($keyid),用户:$user。';
$labels['arialabelkeyexportoptions'] = '密钥导出选项';
$labels['attachpubkeymsg'] = '附加我的公钥';
$labels['keyexportprompt'] = '您要在保存的 OpenPGP 密钥文件中包含私钥吗?';
$labels['onlypubkeys'] = '仅导出公钥';
$labels['withprivkeys'] = '导出私钥';
$labels['findkey'] = '搜索密钥服务器';
$labels['keyimportlabel'] = '从文件导入';
$labels['keyimportsearchlabel'] = '在密钥服务器上搜索';
$messages['sigvalid'] = '已验证来自 $sender 的签名。';
$messages['sigvalidpartial'] = '已验证来自 $sender 的签名,但主体部分未被签名。';
$messages['siginvalid'] = '无效的来自 $sender 的签名。';
$messages['sigunverified'] = '未验证签名。证书未验证。证书 ID: $keyid。';
$messages['signokey'] = '未验证签名。公钥未找到。密钥 ID: $keyid。';
$messages['sigerror'] = '未验证签名。内部错误。';
$messages['decryptok'] = '邮件已解密';
$messages['decrypterror'] = '解密失败。';
$messages['decryptnokey'] = '解密失败。私钥未找到。密钥 ID: $keyid。';
$messages['decryptnopass'] = '解密失败。需要密钥密码。';
$messages['decryptpartial'] = '邮件已解密,但主体部分未被加密。';
$messages['signerror'] = '签名失败。';
$messages['signnokey'] = '签名失败。私钥未找到。';
$messages['signnopass'] = '签名失败。需要密钥密码。';
$messages['encrypterror'] = '加密失败。';
$messages['encryptnokey'] = '加密失败。用于 $email 的公钥未找到。';
$messages['nokeysfound'] = '没有找到密钥';
$messages['keynotfound'] = '密钥未找到!';
$messages['keyopenerror'] = '无法获取密钥信息!内部错误。';
$messages['keylisterror'] = '无法列出密钥。内部错误。';
$messages['keysimportfailed'] = '无法导入密钥!内部错误。';
$messages['keysimportsuccess'] = '密钥导入成功。已导入 $new 项,未变更 $old 项。';
$messages['keyremoving'] = '正在移除密钥...';
$messages['keyremoveconfirm'] = '您确定吗,确定删除选定密钥?';
$messages['keyremovesuccess'] = '密钥删除成功';
$messages['keyremoveerror'] = '无法删除选定密钥。';
$messages['keyimporttext'] = '您可以导入私钥和公钥或废除 ASCII-Armor 格式的签名。';
$messages['keyimportsearchtext'] = '您可以根据密钥标识符、用户名或电子邮件地址搜索公钥和直接导入它们。';
$messages['formerror'] = '请填写表单。所有字段都为必填!';
$messages['passwordsdiffer'] = '密码不匹配!';
$messages['keygenerateerror'] = '生成密钥对失败';
$messages['keygeneratesuccess'] = '密钥对生成和导入成功。';
$messages['keygennosupport'] = '您的网页浏览器不支持加密。无法生成密钥对!';
$messages['noidentselected'] = '您必须为该密钥选择至少一个身份!';
$messages['nonameident'] = '身份必须有一个用户名!';
?>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,226 @@
/*** Style for Enigma plugin ***/
/***** Messages displaying *****/
#enigma-message,
/* fixes border-top */
#messagebody div #enigma-message
{
margin: 0;
margin-bottom: 5px;
min-height: 20px;
padding: 10px 10px 6px 46px;
}
div.enigmaerror,
/* fixes border-top */
#messagebody div.enigmaerror
{
background: url(enigma_error.png) 6px 1px no-repeat;
background-color: #EF9398;
border: 1px solid #DC5757;
}
div.enigmanotice,
/* fixes border-top */
#messagebody div.enigmanotice
{
background: url(enigma.png) 6px 1px no-repeat;
background-color: #A6EF7B;
border: 1px solid #76C83F;
}
div.enigmawarning,
/* fixes border-top */
#messagebody div.enigmawarning
{
background: url(enigma.png) 6px 1px no-repeat;
background-color: #F7FDCB;
border: 1px solid #C2D071;
}
#enigma-message a
{
color: #666666;
padding-left: 10px;
}
#enigma-message a:hover
{
color: #333333;
}
p.enigmaattachment
{
margin: 0.5em 1em;
border: 1px solid #999;
border-radius: 4px;
width: auto;
}
p.enigmaattachment a
{
display: block;
background: url(key_add.png) 10px center no-repeat;
padding: 1em 0.5em 1em 50px;
}
/***** E-mail Compose Page *****/
#messagetoolbar a.button.enigma {
text-indent: -5000px;
background: url(enigma.png) 0 0 no-repeat;
}
/***** Keys/Certs Management *****/
#mainscreen.enigma
{
top: 80px;
}
div.enigmascreen
{
position: absolute;
top: 40px;
right: 0;
bottom: 0;
left: 0;
}
.enigma #quicksearchbar
{
top: 10px;
right: 0;
}
#enigmacontent-box
{
position: absolute;
top: 0px;
left: 290px;
right: 0px;
bottom: 0px;
border: 1px solid #999999;
overflow: hidden;
}
#enigmakeyslist
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
border: 1px solid #999999;
background-color: #F9F9F9;
overflow: hidden;
}
#keylistcountbar
{
margin-top: 4px;
margin-left: 4px;
}
#keys-table
{
width: 100%;
table-layout: fixed;
}
#keys-table td
{
cursor: default;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
#key-details table td.title
{
font-weight: bold;
text-align: right;
}
#key-details table {
width: 100%;
}
#key-details table td,
#key-details table th {
border: 0;
}
#keyimportform fieldset div {
color: #666;
padding: 5px 0px;
}
#keycreateform td > label {
display: block;
}
#keystoolbar
{
position: absolute;
top: 0;
left: 10px;
height: 35px;
}
#keystoolbar a
{
padding-right: 10px;
}
#keystoolbar a.button,
#keystoolbar a.buttonPas,
#keystoolbar span.separator {
display: block;
float: left;
width: 32px;
height: 32px;
padding: 0;
margin: 0 5px;
overflow: hidden;
background: url(keys_toolbar.png) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
#keystoolbar a.buttonPas {
opacity: 0.35;
}
#keystoolbar a.createSel {
background-position: 0 -32px;
}
#keystoolbar a.create {
background-position: 0 0;
}
#keystoolbar a.importSel {
background-position: -64px -32px;
}
#keystoolbar a.import {
background-position: -64px 0;
}
#keystoolbar a.exportSel {
background-position: -96px -32px;
}
#keystoolbar a.export {
background-position: -96px 0;
}
#keystoolbar a.keymenu {
background-position: -128px 0;
width: 36px;
}
#keystoolbar span.separator {
width: 5px;
background-position: -166px 0;
}

View File

@@ -0,0 +1 @@
#enigma-message,#messagebody div #enigma-message{margin:0;margin-bottom:5px;min-height:20px;padding:10px 10px 6px 46px}div.enigmaerror,#messagebody div.enigmaerror{background:url(enigma_error.png) 6px 1px no-repeat;background-color:#ef9398;border:1px solid #dc5757}div.enigmanotice,#messagebody div.enigmanotice{background:url(enigma.png) 6px 1px no-repeat;background-color:#a6ef7b;border:1px solid #76c83f}div.enigmawarning,#messagebody div.enigmawarning{background:url(enigma.png) 6px 1px no-repeat;background-color:#f7fdcb;border:1px solid #c2d071}#enigma-message a{color:#666;padding-left:10px}#enigma-message a:hover{color:#333}p.enigmaattachment{margin:.5em 1em;border:1px solid #999;border-radius:4px;width:auto}p.enigmaattachment a{display:block;background:url(key_add.png) 10px center no-repeat;padding:1em .5em 1em 50px}#messagetoolbar a.button.enigma{text-indent:-5000px;background:url(enigma.png) 0 0 no-repeat}#mainscreen.enigma{top:80px}div.enigmascreen{position:absolute;top:40px;right:0;bottom:0;left:0}.enigma #quicksearchbar{top:10px;right:0}#enigmacontent-box{position:absolute;top:0;left:290px;right:0;bottom:0;border:1px solid #999;overflow:hidden}#enigmakeyslist{position:absolute;top:0;bottom:0;left:0;border:1px solid #999;background-color:#f9f9f9;overflow:hidden}#keylistcountbar{margin-top:4px;margin-left:4px}#keys-table{width:100%;table-layout:fixed}#keys-table td{cursor:default;text-overflow:ellipsis;-o-text-overflow:ellipsis}#key-details table td.title{font-weight:bold;text-align:right}#key-details table{width:100%}#key-details table td,#key-details table th{border:0}#keyimportform fieldset div{color:#666;padding:5px 0}#keycreateform td>label{display:block}#keystoolbar{position:absolute;top:0;left:10px;height:35px}#keystoolbar a{padding-right:10px}#keystoolbar a.button,#keystoolbar a.buttonPas,#keystoolbar span.separator{display:block;float:left;width:32px;height:32px;padding:0;margin:0 5px;overflow:hidden;background:url(keys_toolbar.png) 0 0 no-repeat transparent;opacity:.99}#keystoolbar a.buttonPas{opacity:.35}#keystoolbar a.createSel{background-position:0 -32px}#keystoolbar a.create{background-position:0 0}#keystoolbar a.importSel{background-position:-64px -32px}#keystoolbar a.import{background-position:-64px 0}#keystoolbar a.exportSel{background-position:-96px -32px}#keystoolbar a.export{background-position:-96px 0}#keystoolbar a.keymenu{background-position:-128px 0;width:36px}#keystoolbar span.separator{width:5px;background-position:-166px 0}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<div id="keyimport-title" class="boxtitle"><roundcube:label name="enigma.createkeys" /></div>
<div id="import-form" class="boxcontent">
<roundcube:object name="keyform" id="keycreateform" class="propform" size="40" textareacols="40" textarearows="6" />
<div id="formfooter">
<div class="footerleft">
<roundcube:button command="plugin.enigma-key-save" type="input" class="button mainaction" label="save" />
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<div id="keyimport-title" class="boxtitle"><roundcube:label name="enigma.importkeys" /></div>
<div id="import-form" class="boxcontent">
<roundcube:object name="importform" id="keyimportform" />
</div>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<div id="keyinfo-title" class="boxtitle"><roundcube:object name="keyname" part="name" /></div>
<div id="key-details" class="boxcontent">
<roundcube:object name="keydata" />
</div>
</body>
</html>

View File

@@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
<style type="text/css">
#enigmakeyslist { width: <roundcube:exp expression="!empty(cookie:enigmaviewsplitter) ? cookie:enigmaviewsplitter-5 : 210" />px; }
#enigmacontent-box { left: <roundcube:exp expression="!empty(cookie:enigmaviewsplitter) ? cookie:enigmaviewsplitter+5 : 220" />px;
<roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:enigmaeviewsplitter) ? cookie:enigmaviewsplitter+5 : 220).')+\\'px\\');') : ''" />
}
</style>
</head>
<body>
<roundcube:include file="/includes/taskbar.html" />
<roundcube:include file="/includes/header.html" />
<roundcube:include file="/includes/settingstabs.html" />
<div id="mainscreen" class="enigma">
<div id="keystoolbar">
<roundcube:button command="plugin.enigma-key-create" type="link" class="buttonPas create" classAct="button create" classSel="button createSel" title="enigma.createkeys" content=" " />
<roundcube:button command="plugin.enigma-key-import" type="link" class="buttonPas import" classAct="button import" classSel="button importSel" title="enigma.importkeys" content=" " />
<span class="dropbutton">
<roundcube:button command="plugin.enigma-key-export" type="link" class="buttonPas export" classAct="button export" classSel="button exportSel" title="enigma.exportkeys" content=" " />
<span id="exportmenulink" onclick="rcmail_ui.show_popup('exportmenu');return false"></span>
</span>
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button keymenu" title="enigma.keyactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " />
</div>
<div id="quicksearchbar">
<roundcube:button name="searchmenulink" id="searchmenulink" image="/images/icons/glass.png" />
<roundcube:object name="searchform" id="quicksearchbox" />
<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" />
</div>
<div class="enigmascreen">
<div id="enigmakeyslist">
<div class="boxtitle"><roundcube:label name="enigma.keyname" /></div>
<div class="boxlistcontent">
<roundcube:object name="keyslist" id="keys-table" class="records-table" cellspacing="0" noheader="true" />
</div>
<div class="boxfooter">
<div id="keylistcountbar" class="pagenav">
<roundcube:button command="firstpage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstpage" content=" " />
<roundcube:button command="previouspage" type="link" class="buttonPas prevpage" classAct="button prevpage" classSel="button prevpageSel" title="previouspage" content=" " />
<roundcube:object name="countdisplay" style="padding:0 .5em; float:left" />
<roundcube:button command="nextpage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextpage" content=" " />
<roundcube:button command="lastpage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastpage" content=" " />
</div>
</div>
</div>
<script type="text/javascript">
var enigmaviewsplit = new rcube_splitter({id:'enigmaviewsplitter', p1: 'enigmakeyslist', p2: 'enigmacontent-box', orientation: 'v', relative: true, start: 215});
rcmail.add_onload('enigmaviewsplit.init()');
</script>
<div id="enigmacontent-box">
<roundcube:object name="keyframe" id="keyframe" width="100%" height="100%" frameborder="0" src="/watermark.html" />
</div>
</div>
</div>
<div id="messagemenu" class="popupmenu">
<ul>
<li><roundcube:button class="deletelink" command="plugin.enigma-key-delete" label="enigma.keyremove" classAct="deletelink active" /></li>
<!--
<li><roundcube:button class="disablelink" command="plugin.enigma-key-disable" label="enigma.keydisable" classAct="disablelink active" /></li>
<li><roundcube:button class="revokelink" command="plugin.enigma-key-revoke" label="enigma.keyrevoke" classAct="revokelink active" /></li>
<li class="separator_below"><roundcube:button class="sendlink" command="plugin.enigma-key-send" label="enigma.keysend" classAct="sendlink active" /></li>
<li><roundcube:button class="chpasslink" command="plugin.enigma-key-chpass" label="enigma.keychpass" classAct="chpasslink active" /></li>
-->
</ul>
</div>
<div id="exportmenu" class="popupmenu">
<ul>
<li><roundcube:button command="plugin.enigma-key-export" label="exportall" prop="sub" classAct="exportalllink active" class="exportalllink" /></li>
<li><roundcube:button command="plugin.enigma-key-export-selected" label="exportsel" prop="sub" classAct="exportsellink active" class="exportsellink" /></li>
</ul>
</div>
<script type="text/javascript">
rcube_init_mail_ui();
</script>
</body>
</html>

View File

@@ -0,0 +1,177 @@
/*** Style for Enigma plugin ***/
/***** Messages displaying *****/
#enigma-message,
#messagebody div #enigma-message
{
margin: 0;
margin-bottom: 5px;
padding: 6px 12px 6px 30px;
font-weight: bold;
}
div.enigmaerror,
#messagebody div.enigmaerror
{
background: url(enigma_icons.png) 3px -201px no-repeat #f2cccd;
border: 1px solid #c00005;
color: #c00005;
}
div.enigmanotice,
#messagebody div.enigmanotice
{
background: url(enigma_icons.png) 3px -171px no-repeat #c9e6d3;
border: 1px solid #008a2e;
color: #008a2e;
}
div.enigmawarning,
#messagebody div.enigmawarning
{
background: url(enigma_icons.png) 3px -231px no-repeat #fef893;
border: 1px solid #ffdf0e;
color: #960;
}
#enigma-message a
{
color: #666666;
padding-left: 10px;
}
#enigma-message a:hover
{
color: #333333;
}
p.enigmaattachment {
margin: 0.5em 1em;
width: auto;
background: #f9f9f9;
border: 1px solid #d3d3d3;
border-radius: 4px;
box-shadow: 0 0 2px #ccc;
-webkit-box-shadow: 0 0 2px #ccc;
}
p.enigmaattachment a {
display: block;
background: url(enigma_icons.png) 8px -78px no-repeat;
padding: 1em 0.5em 1em 46px;
}
/***** E-mail Compose Page *****/
#messagetoolbar a.button.enigma {
background-image: url(enigma_icons.png);
background-position: center -122px;
background-repeat: no-repeat;
}
#enigmamenu {
color: white;
padding: 2px 5px;
}
/***** Keys/Certs Management *****/
#settings-sections .enigma.keys a {
background-image: url(enigma_icons.png);
background-position: 7px -345px;
background-repeat: no-repeat;
}
#settings-sections .enigma.keys.selected a {
background-image: url(enigma_icons.png);
background-position: 7px -368px;
background-repeat: no-repeat;
}
#sections-table #rcmrowenigma .section {
background-image: url(enigma_icons.png);
background-position: 5px -297px;
background-repeat: no-repeat;
}
#sections-table #rcmrowenigma.selected .section {
background-image: url(enigma_icons.png);
background-position: 5px -321px;
background-repeat: no-repeat;
}
#mainscreen.enigma #settings-sections,
#mainscreen.enigma #settings-right
{
top: 44px;
}
#enigmacontent-box
{
position: absolute;
top: 0px;
left: 272px;
right: 0px;
bottom: 0px;
}
#enigmakeyslist
{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 260px;
}
#keylistcountbar
{
margin-top: 4px;
margin-left: 4px;
}
#keys-table
{
width: 100%;
table-layout: fixed;
}
#keys-table td
{
text-overflow: ellipsis;
}
#keyimportform fieldset div
{
background-color: #eee;
padding: 10px;
}
#keycreateform td > label {
display: block;
}
#keystoolbar
{
position: absolute;
top: -6px;
left: 0;
height: 40px;
white-space: nowrap;
z-index: 10;
}
#keystoolbar a.button
{
background: url(enigma_icons.png) 0 0 no-repeat transparent;
}
#keystoolbar a.import {
background-position: center 0;
}
#keystoolbar a.export {
background-position: center -40px;
}

View File

@@ -0,0 +1 @@
#enigma-message,#messagebody div #enigma-message{margin:0;margin-bottom:5px;padding:6px 12px 6px 30px;font-weight:bold}div.enigmaerror,#messagebody div.enigmaerror{background:url(enigma_icons.png) 3px -201px no-repeat #f2cccd;border:1px solid #c00005;color:#c00005}div.enigmanotice,#messagebody div.enigmanotice{background:url(enigma_icons.png) 3px -171px no-repeat #c9e6d3;border:1px solid #008a2e;color:#008a2e}div.enigmawarning,#messagebody div.enigmawarning{background:url(enigma_icons.png) 3px -231px no-repeat #fef893;border:1px solid #ffdf0e;color:#960}#enigma-message a{color:#666;padding-left:10px}#enigma-message a:hover{color:#333}p.enigmaattachment{margin:.5em 1em;width:auto;background:#f9f9f9;border:1px solid #d3d3d3;border-radius:4px;box-shadow:0 0 2px #ccc;-webkit-box-shadow:0 0 2px #ccc}p.enigmaattachment a{display:block;background:url(enigma_icons.png) 8px -78px no-repeat;padding:1em .5em 1em 46px}#messagetoolbar a.button.enigma{background-image:url(enigma_icons.png);background-position:center -122px;background-repeat:no-repeat}#enigmamenu{color:white;padding:2px 5px}#settings-sections .enigma.keys a{background-image:url(enigma_icons.png);background-position:7px -345px;background-repeat:no-repeat}#settings-sections .enigma.keys.selected a{background-image:url(enigma_icons.png);background-position:7px -368px;background-repeat:no-repeat}#sections-table #rcmrowenigma .section{background-image:url(enigma_icons.png);background-position:5px -297px;background-repeat:no-repeat}#sections-table #rcmrowenigma.selected .section{background-image:url(enigma_icons.png);background-position:5px -321px;background-repeat:no-repeat}#mainscreen.enigma #settings-sections,#mainscreen.enigma #settings-right{top:44px}#enigmacontent-box{position:absolute;top:0;left:272px;right:0;bottom:0}#enigmakeyslist{position:absolute;top:0;bottom:0;left:0;width:260px}#keylistcountbar{margin-top:4px;margin-left:4px}#keys-table{width:100%;table-layout:fixed}#keys-table td{text-overflow:ellipsis}#keyimportform fieldset div{background-color:#eee;padding:10px}#keycreateform td>label{display:block}#keystoolbar{position:absolute;top:-6px;left:0;height:40px;white-space:nowrap;z-index:10}#keystoolbar a.button{background:url(enigma_icons.png) 0 0 no-repeat transparent}#keystoolbar a.import{background-position:center 0}#keystoolbar a.export{background-position:center -40px}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,22 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:label name="enigma.createkeys" /></h1>
<div id="key-details" class="boxcontent">
<roundcube:object name="keyform" id="keycreateform" class="propform" size="40" textareacols="40" textarearows="6" />
</div>
<div class="footerleft formbuttons">
<roundcube:button command="plugin.enigma-key-save" type="input" class="button mainaction" label="save" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@@ -0,0 +1,18 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:label name="enigma.importkeys" /></h1>
<div id="import-form" class="boxcontent">
<roundcube:object name="importform" class="propform" id="keyimportform" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@@ -0,0 +1,18 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body class="iframe">
<h1 class="boxtitle"><roundcube:object name="keyname" part="name" /></h1>
<div id="key-details" class="boxcontent propform">
<roundcube:object name="keydata" class="propform" />
</div>
<roundcube:include file="/includes/footer.html" />
</body>
</html>

View File

@@ -0,0 +1,91 @@
<roundcube:object name="doctype" value="html5" />
<html>
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<roundcube:if condition="env:extwin" /><body class="noscroll extwin"><roundcube:else /><body class="noscroll"><roundcube:endif />
<roundcube:include file="/includes/header.html" />
<div id="mainscreen" class="enigma">
<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="enigma.enigmakeys" /></h1>
<!-- toolbar -->
<h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
<div id="keystoolbar" class="toolbar" role="toolbar" aria-labelledby="aria-label-toolbar">
<roundcube:button command="plugin.enigma-key-import" type="link" class="button import disabled" classAct="button import" classSel="button import pressed" label="import" title="enigma.importkeys" />
<span class="dropbutton">
<roundcube:button command="plugin.enigma-key-export" type="link" class="button export disabled" classAct="button export" classSel="button export pressed" label="export" title="enigma.exportkeys" />
<a href="#export" class="dropbuttontip" id="exportmenulink" onclick="return UI.toggle_popup('exportmenu',event)" aria-haspopup="true" aria-expanded="false" aria-owns="exportmenu-menu" tabindex="0"><roundcube:label name="enigma.arialabelkeyexportoptions" /></a>
</span>
</div>
<div id="exportmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-exportmenu" class="voice"><roundcube:label name="enigma.arialabelkeyexportoptions" /></h3>
<ul id="exportmenu-menu" class="toolbarmenu" role="menu" aria-labelledby="aria-label-exportmenu">
<roundcube:button type="link-menuitem" command="plugin.enigma-key-export" label="exportall" prop="sub" class="exportalllink" classAct="exportalllink active" />
<roundcube:button type="link-menuitem" command="plugin.enigma-key-export-selected" label="exportsel" prop="sub" class="exportsellink" classAct="exportsellink active" />
</ul>
</div>
<div id="quicksearchbar" class="searchbox" role="search" aria-labelledby="aria-label-searchform">
<h2 id="aria-label-searchform" class="voice"><roundcube:label name="enigma.arialabelkeysearchform" /></h2>
<label for="quicksearchbox" class="voice"><roundcube:label name="arialabelmailquicksearchbox" /></label>
<roundcube:object name="searchform" id="quicksearchbox" />
<a id="searchmenulink" class="iconbutton searchicon" > </a>
<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" label="resetsearch" />
</div>
<roundcube:include file="/includes/settingstabs.html" />
<div id="settings-right" role="main" aria-labelledby="aria-label-enigmakeyslist">
<div id="enigmakeyslist" class="uibox listbox" role="navigation" aria-labelledby="enigmakeyslist-header">
<div id="enigmakeyslist-header" class="boxtitle"><roundcube:label name="enigma.enigmakeys" /></div>
<div class="scroller withfooter">
<roundcube:object name="keyslist" id="keys-table" class="listing" role="listbox" cellspacing="0" noheader="true" />
</div>
<div class="boxpagenav">
<roundcube:button command="firstpage" type="link" class="icon firstpage disabled" classAct="icon firstpage" title="firstpage" label="first" />
<roundcube:button command="previouspage" type="link" class="icon prevpage disabled" classAct="icon prevpage" title="previouspage" label="previous" />
<roundcube:button command="nextpage" type="link" class="icon nextpage disabled" classAct="icon nextpage" title="nextpage" label="next" />
<roundcube:button command="lastpage" type="link" class="icon lastpage disabled" classAct="icon lastpage" title="lastpage" label="last" />
</div>
<div class="boxfooter">
<roundcube:button command="plugin.enigma-key-create" type="link" title="enigma.createkeys" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" label="enigma.keyadd" /><roundcube:button name="moreactions" id="keyoptionslink" type="link" title="enigma.keyactions" class="listbutton groupactions" onclick="return UI.toggle_popup('keyoptions',event)" innerClass="inner" label="enigma.arialabelkeyoptions" aria-haspopup="true" aria-expanded="false" aria-owns="keyoptionsmenu" />
<span class="countdisplay" aria-live="polite" aria-relevant="text">
<span class="voice"><roundcube:label name="enigma.enigmakeys" /></span>
<roundcube:object name="countdisplay" />
</span>
</div>
</div>
<div id="enigmacontent-box" class="uibox">
<div class="iframebox">
<roundcube:object name="keyframe" id="keyframe" width="100%" height="100%" frameborder="0" src="/watermark.html" />
</div>
</div>
</div>
</div>
<div id="keyoptions" class="popupmenu">
<ul class="toolbarmenu">
<li><roundcube:button class="deletelink" command="plugin.enigma-key-delete" label="enigma.keyremove" target="_blank" classAct="deletelink active" /></li>
<!--
<li><roundcube:button class="disablelink" command="enigma.key-disable" label="enigma.keydisable" target="_blank" classAct="disablelink active" /></li>
<li><roundcube:button class="revokelink" command="enigma.key-revoke" label="enigma.keyrevoke" classAct="revokelink active" /></li>
<li class="separator_below"><roundcube:button class="sendlink" command="enigma.key-send" label="enigma.keysend" classAct="sendlink active" /></li>
<li><roundcube:button class="chpasslink" command="enigma.key-chpass" label="enigma.keychpass" classAct="chpasslink active" /></li>
-->
</ul>
</div>
<roundcube:include file="/includes/footer.html" />
<script type="text/javascript">
new rcube_splitter({ id:'enigmakeyssplitter', p1:'#enigmakeyslist', p2:'#enigmacontent-box',
orientation:'v', relative:true, start:266, min:180, size:12 }).init();
</script>
</body>
</html>

View File

@@ -0,0 +1,23 @@
<?php
class Enigma_Plugin extends PHPUnit_Framework_TestCase
{
function setUp()
{
include_once __DIR__ . '/../enigma.php';
}
/**
* Plugin object construction test
*/
function test_constructor()
{
$rcube = rcube::get_instance();
$plugin = new enigma($rcube->api);
$this->assertInstanceOf('enigma', $plugin);
$this->assertInstanceOf('rcube_plugin', $plugin);
}
}