New release 0.8.4

This commit is contained in:
JC Brand 2014-11-15 16:40:34 +01:00
parent 3f01e94b9b
commit c98e516e39
33 changed files with 4968 additions and 3967 deletions

View File

@ -1,6 +1,6 @@
{
"name": "converse",
"version": "0.8.3",
"version": "0.8.4",
"devDependencies": {
"jasmine": "https://github.com/jcbrand/jasmine.git#1_3_x",
"otr": "0.2.12",

View File

@ -25315,7 +25315,7 @@ Strophe.addConnectionPlugin('roster',
oldCallback.apply(this, arguments);
}
};
conn.connect = function(jid, pass, callback, wait, hold)
conn.connect = function(jid, pass, callback, wait, hold, route)
{
oldCallback = callback;
if (typeof jid == "undefined")
@ -25323,7 +25323,7 @@ Strophe.addConnectionPlugin('roster',
if (typeof pass == "undefined")
pass = null;
callback = newCallback;
_connect.apply(conn, [jid, pass, callback, wait, hold]);
_connect.apply(conn, [jid, pass, callback, wait, hold, route]);
};
conn.attach = function(jid, sid, rid, callback, wait, hold, wind)
{
@ -26745,9 +26745,21 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<field var="'+
((__t=(name))==null?'':__t)+
'"><value>'+
'">';
if (_.isArray(value)) {
__p+='\n ';
_.each(value,function(arrayValue) {
__p+='<value>'+
((__t=(arrayValue))==null?'':__t)+
'</value>';
});
__p+='\n';
} else {
__p+='\n <value>'+
((__t=(value))==null?'':__t)+
'</value></field>\n';
'</value>\n';
}
__p+='</field>\n';
}
return __p;
}; });
@ -26794,7 +26806,11 @@ __p+='<label>'+
((__t=(label))==null?'':__t)+
'<select name="'+
((__t=(name))==null?'':__t)+
'">'+
'" ';
if (multiple) {
__p+=' multiple="multiple" ';
}
__p+='>'+
((__t=(options))==null?'':__t)+
'</select></label>\n';
}
@ -27139,7 +27155,11 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<option value="'+
((__t=(value))==null?'':__t)+
'">'+
'" ';
if (selected) {
__p+=' selected="selected" ';
}
__p+=' >'+
((__t=(label))==null?'':__t)+
'</option>\n';
}
@ -27295,6 +27315,21 @@ __p+='\n href="#">'+
return __p;
}; });
define('tpl!form_textarea', [],function () { return function(obj){
var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
with(obj||{}){
__p+='<label class="label-ta">'+
((__t=(label))==null?'':__t)+
'<textarea name="'+
((__t=(name))==null?'':__t)+
'">'+
((__t=(value))==null?'':__t)+
'</textarea></label>\n';
}
return __p;
}; });
define("converse-templates", [
"tpl!action",
"tpl!add_contact_dropdown",
@ -27338,7 +27373,8 @@ define("converse-templates", [
"tpl!status_option",
"tpl!toggle_chats",
"tpl!toolbar",
"tpl!trimmed_chat"
"tpl!trimmed_chat",
"tpl!form_textarea"
], function () {
return {
action: arguments[0],
@ -27383,7 +27419,8 @@ define("converse-templates", [
status_option: arguments[39],
toggle_chats: arguments[40],
toolbar: arguments[41],
trimmed_chat: arguments[42]
trimmed_chat: arguments[42],
form_textarea: arguments[43]
};
});
@ -27606,6 +27643,7 @@ define("converse-templates", [
this.expose_rid_and_sid = false;
this.forward_messages = false;
this.hide_muc_server = false;
this.hide_offline_users = false;
this.i18n = locales.en;
this.keepalive = false;
this.message_carbons = false;
@ -27646,14 +27684,15 @@ define("converse-templates", [
'connection',
'debug',
'default_box_height',
'keepalive',
'message_carbons',
'expose_rid_and_sid',
'forward_messages',
'fullname',
'hide_muc_server',
'hide_offline_users',
'i18n',
'jid',
'keepalive',
'message_carbons',
'no_trimming',
'play_sounds',
'prebind',
@ -28020,7 +28059,11 @@ define("converse-templates", [
.c('enable', {xmlns: 'urn:xmpp:carbons:2'});
this.connection.send(carbons_iq);
this.connection.addHandler(function (iq) {
//TODO: check if carbons was enabled:
if ($(iq).find('error').length > 0) {
converse.log('ERROR: An error occured while trying to enable message carbons.');
} else {
converse.log('Message carbons appear to have been enabled.');
}
}, null, "iq", null, "enablecarbons");
};
@ -28215,7 +28258,7 @@ define("converse-templates", [
switch (type) {
case 'question':
this.otr.smpSecret(prompt(__(
'Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s',
'Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s',
[this.get('fullname'), data])));
break;
case 'trust':
@ -28239,7 +28282,7 @@ define("converse-templates", [
// encrypted messages.
//
// If 'query_msg' is passed in, it means there is an alread incoming
// query message from our buddy. Otherwise, it is us who will
// query message from our contact. Otherwise, it is us who will
// send the query message to them.
this.save({'otr_status': UNENCRYPTED});
var session = this.getSession($.proxy(function (session) {
@ -28263,7 +28306,7 @@ define("converse-templates", [
this.trigger('showOTRError', msg);
}, this));
this.trigger('showHelpMessages', [__('Exchanging private key with buddy.')]);
this.trigger('showHelpMessages', [__('Exchanging private key with contact.')]);
if (query_msg) {
this.otr.receiveMsg(query_msg);
} else {
@ -28387,6 +28430,7 @@ define("converse-templates", [
this.model.on('destroy', this.hide, this);
this.model.on('change', this.onChange, this);
this.model.on('showOTRError', this.showOTRError, this);
// XXX: doesn't look like this event is being used?
this.model.on('buddyStartsOTR', this.buddyStartsOTR, this);
this.model.on('showHelpMessages', this.showHelpMessages, this);
this.model.on('sendMessageStanza', this.sendMessageStanza, this);
@ -28459,7 +28503,7 @@ define("converse-templates", [
msg_time = moment(msg_dict.time) || moment,
text = msg_dict.message,
match = text.match(/^\/(.*?)(?: (.*))?$/),
fullname = msg_dict.fullname || this.model.get('fullname'), // XXX Perhaps always use model's?
fullname = this.model.get('fullname'), // XXX Perhaps always use model's?
extra_classes = msg_dict.delayed && 'delayed' || '',
template, username;
@ -28739,7 +28783,7 @@ define("converse-templates", [
this.model.save({'otr_status': UNVERIFIED});
}
} else if (scheme === 'smp') {
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
question = prompt(__('What is your security question?'));
if (question) {
answer = prompt(__('What is the answer to the security question?'));
@ -28774,10 +28818,14 @@ define("converse-templates", [
this.$el.find('div.chat-event').remove();
}
}
converse.emit('contactStatusChanged', item.attributes, item.get('chat_status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusChanged', item.attributes, item.get('chat_status'));
}
if (_.has(item.changed, 'status')) {
this.showStatusMessage();
converse.emit('contactStatusMessageChanged', item.attributes, item.get('status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusMessageChanged', item.attributes, item.get('status'));
}
if (_.has(item.changed, 'image')) {
@ -28798,7 +28846,7 @@ define("converse-templates", [
showStatusMessage: function (msg) {
msg = msg || this.model.get('status');
if (msg) {
if (typeof msg === "string") {
this.$el.find('p.user-custom-message').text(msg).attr('title', msg);
}
return this;
@ -28859,11 +28907,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
msgs.push(__("Your messages are not encrypted anymore"));
} else if (data.otr_status == UNVERIFIED){
msgs.push(__("Your messages are now encrypted but your buddy's identity has not been verified."));
msgs.push(__("Your messages are now encrypted but your contact's identity has not been verified."));
} else if (data.otr_status == VERIFIED){
msgs.push(__("Your buddy's identify has been verified."));
msgs.push(__("Your contact's identify has been verified."));
} else if (data.otr_status == FINISHED){
msgs.push(__("Your buddy has ended encryption on their end, you should do the same."));
msgs.push(__("Your contact has ended encryption on their end, you should do the same."));
}
return this.showHelpMessages(msgs, 'info', false);
},
@ -28874,11 +28922,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
data.otr_tooltip = __('Your messages are not encrypted. Click here to enable OTR encryption.');
} else if (data.otr_status == UNVERIFIED){
data.otr_tooltip = __('Your messages are encrypted, but your buddy has not been verified.');
data.otr_tooltip = __('Your messages are encrypted, but your contact has not been verified.');
} else if (data.otr_status == VERIFIED){
data.otr_tooltip = __('Your messages are encrypted and your buddy verified.');
data.otr_tooltip = __('Your messages are encrypted and your contact verified.');
} else if (data.otr_status == FINISHED){
data.otr_tooltip = __('Your buddy has closed their end of the private session, you should do the same');
data.otr_tooltip = __('Your contact has closed their end of the private session, you should do the same');
}
this.$el.find('.chat-toolbar').html(
converse.templates.toolbar(
@ -29086,11 +29134,19 @@ define("converse-templates", [
'submit form.add-chatroom': 'createChatRoom',
'click input#show-rooms': 'showRooms',
'click a.open-room': 'createChatRoom',
'click a.room-info': 'showRoomInfo'
'click a.room-info': 'showRoomInfo',
'change input[name=server]': 'setDomain',
'change input[name=nick]': 'setNick'
},
initialize: function (cfg) {
cfg.$parent.append(
this.$parent = cfg.$parent;
this.model.on('change:muc_domain', this.onDomainChange, this);
this.model.on('change:nick', this.onNickChange, this);
},
render: function () {
this.$parent.append(
this.$el.html(
converse.templates.room_panel({
'server_input_type': converse.hide_muc_server && 'hidden' || 'text',
@ -29101,37 +29157,34 @@ define("converse-templates", [
'label_show_rooms': __('Show rooms')
})
).hide());
this.$tabs = cfg.$parent.parent().find('#controlbox-tabs');
this.on('update-rooms-list', function (ev) {
this.updateRoomsList();
});
converse.xmppstatus.on("change", $.proxy(function (model) {
if (!(_.has(model.changed, 'fullname'))) {
return;
}
var $nick = this.$el.find('input.new-chatroom-nick');
if (! $nick.is(':focus')) {
$nick.val(model.get('fullname'));
}
}, this));
},
render: function () {
this.$tabs = this.$parent.parent().find('#controlbox-tabs');
this.$tabs.append(converse.templates.chatrooms_tab({label_rooms: __('Rooms')}));
return this;
},
onDomainChange: function (model) {
var $server = this.$el.find('input.new-chatroom-server');
$server.val(model.get('muc_domain'));
if (converse.auto_list_rooms) {
this.updateRoomsList();
}
},
onNickChange: function (model) {
var $nick = this.$el.find('input.new-chatroom-nick');
$nick.val(model.get('nick'));
},
informNoRoomsFound: function () {
var $available_chatrooms = this.$el.find('#available-chatrooms');
// # For translators: %1$s is a variable and will be replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
$('input#show-rooms').show().siblings('span.spinner').remove();
},
updateRoomsList: function (domain) {
updateRoomsList: function () {
converse.connection.muc.listRooms(
this.muc_domain,
this.model.get('muc_domain'),
$.proxy(function (iq) { // Success
var name, jid, i, fragment,
that = this,
@ -29140,7 +29193,7 @@ define("converse-templates", [
if (this.rooms.length) {
// # For translators: %1$s is a variable and will be
// # replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
fragment = document.createDocumentFragment();
for (i=0; i<this.rooms.length; i++) {
name = Strophe.unescapeNode($(this.rooms[i]).attr('name')||$(this.rooms[i]).attr('jid'));
@ -29178,7 +29231,7 @@ define("converse-templates", [
$server.removeClass('error');
$available_chatrooms.empty();
$('input#show-rooms').hide().after('<span class="spinner"/>');
this.muc_domain = server;
this.model.save({muc_domain: server});
this.updateRoomsList();
},
@ -29255,7 +29308,7 @@ define("converse-templates", [
jid = Strophe.escapeNode(name) + '@' + server;
$name.removeClass('error');
$server.removeClass('error');
this.muc_domain = server;
this.model.save({muc_domain: server});
} else {
if (!name) { $name.addClass('error'); }
if (!server) { $server.addClass('error'); }
@ -29271,6 +29324,14 @@ define("converse-templates", [
'chatroom': true,
'box_id' : b64_sha1(jid)
});
},
setDomain: function (ev) {
this.model.save({muc_domain: ev.target.value});
},
setNick: function (ev) {
this.model.save({nick: ev.target.value});
}
});
@ -29364,14 +29425,25 @@ define("converse-templates", [
},
renderContactsPanel: function () {
var model;
this.$el.html(converse.templates.controlbox(this.model.toJSON()));
this.contactspanel = new converse.ContactsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.contactspanel.render();
converse.xmppstatusview = new converse.XMPPStatusView({'model': converse.xmppstatus});
converse.xmppstatusview.render();
if (converse.allow_muc) {
this.roomspanel = new converse.RoomsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.roomspanel.render();
this.roomspanel = new converse.RoomsPanel({
'$parent': this.$el.find('.controlbox-panes'),
'model': new (Backbone.Model.extend({
id: b64_sha1('converse.roomspanel'+converse.bare_jid), // Required by sessionStorage
browserStorage: new Backbone.BrowserStorage[converse.storage](
b64_sha1('converse.roomspanel'+converse.bare_jid))
}))()
});
this.roomspanel.render().model.fetch();
if (!this.roomspanel.model.get('nick')) {
this.roomspanel.model.save({nick: Strophe.getNodeFromJid(converse.bare_jid)});
}
}
this.initDragResize();
},
@ -29423,13 +29495,10 @@ define("converse-templates", [
featureAdded: function (feature) {
if ((feature.get('var') == 'http://jabber.org/protocol/muc') && (converse.allow_muc)) {
this.roomspanel.muc_domain = feature.get('from');
this.roomspanel.model.save({muc_domain: feature.get('from')});
var $server= this.$el.find('input.new-chatroom-server');
if (! $server.is(':focus')) {
$server.val(this.roomspanel.muc_domain);
}
if (converse.auto_list_rooms) {
this.roomspanel.trigger('update-rooms-list');
$server.val(this.roomspanel.model.get('muc_domain'));
}
}
},
@ -29778,13 +29847,17 @@ define("converse-templates", [
$fields = $stanza.find('field'),
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text(),
i, j, options=[], $field, $options;
i, j, options=[], $field, $options,
values=[], $values, value;
var input_types = {
'text-private': 'password',
'text-single': 'textline',
'fixed': 'label',
'boolean': 'checkbox',
'hidden': 'hidden',
'list-single': 'dropdown'
'jid-multi': 'textarea',
'list-single': 'dropdown',
'list-multi': 'dropdown'
};
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
@ -29793,19 +29866,35 @@ define("converse-templates", [
}
for (i=0; i<$fields.length; i++) {
$field = $($fields[i]);
if ($field.attr('type') == 'list-single') {
if ($field.attr('type') == 'list-single' || $field.attr('type') == 'list-multi') {
values = [];
$values = $field.children('value');
for (j=0; j<$values.length; j++) {
values.push($($values[j]).text());
}
options = [];
$options = $field.find('option');
$options = $field.children('option');
for (j=0; j<$options.length; j++) {
value = $($options[j]).find('value').text();
options.push(converse.templates.select_option({
value: $($options[j]).find('value').text(),
label: $($options[j]).attr('label')
value: value,
label: $($options[j]).attr('label'),
selected: (values.indexOf(value) >= 0)
}));
}
$form.append(converse.templates.form_select({
name: $field.attr('var'),
label: $field.attr('label'),
options: options.join('')
options: options.join(''),
multiple: ($field.attr('type') == 'list-multi')
}));
} else if ($field.attr('type') == 'fixed') {
$form.append($('<p>').text($field.find('value').text()));
} else if ($field.attr('type') == 'jid-multi') {
$form.append(converse.templates.form_textarea({
name: $field.attr('var'),
label: $field.attr('label') || '',
value: $field.find('value').text()
}));
} else if ($field.attr('type') == 'boolean') {
$form.append(converse.templates.form_checkbox({
@ -29839,6 +29928,15 @@ define("converse-templates", [
var $input = $(this), value;
if ($input.is('[type=checkbox]')) {
value = $input.is(':checked') && 1 || 0;
} else if ($input.is('textarea')) {
value = [];
var lines = $input.val().split('\n');
for( var vk=0; vk<lines.length; vk++) {
var val = $.trim(lines[vk]);
if (val === '')
continue;
value.push(val);
}
} else {
value = $input.val();
}
@ -30113,7 +30211,7 @@ define("converse-templates", [
delayed = $message.find('delay').length > 0,
subject = $message.children('subject').text();
if (this.model.messages.findWhere({msgid: msgid})) {
if (msgid && this.model.messages.findWhere({msgid: msgid})) {
return true; // We already have this message stored.
}
this.showStatusMessages($message);
@ -30231,7 +30329,9 @@ define("converse-templates", [
onMessage: function (message) {
var $message = $(message);
var buddy_jid, $forwarded, $received,
var contact_jid, $forwarded, $received, $sent,
msgid = $message.attr('id'),
chatbox, resource, roster_item,
message_from = $message.attr('from');
if (message_from === converse.connection.jid) {
// FIXME: Forwarded messages should be sent to specific resources,
@ -30240,49 +30340,64 @@ define("converse-templates", [
}
$forwarded = $message.children('forwarded');
$received = $message.children('received[xmlns="urn:xmpp:carbons:2"]');
$sent = $message.children('sent[xmlns="urn:xmpp:carbons:2"]');
if ($forwarded.length) {
$message = $forwarded.children('message');
} else if ($received.length) {
$message = $received.children('forwarded').children('message');
message_from = $message.attr('from');
} else if ($sent.length) {
$message = $sent.children('forwarded').children('message');
message_from = $message.attr('from');
}
var from = Strophe.getBareJidFromJid(message_from),
to = Strophe.getBareJidFromJid($message.attr('to')),
resource, chatbox, roster_item;
to = Strophe.getBareJidFromJid($message.attr('to'));
if (from == converse.bare_jid) {
// I am the sender, so this must be a forwarded message...
buddy_jid = to;
contact_jid = to;
resource = Strophe.getResourceFromJid($message.attr('to'));
} else {
buddy_jid = from;
contact_jid = from;
resource = Strophe.getResourceFromJid(message_from);
}
chatbox = this.get(buddy_jid);
roster_item = converse.roster.get(buddy_jid);
roster_item = converse.roster.get(contact_jid);
if (roster_item === undefined) {
// The buddy was likely removed
converse.log('Could not get roster item for JID '+buddy_jid, 'error');
// The contact was likely removed
converse.log('Could not get roster item for JID '+contact_jid, 'error');
return true;
}
chatbox = this.get(contact_jid);
if (!chatbox) {
var fullname = roster_item.get('fullname');
fullname = _.isEmpty(fullname)? buddy_jid: fullname;
fullname = _.isEmpty(fullname)? contact_jid: fullname;
chatbox = this.create({
'id': buddy_jid,
'jid': buddy_jid,
'id': contact_jid,
'jid': contact_jid,
'fullname': fullname,
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
if (msgid && chatbox.messages.findWhere({msgid: msgid})) {
// FIXME: There's still a bug here..
// If a duplicate message is received just after the chat
// box was closed, then it'll open again (due to it being
// created here above), with now new messages.
// The solution is mostly likely to not let chat boxes show
// automatically when they are created, but to require
// "show" to be called explicitly.
return true; // We already have this message stored.
}
if (!this.isOnlyChatStateNotification($message) && from !== converse.bare_jid) {
playNotification();
}
chatbox.receiveMessage($message);
converse.roster.addResource(buddy_jid, resource);
converse.roster.addResource(contact_jid, resource);
converse.emit('message', message);
return true;
}
@ -30482,6 +30597,7 @@ define("converse-templates", [
if (ev && ev.preventDefault) {
ev.preventDefault();
}
this.model.messages.off('add',null,this);
this.remove();
this.model.maximize();
}, 200)
@ -30620,7 +30736,12 @@ define("converse-templates", [
},
showInRoster: function () {
return (!converse.show_only_online_users || this.get('chat_status') === 'online');
var chatStatus = this.get('chat_status');
if (converse.show_only_online_users && chatStatus !== 'online')
return false;
if (converse.hide_offline_users && chatStatus === 'offline')
return false;
return true;
}
});
@ -30641,54 +30762,6 @@ define("converse-templates", [
this.model.on("open", this.openChat, this);
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
},
render: function () {
if (!this.model.showInRoster()) {
this.$el.hide();
@ -30754,6 +30827,54 @@ define("converse-templates", [
));
}
return this;
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
}
});
@ -30814,7 +30935,7 @@ define("converse-templates", [
idx = _.indexOf(resources, resource);
if (idx !== -1) {
resources.splice(idx, 1);
item.set({'resources': resources});
item.save({'resources': resources});
return resources.length;
}
}
@ -30959,7 +31080,7 @@ define("converse-templates", [
converse.getVCard(
bare_jid,
$.proxy(function (jid, fullname, img, img_type, url) {
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -30973,7 +31094,7 @@ define("converse-templates", [
}, this),
$.proxy(function (jid, iq) {
converse.log("Error while retrieving vcard");
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -31026,9 +31147,10 @@ define("converse-templates", [
this.unsubscribe(bare_jid);
} else if (presence_type === 'unavailable') {
if (this.removeResource(bare_jid, resource) === 0) {
if (contact) {
contact.save({'chat_status': 'offline'});
chat_status = "offline";
}
if (contact && chat_status) {
contact.save({'chat_status': chat_status});
}
} else if (contact) {
// presence_type is undefined
@ -31141,7 +31263,7 @@ define("converse-templates", [
}
}, this));
}
this.showIfInvisible();
this.showIfNecessary();
} else {
q = q.toLowerCase();
matches = this.model.contacts.filter(contains.not('fullname', q));
@ -31154,13 +31276,13 @@ define("converse-templates", [
_.each(this.model.contacts.reject(contains.not('fullname', q)), $.proxy(function (item) {
this.get(item.get('id')).$el.show();
}, this));
this.showIfInvisible();
this.showIfNecessary();
}
}
},
showIfInvisible: function () {
if (!this.$el.is(':visible')) {
showIfNecessary: function () {
if (!this.$el.is(':visible') && this.model.contacts.length > 0) {
this.$el.show();
}
},
@ -31365,9 +31487,10 @@ define("converse-templates", [
liveFilter: _.debounce(function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var q = ev.target.value;
var $filter = this.$('.roster-filter');
var q = $filter.val();
var t = this.$('.filter-type').val();
$(ev.target)[this.tog(q)]('x');
$filter[this.tog(q)]('x');
this.filter(q, t);
}, 300),
@ -31472,6 +31595,7 @@ define("converse-templates", [
if (_.has(contact.changed, 'subscription') && contact.changed.requesting == 'true') {
this.addContactToGroup(contact, HEADER_REQUESTING_CONTACTS);
}
this.liveFilter();
},
updateChatBox: function (contact) {
@ -31626,6 +31750,11 @@ define("converse-templates", [
(type === 'subscribe') ||
(type === 'subscribed')) {
presence = $pres({'type': type});
} else if (type === 'offline') {
presence = $pres({'type': 'unavailable'});
if (status_message) {
presence.c('show').t(type);
}
} else {
if (type === 'online') {
presence = $pres();
@ -31815,7 +31944,7 @@ define("converse-templates", [
converse.connection.disco.addFeature('http://jabber.org/protocol/rosterx'); // Limited support
converse.connection.disco.addFeature('jabber:x:conference');
converse.connection.disco.addFeature('urn:xmpp:carbons:2');
converse.connection.disco.addFeature('vcard-temp');
converse.connection.disco.addFeature(Strophe.NS.VCARD);
converse.connection.disco.addFeature(Strophe.NS.BOSH);
converse.connection.disco.addFeature(Strophe.NS.DISCO_INFO);
converse.connection.disco.addFeature(Strophe.NS.MUC);
@ -32091,55 +32220,150 @@ define("converse-templates", [
'initiateOTR': $.proxy(chatbox.initiateOTR, chatbox),
'maximize': $.proxy(chatbox.maximize, chatbox),
'minimize': $.proxy(chatbox.minimize, chatbox),
'set': $.proxy(chatbox.set, chatbox)
'set': $.proxy(chatbox.set, chatbox),
'open': chatbox.trigger.bind(chatbox, 'show')
};
};
return {
'getBuddy': function (jid) {
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'contacts': {
'get': function (jids) {
var _transform = function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return contact.attributes;
}
},
'getChatBox': function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (chatbox) {
return wrappedChatBox(chatbox);
}
},
'getRID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
return converse.connection.rid || converse.connection._proto.rid;
}
return null;
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'getSID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
'chats': {
'get': function (jids) {
var _transform = function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (!chatbox) {
var roster_item = converse.roster.get(jid);
if (roster_item === undefined) {
converse.log('Could not get roster item for JID '+jid, 'error');
return null;
}
chatbox = converse.chatboxes.create({
'id': jid,
'jid': jid,
'fullname': _.isEmpty(roster_item.get('fullname'))? jid: roster_item.get('fullname'),
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
return wrappedChatBox(chatbox);
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'tokens': {
'get': function (id) {
if (!converse.expose_rid_and_sid || typeof converse.connection === "undefined") {
return null;
}
if (id.toLowerCase() === 'rid') {
return converse.connection.rid || converse.connection._proto.rid;
} else if (id.toLowerCase() === 'sid') {
return converse.connection.sid || converse.connection._proto.sid;
}
return null;
},
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'jQuery': $,
'openChatBox': function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return wrappedChatBox(converse.chatboxviews.showChat(contact.attributes));
}
},
'listen': {
'once': function (evt, handler) {
converse.once(evt, handler);
},
'on': function (evt, handler) {
converse.on(evt, handler);
},
'off': function (evt, handler) {
'not': function (evt, handler) {
converse.off(evt, handler);
},
'registerPlugin': function (name, callback) {
},
'plugins': {
'add': function (name, callback) {
converse.plugins[name] = callback;
},
'remove': function (name) {
delete converse.plugins[name];
},
'extend': function (obj, attributes) {
/* Helper method for overriding or extending Converse's Backbone Views or Models
*
* When a method is overriden, the original will still be available
* on the _super attribute of the object being overridden.
*
* obj: The Backbone View or Model
* attributes: A hash of attributes, such as you would pass to Backbone.Model.extend or Backbone.View.extend
*/
if (!obj.prototype._super) {
obj.prototype._super = {};
}
_.each(attributes, function (value, key) {
if (key === 'events') {
obj.prototype[key] = _.extend(value, obj.prototype[key]);
} else {
if (typeof key === 'function') {
obj.prototype._super[key] = obj.prototype[key];
}
obj.prototype[key] = value;
}
});
}
},
'env': {
'jQuery': $,
'Strophe': Strophe,
'_': _
},
// Deprecated API methods
'getBuddy': function (jid) {
converse.log('WARNING: the "getBuddy" API method has been deprecated. Please use "contacts.get" instead');
return this.contacts.get(jid);
},
'getChatBox': function (jid) {
converse.log('WARNING: the "getChatBox" API method has been deprecated. Please use "chats.get" instead');
return this.chats.get(jid);
},
'openChatBox': function (jid) {
converse.log('WARNING: the "openChatBox" API method has been deprecated. Please use "chats.get(jid).open()" instead');
var chat = this.chats.get(jid);
if (chat) { chat.open(); }
return chat;
},
'getRID': function () {
converse.log('WARNING: the "getRID" API method has been deprecated. Please use "tokens.get(\'rid\')" instead');
return this.tokens.get('rid');
},
'getSID': function () {
converse.log('WARNING: the "getSID" API method has been deprecated. Please use "tokens.get(\'sid\')" instead');
return this.tokens.get('sid');
},
'once': function (evt, handler) {
converse.log('WARNING: the "one" API method has been deprecated. Please use "listen.once" instead');
return this.listen.once(evt, handler);
},
'on': function (evt, handler) {
converse.log('WARNING: the "on" API method has been deprecated. Please use "listen.on" instead');
return this.listen.on(evt, handler);
},
'off': function (evt, handler) {
converse.log('WARNING: the "off" API method has been deprecated. Please use "listen.not" instead');
return this.listen.not(evt, handler);
}
};
}));
@ -32249,7 +32473,8 @@ require.config({
"status_option": "src/templates/status_option",
"toggle_chats": "src/templates/toggle_chats",
"toolbar": "src/templates/toolbar",
"trimmed_chat": "src/templates/trimmed_chat"
"trimmed_chat": "src/templates/trimmed_chat",
"form_textarea": "src/templates/form_textarea"
},
map: {

File diff suppressed because one or more lines are too long

View File

@ -32072,7 +32072,7 @@ Strophe.addConnectionPlugin('roster',
oldCallback.apply(this, arguments);
}
};
conn.connect = function(jid, pass, callback, wait, hold)
conn.connect = function(jid, pass, callback, wait, hold, route)
{
oldCallback = callback;
if (typeof jid == "undefined")
@ -32080,7 +32080,7 @@ Strophe.addConnectionPlugin('roster',
if (typeof pass == "undefined")
pass = null;
callback = newCallback;
_connect.apply(conn, [jid, pass, callback, wait, hold]);
_connect.apply(conn, [jid, pass, callback, wait, hold, route]);
};
conn.attach = function(jid, sid, rid, callback, wait, hold, wind)
{
@ -33502,9 +33502,21 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<field var="'+
((__t=(name))==null?'':__t)+
'"><value>'+
'">';
if (_.isArray(value)) {
__p+='\n ';
_.each(value,function(arrayValue) {
__p+='<value>'+
((__t=(arrayValue))==null?'':__t)+
'</value>';
});
__p+='\n';
} else {
__p+='\n <value>'+
((__t=(value))==null?'':__t)+
'</value></field>\n';
'</value>\n';
}
__p+='</field>\n';
}
return __p;
}; });
@ -33551,7 +33563,11 @@ __p+='<label>'+
((__t=(label))==null?'':__t)+
'<select name="'+
((__t=(name))==null?'':__t)+
'">'+
'" ';
if (multiple) {
__p+=' multiple="multiple" ';
}
__p+='>'+
((__t=(options))==null?'':__t)+
'</select></label>\n';
}
@ -33896,7 +33912,11 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<option value="'+
((__t=(value))==null?'':__t)+
'">'+
'" ';
if (selected) {
__p+=' selected="selected" ';
}
__p+=' >'+
((__t=(label))==null?'':__t)+
'</option>\n';
}
@ -34052,6 +34072,21 @@ __p+='\n href="#">'+
return __p;
}; });
define('tpl!form_textarea', [],function () { return function(obj){
var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
with(obj||{}){
__p+='<label class="label-ta">'+
((__t=(label))==null?'':__t)+
'<textarea name="'+
((__t=(name))==null?'':__t)+
'">'+
((__t=(value))==null?'':__t)+
'</textarea></label>\n';
}
return __p;
}; });
define("converse-templates", [
"tpl!action",
"tpl!add_contact_dropdown",
@ -34095,7 +34130,8 @@ define("converse-templates", [
"tpl!status_option",
"tpl!toggle_chats",
"tpl!toolbar",
"tpl!trimmed_chat"
"tpl!trimmed_chat",
"tpl!form_textarea"
], function () {
return {
action: arguments[0],
@ -34140,7 +34176,8 @@ define("converse-templates", [
status_option: arguments[39],
toggle_chats: arguments[40],
toolbar: arguments[41],
trimmed_chat: arguments[42]
trimmed_chat: arguments[42],
form_textarea: arguments[43]
};
});
@ -34363,6 +34400,7 @@ define("converse-templates", [
this.expose_rid_and_sid = false;
this.forward_messages = false;
this.hide_muc_server = false;
this.hide_offline_users = false;
this.i18n = locales.en;
this.keepalive = false;
this.message_carbons = false;
@ -34403,14 +34441,15 @@ define("converse-templates", [
'connection',
'debug',
'default_box_height',
'keepalive',
'message_carbons',
'expose_rid_and_sid',
'forward_messages',
'fullname',
'hide_muc_server',
'hide_offline_users',
'i18n',
'jid',
'keepalive',
'message_carbons',
'no_trimming',
'play_sounds',
'prebind',
@ -34777,7 +34816,11 @@ define("converse-templates", [
.c('enable', {xmlns: 'urn:xmpp:carbons:2'});
this.connection.send(carbons_iq);
this.connection.addHandler(function (iq) {
//TODO: check if carbons was enabled:
if ($(iq).find('error').length > 0) {
converse.log('ERROR: An error occured while trying to enable message carbons.');
} else {
converse.log('Message carbons appear to have been enabled.');
}
}, null, "iq", null, "enablecarbons");
};
@ -34972,7 +35015,7 @@ define("converse-templates", [
switch (type) {
case 'question':
this.otr.smpSecret(prompt(__(
'Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s',
'Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s',
[this.get('fullname'), data])));
break;
case 'trust':
@ -34996,7 +35039,7 @@ define("converse-templates", [
// encrypted messages.
//
// If 'query_msg' is passed in, it means there is an alread incoming
// query message from our buddy. Otherwise, it is us who will
// query message from our contact. Otherwise, it is us who will
// send the query message to them.
this.save({'otr_status': UNENCRYPTED});
var session = this.getSession($.proxy(function (session) {
@ -35020,7 +35063,7 @@ define("converse-templates", [
this.trigger('showOTRError', msg);
}, this));
this.trigger('showHelpMessages', [__('Exchanging private key with buddy.')]);
this.trigger('showHelpMessages', [__('Exchanging private key with contact.')]);
if (query_msg) {
this.otr.receiveMsg(query_msg);
} else {
@ -35144,6 +35187,7 @@ define("converse-templates", [
this.model.on('destroy', this.hide, this);
this.model.on('change', this.onChange, this);
this.model.on('showOTRError', this.showOTRError, this);
// XXX: doesn't look like this event is being used?
this.model.on('buddyStartsOTR', this.buddyStartsOTR, this);
this.model.on('showHelpMessages', this.showHelpMessages, this);
this.model.on('sendMessageStanza', this.sendMessageStanza, this);
@ -35216,7 +35260,7 @@ define("converse-templates", [
msg_time = moment(msg_dict.time) || moment,
text = msg_dict.message,
match = text.match(/^\/(.*?)(?: (.*))?$/),
fullname = msg_dict.fullname || this.model.get('fullname'), // XXX Perhaps always use model's?
fullname = this.model.get('fullname'), // XXX Perhaps always use model's?
extra_classes = msg_dict.delayed && 'delayed' || '',
template, username;
@ -35496,7 +35540,7 @@ define("converse-templates", [
this.model.save({'otr_status': UNVERIFIED});
}
} else if (scheme === 'smp') {
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
question = prompt(__('What is your security question?'));
if (question) {
answer = prompt(__('What is the answer to the security question?'));
@ -35531,10 +35575,14 @@ define("converse-templates", [
this.$el.find('div.chat-event').remove();
}
}
converse.emit('contactStatusChanged', item.attributes, item.get('chat_status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusChanged', item.attributes, item.get('chat_status'));
}
if (_.has(item.changed, 'status')) {
this.showStatusMessage();
converse.emit('contactStatusMessageChanged', item.attributes, item.get('status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusMessageChanged', item.attributes, item.get('status'));
}
if (_.has(item.changed, 'image')) {
@ -35555,7 +35603,7 @@ define("converse-templates", [
showStatusMessage: function (msg) {
msg = msg || this.model.get('status');
if (msg) {
if (typeof msg === "string") {
this.$el.find('p.user-custom-message').text(msg).attr('title', msg);
}
return this;
@ -35616,11 +35664,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
msgs.push(__("Your messages are not encrypted anymore"));
} else if (data.otr_status == UNVERIFIED){
msgs.push(__("Your messages are now encrypted but your buddy's identity has not been verified."));
msgs.push(__("Your messages are now encrypted but your contact's identity has not been verified."));
} else if (data.otr_status == VERIFIED){
msgs.push(__("Your buddy's identify has been verified."));
msgs.push(__("Your contact's identify has been verified."));
} else if (data.otr_status == FINISHED){
msgs.push(__("Your buddy has ended encryption on their end, you should do the same."));
msgs.push(__("Your contact has ended encryption on their end, you should do the same."));
}
return this.showHelpMessages(msgs, 'info', false);
},
@ -35631,11 +35679,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
data.otr_tooltip = __('Your messages are not encrypted. Click here to enable OTR encryption.');
} else if (data.otr_status == UNVERIFIED){
data.otr_tooltip = __('Your messages are encrypted, but your buddy has not been verified.');
data.otr_tooltip = __('Your messages are encrypted, but your contact has not been verified.');
} else if (data.otr_status == VERIFIED){
data.otr_tooltip = __('Your messages are encrypted and your buddy verified.');
data.otr_tooltip = __('Your messages are encrypted and your contact verified.');
} else if (data.otr_status == FINISHED){
data.otr_tooltip = __('Your buddy has closed their end of the private session, you should do the same');
data.otr_tooltip = __('Your contact has closed their end of the private session, you should do the same');
}
this.$el.find('.chat-toolbar').html(
converse.templates.toolbar(
@ -35843,11 +35891,19 @@ define("converse-templates", [
'submit form.add-chatroom': 'createChatRoom',
'click input#show-rooms': 'showRooms',
'click a.open-room': 'createChatRoom',
'click a.room-info': 'showRoomInfo'
'click a.room-info': 'showRoomInfo',
'change input[name=server]': 'setDomain',
'change input[name=nick]': 'setNick'
},
initialize: function (cfg) {
cfg.$parent.append(
this.$parent = cfg.$parent;
this.model.on('change:muc_domain', this.onDomainChange, this);
this.model.on('change:nick', this.onNickChange, this);
},
render: function () {
this.$parent.append(
this.$el.html(
converse.templates.room_panel({
'server_input_type': converse.hide_muc_server && 'hidden' || 'text',
@ -35858,37 +35914,34 @@ define("converse-templates", [
'label_show_rooms': __('Show rooms')
})
).hide());
this.$tabs = cfg.$parent.parent().find('#controlbox-tabs');
this.on('update-rooms-list', function (ev) {
this.updateRoomsList();
});
converse.xmppstatus.on("change", $.proxy(function (model) {
if (!(_.has(model.changed, 'fullname'))) {
return;
}
var $nick = this.$el.find('input.new-chatroom-nick');
if (! $nick.is(':focus')) {
$nick.val(model.get('fullname'));
}
}, this));
},
render: function () {
this.$tabs = this.$parent.parent().find('#controlbox-tabs');
this.$tabs.append(converse.templates.chatrooms_tab({label_rooms: __('Rooms')}));
return this;
},
onDomainChange: function (model) {
var $server = this.$el.find('input.new-chatroom-server');
$server.val(model.get('muc_domain'));
if (converse.auto_list_rooms) {
this.updateRoomsList();
}
},
onNickChange: function (model) {
var $nick = this.$el.find('input.new-chatroom-nick');
$nick.val(model.get('nick'));
},
informNoRoomsFound: function () {
var $available_chatrooms = this.$el.find('#available-chatrooms');
// # For translators: %1$s is a variable and will be replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
$('input#show-rooms').show().siblings('span.spinner').remove();
},
updateRoomsList: function (domain) {
updateRoomsList: function () {
converse.connection.muc.listRooms(
this.muc_domain,
this.model.get('muc_domain'),
$.proxy(function (iq) { // Success
var name, jid, i, fragment,
that = this,
@ -35897,7 +35950,7 @@ define("converse-templates", [
if (this.rooms.length) {
// # For translators: %1$s is a variable and will be
// # replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
fragment = document.createDocumentFragment();
for (i=0; i<this.rooms.length; i++) {
name = Strophe.unescapeNode($(this.rooms[i]).attr('name')||$(this.rooms[i]).attr('jid'));
@ -35935,7 +35988,7 @@ define("converse-templates", [
$server.removeClass('error');
$available_chatrooms.empty();
$('input#show-rooms').hide().after('<span class="spinner"/>');
this.muc_domain = server;
this.model.save({muc_domain: server});
this.updateRoomsList();
},
@ -36012,7 +36065,7 @@ define("converse-templates", [
jid = Strophe.escapeNode(name) + '@' + server;
$name.removeClass('error');
$server.removeClass('error');
this.muc_domain = server;
this.model.save({muc_domain: server});
} else {
if (!name) { $name.addClass('error'); }
if (!server) { $server.addClass('error'); }
@ -36028,6 +36081,14 @@ define("converse-templates", [
'chatroom': true,
'box_id' : b64_sha1(jid)
});
},
setDomain: function (ev) {
this.model.save({muc_domain: ev.target.value});
},
setNick: function (ev) {
this.model.save({nick: ev.target.value});
}
});
@ -36121,14 +36182,25 @@ define("converse-templates", [
},
renderContactsPanel: function () {
var model;
this.$el.html(converse.templates.controlbox(this.model.toJSON()));
this.contactspanel = new converse.ContactsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.contactspanel.render();
converse.xmppstatusview = new converse.XMPPStatusView({'model': converse.xmppstatus});
converse.xmppstatusview.render();
if (converse.allow_muc) {
this.roomspanel = new converse.RoomsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.roomspanel.render();
this.roomspanel = new converse.RoomsPanel({
'$parent': this.$el.find('.controlbox-panes'),
'model': new (Backbone.Model.extend({
id: b64_sha1('converse.roomspanel'+converse.bare_jid), // Required by sessionStorage
browserStorage: new Backbone.BrowserStorage[converse.storage](
b64_sha1('converse.roomspanel'+converse.bare_jid))
}))()
});
this.roomspanel.render().model.fetch();
if (!this.roomspanel.model.get('nick')) {
this.roomspanel.model.save({nick: Strophe.getNodeFromJid(converse.bare_jid)});
}
}
this.initDragResize();
},
@ -36180,13 +36252,10 @@ define("converse-templates", [
featureAdded: function (feature) {
if ((feature.get('var') == 'http://jabber.org/protocol/muc') && (converse.allow_muc)) {
this.roomspanel.muc_domain = feature.get('from');
this.roomspanel.model.save({muc_domain: feature.get('from')});
var $server= this.$el.find('input.new-chatroom-server');
if (! $server.is(':focus')) {
$server.val(this.roomspanel.muc_domain);
}
if (converse.auto_list_rooms) {
this.roomspanel.trigger('update-rooms-list');
$server.val(this.roomspanel.model.get('muc_domain'));
}
}
},
@ -36535,13 +36604,17 @@ define("converse-templates", [
$fields = $stanza.find('field'),
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text(),
i, j, options=[], $field, $options;
i, j, options=[], $field, $options,
values=[], $values, value;
var input_types = {
'text-private': 'password',
'text-single': 'textline',
'fixed': 'label',
'boolean': 'checkbox',
'hidden': 'hidden',
'list-single': 'dropdown'
'jid-multi': 'textarea',
'list-single': 'dropdown',
'list-multi': 'dropdown'
};
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
@ -36550,19 +36623,35 @@ define("converse-templates", [
}
for (i=0; i<$fields.length; i++) {
$field = $($fields[i]);
if ($field.attr('type') == 'list-single') {
if ($field.attr('type') == 'list-single' || $field.attr('type') == 'list-multi') {
values = [];
$values = $field.children('value');
for (j=0; j<$values.length; j++) {
values.push($($values[j]).text());
}
options = [];
$options = $field.find('option');
$options = $field.children('option');
for (j=0; j<$options.length; j++) {
value = $($options[j]).find('value').text();
options.push(converse.templates.select_option({
value: $($options[j]).find('value').text(),
label: $($options[j]).attr('label')
value: value,
label: $($options[j]).attr('label'),
selected: (values.indexOf(value) >= 0)
}));
}
$form.append(converse.templates.form_select({
name: $field.attr('var'),
label: $field.attr('label'),
options: options.join('')
options: options.join(''),
multiple: ($field.attr('type') == 'list-multi')
}));
} else if ($field.attr('type') == 'fixed') {
$form.append($('<p>').text($field.find('value').text()));
} else if ($field.attr('type') == 'jid-multi') {
$form.append(converse.templates.form_textarea({
name: $field.attr('var'),
label: $field.attr('label') || '',
value: $field.find('value').text()
}));
} else if ($field.attr('type') == 'boolean') {
$form.append(converse.templates.form_checkbox({
@ -36596,6 +36685,15 @@ define("converse-templates", [
var $input = $(this), value;
if ($input.is('[type=checkbox]')) {
value = $input.is(':checked') && 1 || 0;
} else if ($input.is('textarea')) {
value = [];
var lines = $input.val().split('\n');
for( var vk=0; vk<lines.length; vk++) {
var val = $.trim(lines[vk]);
if (val === '')
continue;
value.push(val);
}
} else {
value = $input.val();
}
@ -36870,7 +36968,7 @@ define("converse-templates", [
delayed = $message.find('delay').length > 0,
subject = $message.children('subject').text();
if (this.model.messages.findWhere({msgid: msgid})) {
if (msgid && this.model.messages.findWhere({msgid: msgid})) {
return true; // We already have this message stored.
}
this.showStatusMessages($message);
@ -36988,7 +37086,9 @@ define("converse-templates", [
onMessage: function (message) {
var $message = $(message);
var buddy_jid, $forwarded, $received,
var contact_jid, $forwarded, $received, $sent,
msgid = $message.attr('id'),
chatbox, resource, roster_item,
message_from = $message.attr('from');
if (message_from === converse.connection.jid) {
// FIXME: Forwarded messages should be sent to specific resources,
@ -36997,49 +37097,64 @@ define("converse-templates", [
}
$forwarded = $message.children('forwarded');
$received = $message.children('received[xmlns="urn:xmpp:carbons:2"]');
$sent = $message.children('sent[xmlns="urn:xmpp:carbons:2"]');
if ($forwarded.length) {
$message = $forwarded.children('message');
} else if ($received.length) {
$message = $received.children('forwarded').children('message');
message_from = $message.attr('from');
} else if ($sent.length) {
$message = $sent.children('forwarded').children('message');
message_from = $message.attr('from');
}
var from = Strophe.getBareJidFromJid(message_from),
to = Strophe.getBareJidFromJid($message.attr('to')),
resource, chatbox, roster_item;
to = Strophe.getBareJidFromJid($message.attr('to'));
if (from == converse.bare_jid) {
// I am the sender, so this must be a forwarded message...
buddy_jid = to;
contact_jid = to;
resource = Strophe.getResourceFromJid($message.attr('to'));
} else {
buddy_jid = from;
contact_jid = from;
resource = Strophe.getResourceFromJid(message_from);
}
chatbox = this.get(buddy_jid);
roster_item = converse.roster.get(buddy_jid);
roster_item = converse.roster.get(contact_jid);
if (roster_item === undefined) {
// The buddy was likely removed
converse.log('Could not get roster item for JID '+buddy_jid, 'error');
// The contact was likely removed
converse.log('Could not get roster item for JID '+contact_jid, 'error');
return true;
}
chatbox = this.get(contact_jid);
if (!chatbox) {
var fullname = roster_item.get('fullname');
fullname = _.isEmpty(fullname)? buddy_jid: fullname;
fullname = _.isEmpty(fullname)? contact_jid: fullname;
chatbox = this.create({
'id': buddy_jid,
'jid': buddy_jid,
'id': contact_jid,
'jid': contact_jid,
'fullname': fullname,
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
if (msgid && chatbox.messages.findWhere({msgid: msgid})) {
// FIXME: There's still a bug here..
// If a duplicate message is received just after the chat
// box was closed, then it'll open again (due to it being
// created here above), with now new messages.
// The solution is mostly likely to not let chat boxes show
// automatically when they are created, but to require
// "show" to be called explicitly.
return true; // We already have this message stored.
}
if (!this.isOnlyChatStateNotification($message) && from !== converse.bare_jid) {
playNotification();
}
chatbox.receiveMessage($message);
converse.roster.addResource(buddy_jid, resource);
converse.roster.addResource(contact_jid, resource);
converse.emit('message', message);
return true;
}
@ -37239,6 +37354,7 @@ define("converse-templates", [
if (ev && ev.preventDefault) {
ev.preventDefault();
}
this.model.messages.off('add',null,this);
this.remove();
this.model.maximize();
}, 200)
@ -37377,7 +37493,12 @@ define("converse-templates", [
},
showInRoster: function () {
return (!converse.show_only_online_users || this.get('chat_status') === 'online');
var chatStatus = this.get('chat_status');
if (converse.show_only_online_users && chatStatus !== 'online')
return false;
if (converse.hide_offline_users && chatStatus === 'offline')
return false;
return true;
}
});
@ -37398,54 +37519,6 @@ define("converse-templates", [
this.model.on("open", this.openChat, this);
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
},
render: function () {
if (!this.model.showInRoster()) {
this.$el.hide();
@ -37511,6 +37584,54 @@ define("converse-templates", [
));
}
return this;
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
}
});
@ -37571,7 +37692,7 @@ define("converse-templates", [
idx = _.indexOf(resources, resource);
if (idx !== -1) {
resources.splice(idx, 1);
item.set({'resources': resources});
item.save({'resources': resources});
return resources.length;
}
}
@ -37716,7 +37837,7 @@ define("converse-templates", [
converse.getVCard(
bare_jid,
$.proxy(function (jid, fullname, img, img_type, url) {
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -37730,7 +37851,7 @@ define("converse-templates", [
}, this),
$.proxy(function (jid, iq) {
converse.log("Error while retrieving vcard");
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -37783,9 +37904,10 @@ define("converse-templates", [
this.unsubscribe(bare_jid);
} else if (presence_type === 'unavailable') {
if (this.removeResource(bare_jid, resource) === 0) {
if (contact) {
contact.save({'chat_status': 'offline'});
chat_status = "offline";
}
if (contact && chat_status) {
contact.save({'chat_status': chat_status});
}
} else if (contact) {
// presence_type is undefined
@ -37898,7 +38020,7 @@ define("converse-templates", [
}
}, this));
}
this.showIfInvisible();
this.showIfNecessary();
} else {
q = q.toLowerCase();
matches = this.model.contacts.filter(contains.not('fullname', q));
@ -37911,13 +38033,13 @@ define("converse-templates", [
_.each(this.model.contacts.reject(contains.not('fullname', q)), $.proxy(function (item) {
this.get(item.get('id')).$el.show();
}, this));
this.showIfInvisible();
this.showIfNecessary();
}
}
},
showIfInvisible: function () {
if (!this.$el.is(':visible')) {
showIfNecessary: function () {
if (!this.$el.is(':visible') && this.model.contacts.length > 0) {
this.$el.show();
}
},
@ -38122,9 +38244,10 @@ define("converse-templates", [
liveFilter: _.debounce(function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var q = ev.target.value;
var $filter = this.$('.roster-filter');
var q = $filter.val();
var t = this.$('.filter-type').val();
$(ev.target)[this.tog(q)]('x');
$filter[this.tog(q)]('x');
this.filter(q, t);
}, 300),
@ -38229,6 +38352,7 @@ define("converse-templates", [
if (_.has(contact.changed, 'subscription') && contact.changed.requesting == 'true') {
this.addContactToGroup(contact, HEADER_REQUESTING_CONTACTS);
}
this.liveFilter();
},
updateChatBox: function (contact) {
@ -38383,6 +38507,11 @@ define("converse-templates", [
(type === 'subscribe') ||
(type === 'subscribed')) {
presence = $pres({'type': type});
} else if (type === 'offline') {
presence = $pres({'type': 'unavailable'});
if (status_message) {
presence.c('show').t(type);
}
} else {
if (type === 'online') {
presence = $pres();
@ -38572,7 +38701,7 @@ define("converse-templates", [
converse.connection.disco.addFeature('http://jabber.org/protocol/rosterx'); // Limited support
converse.connection.disco.addFeature('jabber:x:conference');
converse.connection.disco.addFeature('urn:xmpp:carbons:2');
converse.connection.disco.addFeature('vcard-temp');
converse.connection.disco.addFeature(Strophe.NS.VCARD);
converse.connection.disco.addFeature(Strophe.NS.BOSH);
converse.connection.disco.addFeature(Strophe.NS.DISCO_INFO);
converse.connection.disco.addFeature(Strophe.NS.MUC);
@ -38848,55 +38977,150 @@ define("converse-templates", [
'initiateOTR': $.proxy(chatbox.initiateOTR, chatbox),
'maximize': $.proxy(chatbox.maximize, chatbox),
'minimize': $.proxy(chatbox.minimize, chatbox),
'set': $.proxy(chatbox.set, chatbox)
'set': $.proxy(chatbox.set, chatbox),
'open': chatbox.trigger.bind(chatbox, 'show')
};
};
return {
'getBuddy': function (jid) {
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'contacts': {
'get': function (jids) {
var _transform = function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return contact.attributes;
}
},
'getChatBox': function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (chatbox) {
return wrappedChatBox(chatbox);
}
},
'getRID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
return converse.connection.rid || converse.connection._proto.rid;
}
return null;
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'getSID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
'chats': {
'get': function (jids) {
var _transform = function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (!chatbox) {
var roster_item = converse.roster.get(jid);
if (roster_item === undefined) {
converse.log('Could not get roster item for JID '+jid, 'error');
return null;
}
chatbox = converse.chatboxes.create({
'id': jid,
'jid': jid,
'fullname': _.isEmpty(roster_item.get('fullname'))? jid: roster_item.get('fullname'),
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
return wrappedChatBox(chatbox);
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'tokens': {
'get': function (id) {
if (!converse.expose_rid_and_sid || typeof converse.connection === "undefined") {
return null;
}
if (id.toLowerCase() === 'rid') {
return converse.connection.rid || converse.connection._proto.rid;
} else if (id.toLowerCase() === 'sid') {
return converse.connection.sid || converse.connection._proto.sid;
}
return null;
},
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'jQuery': $,
'openChatBox': function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return wrappedChatBox(converse.chatboxviews.showChat(contact.attributes));
}
},
'listen': {
'once': function (evt, handler) {
converse.once(evt, handler);
},
'on': function (evt, handler) {
converse.on(evt, handler);
},
'off': function (evt, handler) {
'not': function (evt, handler) {
converse.off(evt, handler);
},
'registerPlugin': function (name, callback) {
},
'plugins': {
'add': function (name, callback) {
converse.plugins[name] = callback;
},
'remove': function (name) {
delete converse.plugins[name];
},
'extend': function (obj, attributes) {
/* Helper method for overriding or extending Converse's Backbone Views or Models
*
* When a method is overriden, the original will still be available
* on the _super attribute of the object being overridden.
*
* obj: The Backbone View or Model
* attributes: A hash of attributes, such as you would pass to Backbone.Model.extend or Backbone.View.extend
*/
if (!obj.prototype._super) {
obj.prototype._super = {};
}
_.each(attributes, function (value, key) {
if (key === 'events') {
obj.prototype[key] = _.extend(value, obj.prototype[key]);
} else {
if (typeof key === 'function') {
obj.prototype._super[key] = obj.prototype[key];
}
obj.prototype[key] = value;
}
});
}
},
'env': {
'jQuery': $,
'Strophe': Strophe,
'_': _
},
// Deprecated API methods
'getBuddy': function (jid) {
converse.log('WARNING: the "getBuddy" API method has been deprecated. Please use "contacts.get" instead');
return this.contacts.get(jid);
},
'getChatBox': function (jid) {
converse.log('WARNING: the "getChatBox" API method has been deprecated. Please use "chats.get" instead');
return this.chats.get(jid);
},
'openChatBox': function (jid) {
converse.log('WARNING: the "openChatBox" API method has been deprecated. Please use "chats.get(jid).open()" instead');
var chat = this.chats.get(jid);
if (chat) { chat.open(); }
return chat;
},
'getRID': function () {
converse.log('WARNING: the "getRID" API method has been deprecated. Please use "tokens.get(\'rid\')" instead');
return this.tokens.get('rid');
},
'getSID': function () {
converse.log('WARNING: the "getSID" API method has been deprecated. Please use "tokens.get(\'sid\')" instead');
return this.tokens.get('sid');
},
'once': function (evt, handler) {
converse.log('WARNING: the "one" API method has been deprecated. Please use "listen.once" instead');
return this.listen.once(evt, handler);
},
'on': function (evt, handler) {
converse.log('WARNING: the "on" API method has been deprecated. Please use "listen.on" instead');
return this.listen.on(evt, handler);
},
'off': function (evt, handler) {
converse.log('WARNING: the "off" API method has been deprecated. Please use "listen.not" instead');
return this.listen.not(evt, handler);
}
};
}));
@ -39006,7 +39230,8 @@ require.config({
"status_option": "src/templates/status_option",
"toggle_chats": "src/templates/toggle_chats",
"toolbar": "src/templates/toolbar",
"trimmed_chat": "src/templates/trimmed_chat"
"trimmed_chat": "src/templates/trimmed_chat",
"form_textarea": "src/templates/form_textarea"
},
map: {

File diff suppressed because one or more lines are too long

View File

@ -39668,7 +39668,7 @@ Strophe.addConnectionPlugin('roster',
oldCallback.apply(this, arguments);
}
};
conn.connect = function(jid, pass, callback, wait, hold)
conn.connect = function(jid, pass, callback, wait, hold, route)
{
oldCallback = callback;
if (typeof jid == "undefined")
@ -39676,7 +39676,7 @@ Strophe.addConnectionPlugin('roster',
if (typeof pass == "undefined")
pass = null;
callback = newCallback;
_connect.apply(conn, [jid, pass, callback, wait, hold]);
_connect.apply(conn, [jid, pass, callback, wait, hold, route]);
};
conn.attach = function(jid, sid, rid, callback, wait, hold, wind)
{
@ -41099,9 +41099,21 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<field var="'+
((__t=(name))==null?'':__t)+
'"><value>'+
'">';
if (_.isArray(value)) {
__p+='\n ';
_.each(value,function(arrayValue) {
__p+='<value>'+
((__t=(arrayValue))==null?'':__t)+
'</value>';
});
__p+='\n';
} else {
__p+='\n <value>'+
((__t=(value))==null?'':__t)+
'</value></field>\n';
'</value>\n';
}
__p+='</field>\n';
}
return __p;
}; });
@ -41148,7 +41160,11 @@ __p+='<label>'+
((__t=(label))==null?'':__t)+
'<select name="'+
((__t=(name))==null?'':__t)+
'">'+
'" ';
if (multiple) {
__p+=' multiple="multiple" ';
}
__p+='>'+
((__t=(options))==null?'':__t)+
'</select></label>\n';
}
@ -41493,7 +41509,11 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<option value="'+
((__t=(value))==null?'':__t)+
'">'+
'" ';
if (selected) {
__p+=' selected="selected" ';
}
__p+=' >'+
((__t=(label))==null?'':__t)+
'</option>\n';
}
@ -41649,6 +41669,21 @@ __p+='\n href="#">'+
return __p;
}; });
define('tpl!form_textarea', [],function () { return function(obj){
var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
with(obj||{}){
__p+='<label class="label-ta">'+
((__t=(label))==null?'':__t)+
'<textarea name="'+
((__t=(name))==null?'':__t)+
'">'+
((__t=(value))==null?'':__t)+
'</textarea></label>\n';
}
return __p;
}; });
define("converse-templates", [
"tpl!action",
"tpl!add_contact_dropdown",
@ -41692,7 +41727,8 @@ define("converse-templates", [
"tpl!status_option",
"tpl!toggle_chats",
"tpl!toolbar",
"tpl!trimmed_chat"
"tpl!trimmed_chat",
"tpl!form_textarea"
], function () {
return {
action: arguments[0],
@ -41737,7 +41773,8 @@ define("converse-templates", [
status_option: arguments[39],
toggle_chats: arguments[40],
toolbar: arguments[41],
trimmed_chat: arguments[42]
trimmed_chat: arguments[42],
form_textarea: arguments[43]
};
});
@ -41960,6 +41997,7 @@ define("converse-templates", [
this.expose_rid_and_sid = false;
this.forward_messages = false;
this.hide_muc_server = false;
this.hide_offline_users = false;
this.i18n = locales.en;
this.keepalive = false;
this.message_carbons = false;
@ -42000,14 +42038,15 @@ define("converse-templates", [
'connection',
'debug',
'default_box_height',
'keepalive',
'message_carbons',
'expose_rid_and_sid',
'forward_messages',
'fullname',
'hide_muc_server',
'hide_offline_users',
'i18n',
'jid',
'keepalive',
'message_carbons',
'no_trimming',
'play_sounds',
'prebind',
@ -42374,7 +42413,11 @@ define("converse-templates", [
.c('enable', {xmlns: 'urn:xmpp:carbons:2'});
this.connection.send(carbons_iq);
this.connection.addHandler(function (iq) {
//TODO: check if carbons was enabled:
if ($(iq).find('error').length > 0) {
converse.log('ERROR: An error occured while trying to enable message carbons.');
} else {
converse.log('Message carbons appear to have been enabled.');
}
}, null, "iq", null, "enablecarbons");
};
@ -42569,7 +42612,7 @@ define("converse-templates", [
switch (type) {
case 'question':
this.otr.smpSecret(prompt(__(
'Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s',
'Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s',
[this.get('fullname'), data])));
break;
case 'trust':
@ -42593,7 +42636,7 @@ define("converse-templates", [
// encrypted messages.
//
// If 'query_msg' is passed in, it means there is an alread incoming
// query message from our buddy. Otherwise, it is us who will
// query message from our contact. Otherwise, it is us who will
// send the query message to them.
this.save({'otr_status': UNENCRYPTED});
var session = this.getSession($.proxy(function (session) {
@ -42617,7 +42660,7 @@ define("converse-templates", [
this.trigger('showOTRError', msg);
}, this));
this.trigger('showHelpMessages', [__('Exchanging private key with buddy.')]);
this.trigger('showHelpMessages', [__('Exchanging private key with contact.')]);
if (query_msg) {
this.otr.receiveMsg(query_msg);
} else {
@ -42741,6 +42784,7 @@ define("converse-templates", [
this.model.on('destroy', this.hide, this);
this.model.on('change', this.onChange, this);
this.model.on('showOTRError', this.showOTRError, this);
// XXX: doesn't look like this event is being used?
this.model.on('buddyStartsOTR', this.buddyStartsOTR, this);
this.model.on('showHelpMessages', this.showHelpMessages, this);
this.model.on('sendMessageStanza', this.sendMessageStanza, this);
@ -42813,7 +42857,7 @@ define("converse-templates", [
msg_time = moment(msg_dict.time) || moment,
text = msg_dict.message,
match = text.match(/^\/(.*?)(?: (.*))?$/),
fullname = msg_dict.fullname || this.model.get('fullname'), // XXX Perhaps always use model's?
fullname = this.model.get('fullname'), // XXX Perhaps always use model's?
extra_classes = msg_dict.delayed && 'delayed' || '',
template, username;
@ -43093,7 +43137,7 @@ define("converse-templates", [
this.model.save({'otr_status': UNVERIFIED});
}
} else if (scheme === 'smp') {
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
question = prompt(__('What is your security question?'));
if (question) {
answer = prompt(__('What is the answer to the security question?'));
@ -43128,10 +43172,14 @@ define("converse-templates", [
this.$el.find('div.chat-event').remove();
}
}
converse.emit('contactStatusChanged', item.attributes, item.get('chat_status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusChanged', item.attributes, item.get('chat_status'));
}
if (_.has(item.changed, 'status')) {
this.showStatusMessage();
converse.emit('contactStatusMessageChanged', item.attributes, item.get('status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusMessageChanged', item.attributes, item.get('status'));
}
if (_.has(item.changed, 'image')) {
@ -43152,7 +43200,7 @@ define("converse-templates", [
showStatusMessage: function (msg) {
msg = msg || this.model.get('status');
if (msg) {
if (typeof msg === "string") {
this.$el.find('p.user-custom-message').text(msg).attr('title', msg);
}
return this;
@ -43213,11 +43261,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
msgs.push(__("Your messages are not encrypted anymore"));
} else if (data.otr_status == UNVERIFIED){
msgs.push(__("Your messages are now encrypted but your buddy's identity has not been verified."));
msgs.push(__("Your messages are now encrypted but your contact's identity has not been verified."));
} else if (data.otr_status == VERIFIED){
msgs.push(__("Your buddy's identify has been verified."));
msgs.push(__("Your contact's identify has been verified."));
} else if (data.otr_status == FINISHED){
msgs.push(__("Your buddy has ended encryption on their end, you should do the same."));
msgs.push(__("Your contact has ended encryption on their end, you should do the same."));
}
return this.showHelpMessages(msgs, 'info', false);
},
@ -43228,11 +43276,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
data.otr_tooltip = __('Your messages are not encrypted. Click here to enable OTR encryption.');
} else if (data.otr_status == UNVERIFIED){
data.otr_tooltip = __('Your messages are encrypted, but your buddy has not been verified.');
data.otr_tooltip = __('Your messages are encrypted, but your contact has not been verified.');
} else if (data.otr_status == VERIFIED){
data.otr_tooltip = __('Your messages are encrypted and your buddy verified.');
data.otr_tooltip = __('Your messages are encrypted and your contact verified.');
} else if (data.otr_status == FINISHED){
data.otr_tooltip = __('Your buddy has closed their end of the private session, you should do the same');
data.otr_tooltip = __('Your contact has closed their end of the private session, you should do the same');
}
this.$el.find('.chat-toolbar').html(
converse.templates.toolbar(
@ -43440,11 +43488,19 @@ define("converse-templates", [
'submit form.add-chatroom': 'createChatRoom',
'click input#show-rooms': 'showRooms',
'click a.open-room': 'createChatRoom',
'click a.room-info': 'showRoomInfo'
'click a.room-info': 'showRoomInfo',
'change input[name=server]': 'setDomain',
'change input[name=nick]': 'setNick'
},
initialize: function (cfg) {
cfg.$parent.append(
this.$parent = cfg.$parent;
this.model.on('change:muc_domain', this.onDomainChange, this);
this.model.on('change:nick', this.onNickChange, this);
},
render: function () {
this.$parent.append(
this.$el.html(
converse.templates.room_panel({
'server_input_type': converse.hide_muc_server && 'hidden' || 'text',
@ -43455,37 +43511,34 @@ define("converse-templates", [
'label_show_rooms': __('Show rooms')
})
).hide());
this.$tabs = cfg.$parent.parent().find('#controlbox-tabs');
this.on('update-rooms-list', function (ev) {
this.updateRoomsList();
});
converse.xmppstatus.on("change", $.proxy(function (model) {
if (!(_.has(model.changed, 'fullname'))) {
return;
}
var $nick = this.$el.find('input.new-chatroom-nick');
if (! $nick.is(':focus')) {
$nick.val(model.get('fullname'));
}
}, this));
},
render: function () {
this.$tabs = this.$parent.parent().find('#controlbox-tabs');
this.$tabs.append(converse.templates.chatrooms_tab({label_rooms: __('Rooms')}));
return this;
},
onDomainChange: function (model) {
var $server = this.$el.find('input.new-chatroom-server');
$server.val(model.get('muc_domain'));
if (converse.auto_list_rooms) {
this.updateRoomsList();
}
},
onNickChange: function (model) {
var $nick = this.$el.find('input.new-chatroom-nick');
$nick.val(model.get('nick'));
},
informNoRoomsFound: function () {
var $available_chatrooms = this.$el.find('#available-chatrooms');
// # For translators: %1$s is a variable and will be replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
$('input#show-rooms').show().siblings('span.spinner').remove();
},
updateRoomsList: function (domain) {
updateRoomsList: function () {
converse.connection.muc.listRooms(
this.muc_domain,
this.model.get('muc_domain'),
$.proxy(function (iq) { // Success
var name, jid, i, fragment,
that = this,
@ -43494,7 +43547,7 @@ define("converse-templates", [
if (this.rooms.length) {
// # For translators: %1$s is a variable and will be
// # replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
fragment = document.createDocumentFragment();
for (i=0; i<this.rooms.length; i++) {
name = Strophe.unescapeNode($(this.rooms[i]).attr('name')||$(this.rooms[i]).attr('jid'));
@ -43532,7 +43585,7 @@ define("converse-templates", [
$server.removeClass('error');
$available_chatrooms.empty();
$('input#show-rooms').hide().after('<span class="spinner"/>');
this.muc_domain = server;
this.model.save({muc_domain: server});
this.updateRoomsList();
},
@ -43609,7 +43662,7 @@ define("converse-templates", [
jid = Strophe.escapeNode(name) + '@' + server;
$name.removeClass('error');
$server.removeClass('error');
this.muc_domain = server;
this.model.save({muc_domain: server});
} else {
if (!name) { $name.addClass('error'); }
if (!server) { $server.addClass('error'); }
@ -43625,6 +43678,14 @@ define("converse-templates", [
'chatroom': true,
'box_id' : b64_sha1(jid)
});
},
setDomain: function (ev) {
this.model.save({muc_domain: ev.target.value});
},
setNick: function (ev) {
this.model.save({nick: ev.target.value});
}
});
@ -43718,14 +43779,25 @@ define("converse-templates", [
},
renderContactsPanel: function () {
var model;
this.$el.html(converse.templates.controlbox(this.model.toJSON()));
this.contactspanel = new converse.ContactsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.contactspanel.render();
converse.xmppstatusview = new converse.XMPPStatusView({'model': converse.xmppstatus});
converse.xmppstatusview.render();
if (converse.allow_muc) {
this.roomspanel = new converse.RoomsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.roomspanel.render();
this.roomspanel = new converse.RoomsPanel({
'$parent': this.$el.find('.controlbox-panes'),
'model': new (Backbone.Model.extend({
id: b64_sha1('converse.roomspanel'+converse.bare_jid), // Required by sessionStorage
browserStorage: new Backbone.BrowserStorage[converse.storage](
b64_sha1('converse.roomspanel'+converse.bare_jid))
}))()
});
this.roomspanel.render().model.fetch();
if (!this.roomspanel.model.get('nick')) {
this.roomspanel.model.save({nick: Strophe.getNodeFromJid(converse.bare_jid)});
}
}
this.initDragResize();
},
@ -43777,13 +43849,10 @@ define("converse-templates", [
featureAdded: function (feature) {
if ((feature.get('var') == 'http://jabber.org/protocol/muc') && (converse.allow_muc)) {
this.roomspanel.muc_domain = feature.get('from');
this.roomspanel.model.save({muc_domain: feature.get('from')});
var $server= this.$el.find('input.new-chatroom-server');
if (! $server.is(':focus')) {
$server.val(this.roomspanel.muc_domain);
}
if (converse.auto_list_rooms) {
this.roomspanel.trigger('update-rooms-list');
$server.val(this.roomspanel.model.get('muc_domain'));
}
}
},
@ -44132,13 +44201,17 @@ define("converse-templates", [
$fields = $stanza.find('field'),
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text(),
i, j, options=[], $field, $options;
i, j, options=[], $field, $options,
values=[], $values, value;
var input_types = {
'text-private': 'password',
'text-single': 'textline',
'fixed': 'label',
'boolean': 'checkbox',
'hidden': 'hidden',
'list-single': 'dropdown'
'jid-multi': 'textarea',
'list-single': 'dropdown',
'list-multi': 'dropdown'
};
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
@ -44147,19 +44220,35 @@ define("converse-templates", [
}
for (i=0; i<$fields.length; i++) {
$field = $($fields[i]);
if ($field.attr('type') == 'list-single') {
if ($field.attr('type') == 'list-single' || $field.attr('type') == 'list-multi') {
values = [];
$values = $field.children('value');
for (j=0; j<$values.length; j++) {
values.push($($values[j]).text());
}
options = [];
$options = $field.find('option');
$options = $field.children('option');
for (j=0; j<$options.length; j++) {
value = $($options[j]).find('value').text();
options.push(converse.templates.select_option({
value: $($options[j]).find('value').text(),
label: $($options[j]).attr('label')
value: value,
label: $($options[j]).attr('label'),
selected: (values.indexOf(value) >= 0)
}));
}
$form.append(converse.templates.form_select({
name: $field.attr('var'),
label: $field.attr('label'),
options: options.join('')
options: options.join(''),
multiple: ($field.attr('type') == 'list-multi')
}));
} else if ($field.attr('type') == 'fixed') {
$form.append($('<p>').text($field.find('value').text()));
} else if ($field.attr('type') == 'jid-multi') {
$form.append(converse.templates.form_textarea({
name: $field.attr('var'),
label: $field.attr('label') || '',
value: $field.find('value').text()
}));
} else if ($field.attr('type') == 'boolean') {
$form.append(converse.templates.form_checkbox({
@ -44193,6 +44282,15 @@ define("converse-templates", [
var $input = $(this), value;
if ($input.is('[type=checkbox]')) {
value = $input.is(':checked') && 1 || 0;
} else if ($input.is('textarea')) {
value = [];
var lines = $input.val().split('\n');
for( var vk=0; vk<lines.length; vk++) {
var val = $.trim(lines[vk]);
if (val === '')
continue;
value.push(val);
}
} else {
value = $input.val();
}
@ -44467,7 +44565,7 @@ define("converse-templates", [
delayed = $message.find('delay').length > 0,
subject = $message.children('subject').text();
if (this.model.messages.findWhere({msgid: msgid})) {
if (msgid && this.model.messages.findWhere({msgid: msgid})) {
return true; // We already have this message stored.
}
this.showStatusMessages($message);
@ -44585,7 +44683,9 @@ define("converse-templates", [
onMessage: function (message) {
var $message = $(message);
var buddy_jid, $forwarded, $received,
var contact_jid, $forwarded, $received, $sent,
msgid = $message.attr('id'),
chatbox, resource, roster_item,
message_from = $message.attr('from');
if (message_from === converse.connection.jid) {
// FIXME: Forwarded messages should be sent to specific resources,
@ -44594,49 +44694,64 @@ define("converse-templates", [
}
$forwarded = $message.children('forwarded');
$received = $message.children('received[xmlns="urn:xmpp:carbons:2"]');
$sent = $message.children('sent[xmlns="urn:xmpp:carbons:2"]');
if ($forwarded.length) {
$message = $forwarded.children('message');
} else if ($received.length) {
$message = $received.children('forwarded').children('message');
message_from = $message.attr('from');
} else if ($sent.length) {
$message = $sent.children('forwarded').children('message');
message_from = $message.attr('from');
}
var from = Strophe.getBareJidFromJid(message_from),
to = Strophe.getBareJidFromJid($message.attr('to')),
resource, chatbox, roster_item;
to = Strophe.getBareJidFromJid($message.attr('to'));
if (from == converse.bare_jid) {
// I am the sender, so this must be a forwarded message...
buddy_jid = to;
contact_jid = to;
resource = Strophe.getResourceFromJid($message.attr('to'));
} else {
buddy_jid = from;
contact_jid = from;
resource = Strophe.getResourceFromJid(message_from);
}
chatbox = this.get(buddy_jid);
roster_item = converse.roster.get(buddy_jid);
roster_item = converse.roster.get(contact_jid);
if (roster_item === undefined) {
// The buddy was likely removed
converse.log('Could not get roster item for JID '+buddy_jid, 'error');
// The contact was likely removed
converse.log('Could not get roster item for JID '+contact_jid, 'error');
return true;
}
chatbox = this.get(contact_jid);
if (!chatbox) {
var fullname = roster_item.get('fullname');
fullname = _.isEmpty(fullname)? buddy_jid: fullname;
fullname = _.isEmpty(fullname)? contact_jid: fullname;
chatbox = this.create({
'id': buddy_jid,
'jid': buddy_jid,
'id': contact_jid,
'jid': contact_jid,
'fullname': fullname,
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
if (msgid && chatbox.messages.findWhere({msgid: msgid})) {
// FIXME: There's still a bug here..
// If a duplicate message is received just after the chat
// box was closed, then it'll open again (due to it being
// created here above), with now new messages.
// The solution is mostly likely to not let chat boxes show
// automatically when they are created, but to require
// "show" to be called explicitly.
return true; // We already have this message stored.
}
if (!this.isOnlyChatStateNotification($message) && from !== converse.bare_jid) {
playNotification();
}
chatbox.receiveMessage($message);
converse.roster.addResource(buddy_jid, resource);
converse.roster.addResource(contact_jid, resource);
converse.emit('message', message);
return true;
}
@ -44836,6 +44951,7 @@ define("converse-templates", [
if (ev && ev.preventDefault) {
ev.preventDefault();
}
this.model.messages.off('add',null,this);
this.remove();
this.model.maximize();
}, 200)
@ -44974,7 +45090,12 @@ define("converse-templates", [
},
showInRoster: function () {
return (!converse.show_only_online_users || this.get('chat_status') === 'online');
var chatStatus = this.get('chat_status');
if (converse.show_only_online_users && chatStatus !== 'online')
return false;
if (converse.hide_offline_users && chatStatus === 'offline')
return false;
return true;
}
});
@ -44995,54 +45116,6 @@ define("converse-templates", [
this.model.on("open", this.openChat, this);
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
},
render: function () {
if (!this.model.showInRoster()) {
this.$el.hide();
@ -45108,6 +45181,54 @@ define("converse-templates", [
));
}
return this;
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
}
});
@ -45168,7 +45289,7 @@ define("converse-templates", [
idx = _.indexOf(resources, resource);
if (idx !== -1) {
resources.splice(idx, 1);
item.set({'resources': resources});
item.save({'resources': resources});
return resources.length;
}
}
@ -45313,7 +45434,7 @@ define("converse-templates", [
converse.getVCard(
bare_jid,
$.proxy(function (jid, fullname, img, img_type, url) {
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -45327,7 +45448,7 @@ define("converse-templates", [
}, this),
$.proxy(function (jid, iq) {
converse.log("Error while retrieving vcard");
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -45380,9 +45501,10 @@ define("converse-templates", [
this.unsubscribe(bare_jid);
} else if (presence_type === 'unavailable') {
if (this.removeResource(bare_jid, resource) === 0) {
if (contact) {
contact.save({'chat_status': 'offline'});
chat_status = "offline";
}
if (contact && chat_status) {
contact.save({'chat_status': chat_status});
}
} else if (contact) {
// presence_type is undefined
@ -45495,7 +45617,7 @@ define("converse-templates", [
}
}, this));
}
this.showIfInvisible();
this.showIfNecessary();
} else {
q = q.toLowerCase();
matches = this.model.contacts.filter(contains.not('fullname', q));
@ -45508,13 +45630,13 @@ define("converse-templates", [
_.each(this.model.contacts.reject(contains.not('fullname', q)), $.proxy(function (item) {
this.get(item.get('id')).$el.show();
}, this));
this.showIfInvisible();
this.showIfNecessary();
}
}
},
showIfInvisible: function () {
if (!this.$el.is(':visible')) {
showIfNecessary: function () {
if (!this.$el.is(':visible') && this.model.contacts.length > 0) {
this.$el.show();
}
},
@ -45719,9 +45841,10 @@ define("converse-templates", [
liveFilter: _.debounce(function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var q = ev.target.value;
var $filter = this.$('.roster-filter');
var q = $filter.val();
var t = this.$('.filter-type').val();
$(ev.target)[this.tog(q)]('x');
$filter[this.tog(q)]('x');
this.filter(q, t);
}, 300),
@ -45826,6 +45949,7 @@ define("converse-templates", [
if (_.has(contact.changed, 'subscription') && contact.changed.requesting == 'true') {
this.addContactToGroup(contact, HEADER_REQUESTING_CONTACTS);
}
this.liveFilter();
},
updateChatBox: function (contact) {
@ -45980,6 +46104,11 @@ define("converse-templates", [
(type === 'subscribe') ||
(type === 'subscribed')) {
presence = $pres({'type': type});
} else if (type === 'offline') {
presence = $pres({'type': 'unavailable'});
if (status_message) {
presence.c('show').t(type);
}
} else {
if (type === 'online') {
presence = $pres();
@ -46169,7 +46298,7 @@ define("converse-templates", [
converse.connection.disco.addFeature('http://jabber.org/protocol/rosterx'); // Limited support
converse.connection.disco.addFeature('jabber:x:conference');
converse.connection.disco.addFeature('urn:xmpp:carbons:2');
converse.connection.disco.addFeature('vcard-temp');
converse.connection.disco.addFeature(Strophe.NS.VCARD);
converse.connection.disco.addFeature(Strophe.NS.BOSH);
converse.connection.disco.addFeature(Strophe.NS.DISCO_INFO);
converse.connection.disco.addFeature(Strophe.NS.MUC);
@ -46445,55 +46574,150 @@ define("converse-templates", [
'initiateOTR': $.proxy(chatbox.initiateOTR, chatbox),
'maximize': $.proxy(chatbox.maximize, chatbox),
'minimize': $.proxy(chatbox.minimize, chatbox),
'set': $.proxy(chatbox.set, chatbox)
'set': $.proxy(chatbox.set, chatbox),
'open': chatbox.trigger.bind(chatbox, 'show')
};
};
return {
'getBuddy': function (jid) {
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'contacts': {
'get': function (jids) {
var _transform = function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return contact.attributes;
}
},
'getChatBox': function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (chatbox) {
return wrappedChatBox(chatbox);
}
},
'getRID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
return converse.connection.rid || converse.connection._proto.rid;
}
return null;
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'getSID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
'chats': {
'get': function (jids) {
var _transform = function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (!chatbox) {
var roster_item = converse.roster.get(jid);
if (roster_item === undefined) {
converse.log('Could not get roster item for JID '+jid, 'error');
return null;
}
chatbox = converse.chatboxes.create({
'id': jid,
'jid': jid,
'fullname': _.isEmpty(roster_item.get('fullname'))? jid: roster_item.get('fullname'),
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
return wrappedChatBox(chatbox);
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'tokens': {
'get': function (id) {
if (!converse.expose_rid_and_sid || typeof converse.connection === "undefined") {
return null;
}
if (id.toLowerCase() === 'rid') {
return converse.connection.rid || converse.connection._proto.rid;
} else if (id.toLowerCase() === 'sid') {
return converse.connection.sid || converse.connection._proto.sid;
}
return null;
},
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'jQuery': $,
'openChatBox': function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return wrappedChatBox(converse.chatboxviews.showChat(contact.attributes));
}
},
'listen': {
'once': function (evt, handler) {
converse.once(evt, handler);
},
'on': function (evt, handler) {
converse.on(evt, handler);
},
'off': function (evt, handler) {
'not': function (evt, handler) {
converse.off(evt, handler);
},
'registerPlugin': function (name, callback) {
},
'plugins': {
'add': function (name, callback) {
converse.plugins[name] = callback;
},
'remove': function (name) {
delete converse.plugins[name];
},
'extend': function (obj, attributes) {
/* Helper method for overriding or extending Converse's Backbone Views or Models
*
* When a method is overriden, the original will still be available
* on the _super attribute of the object being overridden.
*
* obj: The Backbone View or Model
* attributes: A hash of attributes, such as you would pass to Backbone.Model.extend or Backbone.View.extend
*/
if (!obj.prototype._super) {
obj.prototype._super = {};
}
_.each(attributes, function (value, key) {
if (key === 'events') {
obj.prototype[key] = _.extend(value, obj.prototype[key]);
} else {
if (typeof key === 'function') {
obj.prototype._super[key] = obj.prototype[key];
}
obj.prototype[key] = value;
}
});
}
},
'env': {
'jQuery': $,
'Strophe': Strophe,
'_': _
},
// Deprecated API methods
'getBuddy': function (jid) {
converse.log('WARNING: the "getBuddy" API method has been deprecated. Please use "contacts.get" instead');
return this.contacts.get(jid);
},
'getChatBox': function (jid) {
converse.log('WARNING: the "getChatBox" API method has been deprecated. Please use "chats.get" instead');
return this.chats.get(jid);
},
'openChatBox': function (jid) {
converse.log('WARNING: the "openChatBox" API method has been deprecated. Please use "chats.get(jid).open()" instead');
var chat = this.chats.get(jid);
if (chat) { chat.open(); }
return chat;
},
'getRID': function () {
converse.log('WARNING: the "getRID" API method has been deprecated. Please use "tokens.get(\'rid\')" instead');
return this.tokens.get('rid');
},
'getSID': function () {
converse.log('WARNING: the "getSID" API method has been deprecated. Please use "tokens.get(\'sid\')" instead');
return this.tokens.get('sid');
},
'once': function (evt, handler) {
converse.log('WARNING: the "one" API method has been deprecated. Please use "listen.once" instead');
return this.listen.once(evt, handler);
},
'on': function (evt, handler) {
converse.log('WARNING: the "on" API method has been deprecated. Please use "listen.on" instead');
return this.listen.on(evt, handler);
},
'off': function (evt, handler) {
converse.log('WARNING: the "off" API method has been deprecated. Please use "listen.not" instead');
return this.listen.not(evt, handler);
}
};
}));
@ -46603,7 +46827,8 @@ require.config({
"status_option": "src/templates/status_option",
"toggle_chats": "src/templates/toggle_chats",
"toolbar": "src/templates/toolbar",
"trimmed_chat": "src/templates/trimmed_chat"
"trimmed_chat": "src/templates/trimmed_chat",
"form_textarea": "src/templates/form_textarea"
},
map: {

File diff suppressed because one or more lines are too long

View File

@ -29334,7 +29334,7 @@ Strophe.addConnectionPlugin('roster',
oldCallback.apply(this, arguments);
}
};
conn.connect = function(jid, pass, callback, wait, hold)
conn.connect = function(jid, pass, callback, wait, hold, route)
{
oldCallback = callback;
if (typeof jid == "undefined")
@ -29342,7 +29342,7 @@ Strophe.addConnectionPlugin('roster',
if (typeof pass == "undefined")
pass = null;
callback = newCallback;
_connect.apply(conn, [jid, pass, callback, wait, hold]);
_connect.apply(conn, [jid, pass, callback, wait, hold, route]);
};
conn.attach = function(jid, sid, rid, callback, wait, hold, wind)
{
@ -30765,9 +30765,21 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<field var="'+
((__t=(name))==null?'':__t)+
'"><value>'+
'">';
if (_.isArray(value)) {
__p+='\n ';
_.each(value,function(arrayValue) {
__p+='<value>'+
((__t=(arrayValue))==null?'':__t)+
'</value>';
});
__p+='\n';
} else {
__p+='\n <value>'+
((__t=(value))==null?'':__t)+
'</value></field>\n';
'</value>\n';
}
__p+='</field>\n';
}
return __p;
}; });
@ -30814,7 +30826,11 @@ __p+='<label>'+
((__t=(label))==null?'':__t)+
'<select name="'+
((__t=(name))==null?'':__t)+
'">'+
'" ';
if (multiple) {
__p+=' multiple="multiple" ';
}
__p+='>'+
((__t=(options))==null?'':__t)+
'</select></label>\n';
}
@ -31159,7 +31175,11 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<option value="'+
((__t=(value))==null?'':__t)+
'">'+
'" ';
if (selected) {
__p+=' selected="selected" ';
}
__p+=' >'+
((__t=(label))==null?'':__t)+
'</option>\n';
}
@ -31315,6 +31335,21 @@ __p+='\n href="#">'+
return __p;
}; });
define('tpl!form_textarea', [],function () { return function(obj){
var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
with(obj||{}){
__p+='<label class="label-ta">'+
((__t=(label))==null?'':__t)+
'<textarea name="'+
((__t=(name))==null?'':__t)+
'">'+
((__t=(value))==null?'':__t)+
'</textarea></label>\n';
}
return __p;
}; });
define("converse-templates", [
"tpl!action",
"tpl!add_contact_dropdown",
@ -31358,7 +31393,8 @@ define("converse-templates", [
"tpl!status_option",
"tpl!toggle_chats",
"tpl!toolbar",
"tpl!trimmed_chat"
"tpl!trimmed_chat",
"tpl!form_textarea"
], function () {
return {
action: arguments[0],
@ -31403,7 +31439,8 @@ define("converse-templates", [
status_option: arguments[39],
toggle_chats: arguments[40],
toolbar: arguments[41],
trimmed_chat: arguments[42]
trimmed_chat: arguments[42],
form_textarea: arguments[43]
};
});
@ -31626,6 +31663,7 @@ define("converse-templates", [
this.expose_rid_and_sid = false;
this.forward_messages = false;
this.hide_muc_server = false;
this.hide_offline_users = false;
this.i18n = locales.en;
this.keepalive = false;
this.message_carbons = false;
@ -31666,14 +31704,15 @@ define("converse-templates", [
'connection',
'debug',
'default_box_height',
'keepalive',
'message_carbons',
'expose_rid_and_sid',
'forward_messages',
'fullname',
'hide_muc_server',
'hide_offline_users',
'i18n',
'jid',
'keepalive',
'message_carbons',
'no_trimming',
'play_sounds',
'prebind',
@ -32040,7 +32079,11 @@ define("converse-templates", [
.c('enable', {xmlns: 'urn:xmpp:carbons:2'});
this.connection.send(carbons_iq);
this.connection.addHandler(function (iq) {
//TODO: check if carbons was enabled:
if ($(iq).find('error').length > 0) {
converse.log('ERROR: An error occured while trying to enable message carbons.');
} else {
converse.log('Message carbons appear to have been enabled.');
}
}, null, "iq", null, "enablecarbons");
};
@ -32235,7 +32278,7 @@ define("converse-templates", [
switch (type) {
case 'question':
this.otr.smpSecret(prompt(__(
'Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s',
'Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s',
[this.get('fullname'), data])));
break;
case 'trust':
@ -32259,7 +32302,7 @@ define("converse-templates", [
// encrypted messages.
//
// If 'query_msg' is passed in, it means there is an alread incoming
// query message from our buddy. Otherwise, it is us who will
// query message from our contact. Otherwise, it is us who will
// send the query message to them.
this.save({'otr_status': UNENCRYPTED});
var session = this.getSession($.proxy(function (session) {
@ -32283,7 +32326,7 @@ define("converse-templates", [
this.trigger('showOTRError', msg);
}, this));
this.trigger('showHelpMessages', [__('Exchanging private key with buddy.')]);
this.trigger('showHelpMessages', [__('Exchanging private key with contact.')]);
if (query_msg) {
this.otr.receiveMsg(query_msg);
} else {
@ -32407,6 +32450,7 @@ define("converse-templates", [
this.model.on('destroy', this.hide, this);
this.model.on('change', this.onChange, this);
this.model.on('showOTRError', this.showOTRError, this);
// XXX: doesn't look like this event is being used?
this.model.on('buddyStartsOTR', this.buddyStartsOTR, this);
this.model.on('showHelpMessages', this.showHelpMessages, this);
this.model.on('sendMessageStanza', this.sendMessageStanza, this);
@ -32479,7 +32523,7 @@ define("converse-templates", [
msg_time = moment(msg_dict.time) || moment,
text = msg_dict.message,
match = text.match(/^\/(.*?)(?: (.*))?$/),
fullname = msg_dict.fullname || this.model.get('fullname'), // XXX Perhaps always use model's?
fullname = this.model.get('fullname'), // XXX Perhaps always use model's?
extra_classes = msg_dict.delayed && 'delayed' || '',
template, username;
@ -32759,7 +32803,7 @@ define("converse-templates", [
this.model.save({'otr_status': UNVERIFIED});
}
} else if (scheme === 'smp') {
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
alert(__('You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.'));
question = prompt(__('What is your security question?'));
if (question) {
answer = prompt(__('What is the answer to the security question?'));
@ -32794,10 +32838,14 @@ define("converse-templates", [
this.$el.find('div.chat-event').remove();
}
}
converse.emit('contactStatusChanged', item.attributes, item.get('chat_status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusChanged', item.attributes, item.get('chat_status'));
}
if (_.has(item.changed, 'status')) {
this.showStatusMessage();
converse.emit('contactStatusMessageChanged', item.attributes, item.get('status'));
// TODO: DEPRECATED AND SHOULD BE REMOVED IN 0.9.0
converse.emit('buddyStatusMessageChanged', item.attributes, item.get('status'));
}
if (_.has(item.changed, 'image')) {
@ -32818,7 +32866,7 @@ define("converse-templates", [
showStatusMessage: function (msg) {
msg = msg || this.model.get('status');
if (msg) {
if (typeof msg === "string") {
this.$el.find('p.user-custom-message').text(msg).attr('title', msg);
}
return this;
@ -32879,11 +32927,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
msgs.push(__("Your messages are not encrypted anymore"));
} else if (data.otr_status == UNVERIFIED){
msgs.push(__("Your messages are now encrypted but your buddy's identity has not been verified."));
msgs.push(__("Your messages are now encrypted but your contact's identity has not been verified."));
} else if (data.otr_status == VERIFIED){
msgs.push(__("Your buddy's identify has been verified."));
msgs.push(__("Your contact's identify has been verified."));
} else if (data.otr_status == FINISHED){
msgs.push(__("Your buddy has ended encryption on their end, you should do the same."));
msgs.push(__("Your contact has ended encryption on their end, you should do the same."));
}
return this.showHelpMessages(msgs, 'info', false);
},
@ -32894,11 +32942,11 @@ define("converse-templates", [
if (data.otr_status == UNENCRYPTED) {
data.otr_tooltip = __('Your messages are not encrypted. Click here to enable OTR encryption.');
} else if (data.otr_status == UNVERIFIED){
data.otr_tooltip = __('Your messages are encrypted, but your buddy has not been verified.');
data.otr_tooltip = __('Your messages are encrypted, but your contact has not been verified.');
} else if (data.otr_status == VERIFIED){
data.otr_tooltip = __('Your messages are encrypted and your buddy verified.');
data.otr_tooltip = __('Your messages are encrypted and your contact verified.');
} else if (data.otr_status == FINISHED){
data.otr_tooltip = __('Your buddy has closed their end of the private session, you should do the same');
data.otr_tooltip = __('Your contact has closed their end of the private session, you should do the same');
}
this.$el.find('.chat-toolbar').html(
converse.templates.toolbar(
@ -33106,11 +33154,19 @@ define("converse-templates", [
'submit form.add-chatroom': 'createChatRoom',
'click input#show-rooms': 'showRooms',
'click a.open-room': 'createChatRoom',
'click a.room-info': 'showRoomInfo'
'click a.room-info': 'showRoomInfo',
'change input[name=server]': 'setDomain',
'change input[name=nick]': 'setNick'
},
initialize: function (cfg) {
cfg.$parent.append(
this.$parent = cfg.$parent;
this.model.on('change:muc_domain', this.onDomainChange, this);
this.model.on('change:nick', this.onNickChange, this);
},
render: function () {
this.$parent.append(
this.$el.html(
converse.templates.room_panel({
'server_input_type': converse.hide_muc_server && 'hidden' || 'text',
@ -33121,37 +33177,34 @@ define("converse-templates", [
'label_show_rooms': __('Show rooms')
})
).hide());
this.$tabs = cfg.$parent.parent().find('#controlbox-tabs');
this.on('update-rooms-list', function (ev) {
this.updateRoomsList();
});
converse.xmppstatus.on("change", $.proxy(function (model) {
if (!(_.has(model.changed, 'fullname'))) {
return;
}
var $nick = this.$el.find('input.new-chatroom-nick');
if (! $nick.is(':focus')) {
$nick.val(model.get('fullname'));
}
}, this));
},
render: function () {
this.$tabs = this.$parent.parent().find('#controlbox-tabs');
this.$tabs.append(converse.templates.chatrooms_tab({label_rooms: __('Rooms')}));
return this;
},
onDomainChange: function (model) {
var $server = this.$el.find('input.new-chatroom-server');
$server.val(model.get('muc_domain'));
if (converse.auto_list_rooms) {
this.updateRoomsList();
}
},
onNickChange: function (model) {
var $nick = this.$el.find('input.new-chatroom-nick');
$nick.val(model.get('nick'));
},
informNoRoomsFound: function () {
var $available_chatrooms = this.$el.find('#available-chatrooms');
// # For translators: %1$s is a variable and will be replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('No rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
$('input#show-rooms').show().siblings('span.spinner').remove();
},
updateRoomsList: function (domain) {
updateRoomsList: function () {
converse.connection.muc.listRooms(
this.muc_domain,
this.model.get('muc_domain'),
$.proxy(function (iq) { // Success
var name, jid, i, fragment,
that = this,
@ -33160,7 +33213,7 @@ define("converse-templates", [
if (this.rooms.length) {
// # For translators: %1$s is a variable and will be
// # replaced with the XMPP server name
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.muc_domain)+'</dt>');
$available_chatrooms.html('<dt>'+__('Rooms on %1$s',this.model.get('muc_domain'))+'</dt>');
fragment = document.createDocumentFragment();
for (i=0; i<this.rooms.length; i++) {
name = Strophe.unescapeNode($(this.rooms[i]).attr('name')||$(this.rooms[i]).attr('jid'));
@ -33198,7 +33251,7 @@ define("converse-templates", [
$server.removeClass('error');
$available_chatrooms.empty();
$('input#show-rooms').hide().after('<span class="spinner"/>');
this.muc_domain = server;
this.model.save({muc_domain: server});
this.updateRoomsList();
},
@ -33275,7 +33328,7 @@ define("converse-templates", [
jid = Strophe.escapeNode(name) + '@' + server;
$name.removeClass('error');
$server.removeClass('error');
this.muc_domain = server;
this.model.save({muc_domain: server});
} else {
if (!name) { $name.addClass('error'); }
if (!server) { $server.addClass('error'); }
@ -33291,6 +33344,14 @@ define("converse-templates", [
'chatroom': true,
'box_id' : b64_sha1(jid)
});
},
setDomain: function (ev) {
this.model.save({muc_domain: ev.target.value});
},
setNick: function (ev) {
this.model.save({nick: ev.target.value});
}
});
@ -33384,14 +33445,25 @@ define("converse-templates", [
},
renderContactsPanel: function () {
var model;
this.$el.html(converse.templates.controlbox(this.model.toJSON()));
this.contactspanel = new converse.ContactsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.contactspanel.render();
converse.xmppstatusview = new converse.XMPPStatusView({'model': converse.xmppstatus});
converse.xmppstatusview.render();
if (converse.allow_muc) {
this.roomspanel = new converse.RoomsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.roomspanel.render();
this.roomspanel = new converse.RoomsPanel({
'$parent': this.$el.find('.controlbox-panes'),
'model': new (Backbone.Model.extend({
id: b64_sha1('converse.roomspanel'+converse.bare_jid), // Required by sessionStorage
browserStorage: new Backbone.BrowserStorage[converse.storage](
b64_sha1('converse.roomspanel'+converse.bare_jid))
}))()
});
this.roomspanel.render().model.fetch();
if (!this.roomspanel.model.get('nick')) {
this.roomspanel.model.save({nick: Strophe.getNodeFromJid(converse.bare_jid)});
}
}
this.initDragResize();
},
@ -33443,13 +33515,10 @@ define("converse-templates", [
featureAdded: function (feature) {
if ((feature.get('var') == 'http://jabber.org/protocol/muc') && (converse.allow_muc)) {
this.roomspanel.muc_domain = feature.get('from');
this.roomspanel.model.save({muc_domain: feature.get('from')});
var $server= this.$el.find('input.new-chatroom-server');
if (! $server.is(':focus')) {
$server.val(this.roomspanel.muc_domain);
}
if (converse.auto_list_rooms) {
this.roomspanel.trigger('update-rooms-list');
$server.val(this.roomspanel.model.get('muc_domain'));
}
}
},
@ -33798,13 +33867,17 @@ define("converse-templates", [
$fields = $stanza.find('field'),
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text(),
i, j, options=[], $field, $options;
i, j, options=[], $field, $options,
values=[], $values, value;
var input_types = {
'text-private': 'password',
'text-single': 'textline',
'fixed': 'label',
'boolean': 'checkbox',
'hidden': 'hidden',
'list-single': 'dropdown'
'jid-multi': 'textarea',
'list-single': 'dropdown',
'list-multi': 'dropdown'
};
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
@ -33813,19 +33886,35 @@ define("converse-templates", [
}
for (i=0; i<$fields.length; i++) {
$field = $($fields[i]);
if ($field.attr('type') == 'list-single') {
if ($field.attr('type') == 'list-single' || $field.attr('type') == 'list-multi') {
values = [];
$values = $field.children('value');
for (j=0; j<$values.length; j++) {
values.push($($values[j]).text());
}
options = [];
$options = $field.find('option');
$options = $field.children('option');
for (j=0; j<$options.length; j++) {
value = $($options[j]).find('value').text();
options.push(converse.templates.select_option({
value: $($options[j]).find('value').text(),
label: $($options[j]).attr('label')
value: value,
label: $($options[j]).attr('label'),
selected: (values.indexOf(value) >= 0)
}));
}
$form.append(converse.templates.form_select({
name: $field.attr('var'),
label: $field.attr('label'),
options: options.join('')
options: options.join(''),
multiple: ($field.attr('type') == 'list-multi')
}));
} else if ($field.attr('type') == 'fixed') {
$form.append($('<p>').text($field.find('value').text()));
} else if ($field.attr('type') == 'jid-multi') {
$form.append(converse.templates.form_textarea({
name: $field.attr('var'),
label: $field.attr('label') || '',
value: $field.find('value').text()
}));
} else if ($field.attr('type') == 'boolean') {
$form.append(converse.templates.form_checkbox({
@ -33859,6 +33948,15 @@ define("converse-templates", [
var $input = $(this), value;
if ($input.is('[type=checkbox]')) {
value = $input.is(':checked') && 1 || 0;
} else if ($input.is('textarea')) {
value = [];
var lines = $input.val().split('\n');
for( var vk=0; vk<lines.length; vk++) {
var val = $.trim(lines[vk]);
if (val === '')
continue;
value.push(val);
}
} else {
value = $input.val();
}
@ -34133,7 +34231,7 @@ define("converse-templates", [
delayed = $message.find('delay').length > 0,
subject = $message.children('subject').text();
if (this.model.messages.findWhere({msgid: msgid})) {
if (msgid && this.model.messages.findWhere({msgid: msgid})) {
return true; // We already have this message stored.
}
this.showStatusMessages($message);
@ -34251,7 +34349,9 @@ define("converse-templates", [
onMessage: function (message) {
var $message = $(message);
var buddy_jid, $forwarded, $received,
var contact_jid, $forwarded, $received, $sent,
msgid = $message.attr('id'),
chatbox, resource, roster_item,
message_from = $message.attr('from');
if (message_from === converse.connection.jid) {
// FIXME: Forwarded messages should be sent to specific resources,
@ -34260,49 +34360,64 @@ define("converse-templates", [
}
$forwarded = $message.children('forwarded');
$received = $message.children('received[xmlns="urn:xmpp:carbons:2"]');
$sent = $message.children('sent[xmlns="urn:xmpp:carbons:2"]');
if ($forwarded.length) {
$message = $forwarded.children('message');
} else if ($received.length) {
$message = $received.children('forwarded').children('message');
message_from = $message.attr('from');
} else if ($sent.length) {
$message = $sent.children('forwarded').children('message');
message_from = $message.attr('from');
}
var from = Strophe.getBareJidFromJid(message_from),
to = Strophe.getBareJidFromJid($message.attr('to')),
resource, chatbox, roster_item;
to = Strophe.getBareJidFromJid($message.attr('to'));
if (from == converse.bare_jid) {
// I am the sender, so this must be a forwarded message...
buddy_jid = to;
contact_jid = to;
resource = Strophe.getResourceFromJid($message.attr('to'));
} else {
buddy_jid = from;
contact_jid = from;
resource = Strophe.getResourceFromJid(message_from);
}
chatbox = this.get(buddy_jid);
roster_item = converse.roster.get(buddy_jid);
roster_item = converse.roster.get(contact_jid);
if (roster_item === undefined) {
// The buddy was likely removed
converse.log('Could not get roster item for JID '+buddy_jid, 'error');
// The contact was likely removed
converse.log('Could not get roster item for JID '+contact_jid, 'error');
return true;
}
chatbox = this.get(contact_jid);
if (!chatbox) {
var fullname = roster_item.get('fullname');
fullname = _.isEmpty(fullname)? buddy_jid: fullname;
fullname = _.isEmpty(fullname)? contact_jid: fullname;
chatbox = this.create({
'id': buddy_jid,
'jid': buddy_jid,
'id': contact_jid,
'jid': contact_jid,
'fullname': fullname,
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
if (msgid && chatbox.messages.findWhere({msgid: msgid})) {
// FIXME: There's still a bug here..
// If a duplicate message is received just after the chat
// box was closed, then it'll open again (due to it being
// created here above), with now new messages.
// The solution is mostly likely to not let chat boxes show
// automatically when they are created, but to require
// "show" to be called explicitly.
return true; // We already have this message stored.
}
if (!this.isOnlyChatStateNotification($message) && from !== converse.bare_jid) {
playNotification();
}
chatbox.receiveMessage($message);
converse.roster.addResource(buddy_jid, resource);
converse.roster.addResource(contact_jid, resource);
converse.emit('message', message);
return true;
}
@ -34502,6 +34617,7 @@ define("converse-templates", [
if (ev && ev.preventDefault) {
ev.preventDefault();
}
this.model.messages.off('add',null,this);
this.remove();
this.model.maximize();
}, 200)
@ -34640,7 +34756,12 @@ define("converse-templates", [
},
showInRoster: function () {
return (!converse.show_only_online_users || this.get('chat_status') === 'online');
var chatStatus = this.get('chat_status');
if (converse.show_only_online_users && chatStatus !== 'online')
return false;
if (converse.hide_offline_users && chatStatus === 'offline')
return false;
return true;
}
});
@ -34661,54 +34782,6 @@ define("converse-templates", [
this.model.on("open", this.openChat, this);
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
},
render: function () {
if (!this.model.showInRoster()) {
this.$el.hide();
@ -34774,6 +34847,54 @@ define("converse-templates", [
));
}
return this;
},
openChat: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
// XXX: Can this.model.attributes be used here, instead of
// manually specifying all attributes?
return converse.chatboxviews.showChat({
'id': this.model.get('jid'),
'jid': this.model.get('jid'),
'fullname': this.model.get('fullname'),
'image_type': this.model.get('image_type'),
'image': this.model.get('image'),
'url': this.model.get('url'),
'status': this.model.get('status')
});
},
removeContact: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to remove this contact?"));
if (result === true) {
var bare_jid = this.model.get('jid');
converse.connection.roster.remove(bare_jid, $.proxy(function (iq) {
converse.connection.roster.unauthorize(bare_jid);
converse.rosterview.model.remove(bare_jid);
this.model.destroy();
this.remove();
}, this));
}
},
acceptRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var jid = this.model.get('jid');
converse.connection.roster.authorize(jid);
converse.connection.roster.add(jid, this.model.get('fullname'), [], function (iq) {
converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
});
},
declineRequest: function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var result = confirm(__("Are you sure you want to decline this contact request?"));
if (result === true) {
converse.connection.roster.unauthorize(this.model.get('jid'));
this.model.destroy();
}
return this;
}
});
@ -34834,7 +34955,7 @@ define("converse-templates", [
idx = _.indexOf(resources, resource);
if (idx !== -1) {
resources.splice(idx, 1);
item.set({'resources': resources});
item.save({'resources': resources});
return resources.length;
}
}
@ -34979,7 +35100,7 @@ define("converse-templates", [
converse.getVCard(
bare_jid,
$.proxy(function (jid, fullname, img, img_type, url) {
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -34993,7 +35114,7 @@ define("converse-templates", [
}, this),
$.proxy(function (jid, iq) {
converse.log("Error while retrieving vcard");
this.add({
this.create({
jid: bare_jid,
subscription: 'none',
ask: null,
@ -35046,9 +35167,10 @@ define("converse-templates", [
this.unsubscribe(bare_jid);
} else if (presence_type === 'unavailable') {
if (this.removeResource(bare_jid, resource) === 0) {
if (contact) {
contact.save({'chat_status': 'offline'});
chat_status = "offline";
}
if (contact && chat_status) {
contact.save({'chat_status': chat_status});
}
} else if (contact) {
// presence_type is undefined
@ -35161,7 +35283,7 @@ define("converse-templates", [
}
}, this));
}
this.showIfInvisible();
this.showIfNecessary();
} else {
q = q.toLowerCase();
matches = this.model.contacts.filter(contains.not('fullname', q));
@ -35174,13 +35296,13 @@ define("converse-templates", [
_.each(this.model.contacts.reject(contains.not('fullname', q)), $.proxy(function (item) {
this.get(item.get('id')).$el.show();
}, this));
this.showIfInvisible();
this.showIfNecessary();
}
}
},
showIfInvisible: function () {
if (!this.$el.is(':visible')) {
showIfNecessary: function () {
if (!this.$el.is(':visible') && this.model.contacts.length > 0) {
this.$el.show();
}
},
@ -35385,9 +35507,10 @@ define("converse-templates", [
liveFilter: _.debounce(function (ev) {
if (ev && ev.preventDefault) { ev.preventDefault(); }
var q = ev.target.value;
var $filter = this.$('.roster-filter');
var q = $filter.val();
var t = this.$('.filter-type').val();
$(ev.target)[this.tog(q)]('x');
$filter[this.tog(q)]('x');
this.filter(q, t);
}, 300),
@ -35492,6 +35615,7 @@ define("converse-templates", [
if (_.has(contact.changed, 'subscription') && contact.changed.requesting == 'true') {
this.addContactToGroup(contact, HEADER_REQUESTING_CONTACTS);
}
this.liveFilter();
},
updateChatBox: function (contact) {
@ -35646,6 +35770,11 @@ define("converse-templates", [
(type === 'subscribe') ||
(type === 'subscribed')) {
presence = $pres({'type': type});
} else if (type === 'offline') {
presence = $pres({'type': 'unavailable'});
if (status_message) {
presence.c('show').t(type);
}
} else {
if (type === 'online') {
presence = $pres();
@ -35835,7 +35964,7 @@ define("converse-templates", [
converse.connection.disco.addFeature('http://jabber.org/protocol/rosterx'); // Limited support
converse.connection.disco.addFeature('jabber:x:conference');
converse.connection.disco.addFeature('urn:xmpp:carbons:2');
converse.connection.disco.addFeature('vcard-temp');
converse.connection.disco.addFeature(Strophe.NS.VCARD);
converse.connection.disco.addFeature(Strophe.NS.BOSH);
converse.connection.disco.addFeature(Strophe.NS.DISCO_INFO);
converse.connection.disco.addFeature(Strophe.NS.MUC);
@ -36111,55 +36240,150 @@ define("converse-templates", [
'initiateOTR': $.proxy(chatbox.initiateOTR, chatbox),
'maximize': $.proxy(chatbox.maximize, chatbox),
'minimize': $.proxy(chatbox.minimize, chatbox),
'set': $.proxy(chatbox.set, chatbox)
'set': $.proxy(chatbox.set, chatbox),
'open': chatbox.trigger.bind(chatbox, 'show')
};
};
return {
'getBuddy': function (jid) {
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'contacts': {
'get': function (jids) {
var _transform = function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return contact.attributes;
}
},
'getChatBox': function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (chatbox) {
return wrappedChatBox(chatbox);
}
},
'getRID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
return converse.connection.rid || converse.connection._proto.rid;
}
return null;
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'getSID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
'chats': {
'get': function (jids) {
var _transform = function (jid) {
var chatbox = converse.chatboxes.get(jid);
if (!chatbox) {
var roster_item = converse.roster.get(jid);
if (roster_item === undefined) {
converse.log('Could not get roster item for JID '+jid, 'error');
return null;
}
chatbox = converse.chatboxes.create({
'id': jid,
'jid': jid,
'fullname': _.isEmpty(roster_item.get('fullname'))? jid: roster_item.get('fullname'),
'image_type': roster_item.get('image_type'),
'image': roster_item.get('image'),
'url': roster_item.get('url')
});
}
return wrappedChatBox(chatbox);
};
if (typeof jids === "string") {
return _transform(jids);
}
return _.map(jids, _transform);
}
},
'tokens': {
'get': function (id) {
if (!converse.expose_rid_and_sid || typeof converse.connection === "undefined") {
return null;
}
if (id.toLowerCase() === 'rid') {
return converse.connection.rid || converse.connection._proto.rid;
} else if (id.toLowerCase() === 'sid') {
return converse.connection.sid || converse.connection._proto.sid;
}
return null;
},
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'jQuery': $,
'openChatBox': function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return wrappedChatBox(converse.chatboxviews.showChat(contact.attributes));
}
},
'listen': {
'once': function (evt, handler) {
converse.once(evt, handler);
},
'on': function (evt, handler) {
converse.on(evt, handler);
},
'off': function (evt, handler) {
'not': function (evt, handler) {
converse.off(evt, handler);
},
'registerPlugin': function (name, callback) {
},
'plugins': {
'add': function (name, callback) {
converse.plugins[name] = callback;
},
'remove': function (name) {
delete converse.plugins[name];
},
'extend': function (obj, attributes) {
/* Helper method for overriding or extending Converse's Backbone Views or Models
*
* When a method is overriden, the original will still be available
* on the _super attribute of the object being overridden.
*
* obj: The Backbone View or Model
* attributes: A hash of attributes, such as you would pass to Backbone.Model.extend or Backbone.View.extend
*/
if (!obj.prototype._super) {
obj.prototype._super = {};
}
_.each(attributes, function (value, key) {
if (key === 'events') {
obj.prototype[key] = _.extend(value, obj.prototype[key]);
} else {
if (typeof key === 'function') {
obj.prototype._super[key] = obj.prototype[key];
}
obj.prototype[key] = value;
}
});
}
},
'env': {
'jQuery': $,
'Strophe': Strophe,
'_': _
},
// Deprecated API methods
'getBuddy': function (jid) {
converse.log('WARNING: the "getBuddy" API method has been deprecated. Please use "contacts.get" instead');
return this.contacts.get(jid);
},
'getChatBox': function (jid) {
converse.log('WARNING: the "getChatBox" API method has been deprecated. Please use "chats.get" instead');
return this.chats.get(jid);
},
'openChatBox': function (jid) {
converse.log('WARNING: the "openChatBox" API method has been deprecated. Please use "chats.get(jid).open()" instead');
var chat = this.chats.get(jid);
if (chat) { chat.open(); }
return chat;
},
'getRID': function () {
converse.log('WARNING: the "getRID" API method has been deprecated. Please use "tokens.get(\'rid\')" instead');
return this.tokens.get('rid');
},
'getSID': function () {
converse.log('WARNING: the "getSID" API method has been deprecated. Please use "tokens.get(\'sid\')" instead');
return this.tokens.get('sid');
},
'once': function (evt, handler) {
converse.log('WARNING: the "one" API method has been deprecated. Please use "listen.once" instead');
return this.listen.once(evt, handler);
},
'on': function (evt, handler) {
converse.log('WARNING: the "on" API method has been deprecated. Please use "listen.on" instead');
return this.listen.on(evt, handler);
},
'off': function (evt, handler) {
converse.log('WARNING: the "off" API method has been deprecated. Please use "listen.not" instead');
return this.listen.not(evt, handler);
}
};
}));
@ -36269,7 +36493,8 @@ require.config({
"status_option": "src/templates/status_option",
"toggle_chats": "src/templates/toggle_chats",
"toolbar": "src/templates/toolbar",
"trimmed_chat": "src/templates/trimmed_chat"
"trimmed_chat": "src/templates/trimmed_chat",
"form_textarea": "src/templates/form_textarea"
},
map: {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -278,13 +278,26 @@ return __p
this["JST"]["field"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<field var="' +
((__t = (name)) == null ? '' : __t) +
'"><value>' +
'">';
if (_.isArray(value)) { ;
__p += '\n ';
_.each(value,function(arrayValue) { ;
__p += '<value>' +
((__t = (arrayValue)) == null ? '' : __t) +
'</value>';
}); ;
__p += '\n';
} else { ;
__p += '\n <value>' +
((__t = (value)) == null ? '' : __t) +
'</value></field>\n';
'</value>\n';
} ;
__p += '</field>\n';
}
return __p
@ -328,13 +341,18 @@ return __p
this["JST"]["form_select"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<label>' +
((__t = (label)) == null ? '' : __t) +
'<select name="' +
((__t = (name)) == null ? '' : __t) +
'">' +
'" ';
if (multiple) { ;
__p += ' multiple="multiple" ';
} ;
__p += '>' +
((__t = (options)) == null ? '' : __t) +
'</select></label>\n';
@ -342,6 +360,22 @@ __p += '<label>' +
return __p
};
this["JST"]["form_textarea"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<label class="label-ta">' +
((__t = (label)) == null ? '' : __t) +
'<textarea name="' +
((__t = (name)) == null ? '' : __t) +
'">' +
((__t = (value)) == null ? '' : __t) +
'</textarea></label>\n';
}
return __p
};
this["JST"]["group_header"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
@ -708,11 +742,16 @@ return __p
this["JST"]["select_option"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape;
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<option value="' +
((__t = (value)) == null ? '' : __t) +
'">' +
'" ';
if (selected) { ;
__p += ' selected="selected" ';
} ;
__p += ' >' +
((__t = (label)) == null ? '' : __t) +
'</option>\n';

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
Changelog
=========
0.8.4 (Unreleased)
0.8.4 (2014-11-15)
------------------
.. note::

View File

@ -48,9 +48,9 @@ copyright = u'2014, JC Brand'
# built documents.
#
# The short X.Y version.
version = '0.8.3'
version = '0.8.4'
# The full version, including alpha/beta/rc tags.
release = '0.8.3'
release = '0.8.4'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -191,7 +191,7 @@
<div class="col-lg-8 col-lg-offset-2">
<h3>Donate</h3>
<p class="bitcoin-header">Most of the work done on <strong>converse.js</strong> is unpaid and a labor of love.</p>
<p>A heartfelt thanks to those have donated already.</p>
<p>Thanks to those have donated already.</p>
<p class="bitcoin-header"><strong>Bitcoin</strong></p>
<img src="css/images/bitcoin_qr_code.png"/>
<p>16FsPqE9DhFTryxrUenpsGX4LJ1TPu8GqS</p>
@ -235,7 +235,7 @@
* website. This code is only useful in the context of the converse.js
* website and converse.js itself is NOT dependent on it.
*/
var $ = converse.jQuery;
var $ = converse.env.jQuery;
$(window).scroll(function() {
if ($(".navbar").offset().top > 50) {
$(".navbar-fixed-top").addClass("top-nav-collapse");
@ -254,11 +254,7 @@
})();
converse.initialize({
allow_otr: true,
auto_list_rooms: false,
auto_subscribe: false,
bosh_service_url: 'https://bind.conversejs.org', // Please use this connection manager only for testing purposes
hide_muc_server: false,
i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported
keepalive: true,
play_sounds: true,

File diff suppressed because it is too large Load Diff

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.8.3\n"
"Project-Id-Version: Converse.js 0.7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-10-21 13:12+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,193 +17,193 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: converse.js:314
#: converse.js:316
msgid "unencrypted"
msgstr ""
#: converse.js:315
#: converse.js:317
msgid "unverified"
msgstr ""
#: converse.js:316
#: converse.js:318
msgid "verified"
msgstr ""
#: converse.js:317
#: converse.js:319
msgid "finished"
msgstr ""
#: converse.js:320
#: converse.js:322
msgid "This contact is busy"
msgstr ""
#: converse.js:321
#: converse.js:323
msgid "This contact is online"
msgstr ""
#: converse.js:322
#: converse.js:324
msgid "This contact is offline"
msgstr ""
#: converse.js:323
#: converse.js:325
msgid "This contact is unavailable"
msgstr ""
#: converse.js:324
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:325
#: converse.js:327
msgid "This contact is away"
msgstr ""
#: converse.js:327
#: converse.js:329
msgid "Click to hide these contacts"
msgstr ""
#: converse.js:329
#: converse.js:331
msgid "My contacts"
msgstr ""
#: converse.js:330
#: converse.js:332
msgid "Pending contacts"
msgstr ""
#: converse.js:331
#: converse.js:333
msgid "Contact requests"
msgstr ""
#: converse.js:332
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:334
#: converse.js:336
msgid "Contacts"
msgstr ""
#: converse.js:335
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:417
#: converse.js:419
msgid "Reconnecting"
msgstr ""
#: converse.js:452
#: converse.js:454
msgid "Disconnected"
msgstr ""
#: converse.js:460
#: converse.js:462
msgid "Error"
msgstr ""
#: converse.js:462
#: converse.js:464
msgid "Connecting"
msgstr ""
#: converse.js:465
#: converse.js:467
msgid "Connection Failed"
msgstr ""
#: converse.js:467
#: converse.js:469
msgid "Authenticating"
msgstr ""
#: converse.js:470
#: converse.js:472
msgid "Authentication Failed"
msgstr ""
#: converse.js:475
#: converse.js:477
msgid "Disconnecting"
msgstr ""
#: converse.js:614 converse.js:660
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr ""
#: converse.js:778
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:790
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:791
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:826
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:835
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:874
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1023
#: converse.js:1036
msgid "Personal message"
msgstr ""
#: converse.js:1055
#: converse.js:1068
msgid "Are you sure you want to clear the messages from this room?"
msgstr ""
#: converse.js:1077
#: converse.js:1090
msgid "me"
msgstr ""
#: converse.js:1131
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1134
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1176 converse.js:2314
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr ""
#: converse.js:1177
#: converse.js:1190
msgid "Write in the third person"
msgstr ""
#: converse.js:1178 converse.js:2313
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr ""
#: converse.js:1262
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1297
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1300
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1303
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1312
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1334
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -216,564 +216,564 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1347
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1348
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1350
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1354
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1465
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1467
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1469
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:1471
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1480
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1482
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:1484
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:1486
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1496
msgid "Clear all messages"
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1497
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1498
msgid "Hide the list of participants"
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1499
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1500
msgid "Start a call"
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1501
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1502
msgid "Verify with fingerprints"
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1503
msgid ""
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1513
msgid "Clear all messages"
msgstr ""
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1504
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1595
#: converse.js:1612
msgid "Online"
msgstr ""
#: converse.js:1596
#: converse.js:1613
msgid "Busy"
msgstr ""
#: converse.js:1597
#: converse.js:1614
msgid "Away"
msgstr ""
#: converse.js:1598
#: converse.js:1615
msgid "Offline"
msgstr ""
#: converse.js:1599
#: converse.js:1616
msgid "Log out"
msgstr ""
#: converse.js:1605
#: converse.js:1622
msgid "Contact name"
msgstr ""
#: converse.js:1606
#: converse.js:1623
msgid "Search"
msgstr ""
#: converse.js:1610
#: converse.js:1627
msgid "Contact username"
msgstr ""
#: converse.js:1611
#: converse.js:1628
msgid "Add"
msgstr ""
#: converse.js:1616
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr ""
#: converse.js:1617
#: converse.js:1634
msgid "Add a contact"
msgstr ""
#: converse.js:1641
#: converse.js:1658
msgid "No users found"
msgstr ""
#: converse.js:1647
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr ""
#: converse.js:1702
#: converse.js:1727
msgid "Room name"
msgstr ""
#: converse.js:1703
#: converse.js:1728
msgid "Nickname"
msgstr ""
#: converse.js:1704
#: converse.js:1729
msgid "Server"
msgstr ""
#: converse.js:1705
#: converse.js:1730
msgid "Join"
msgstr ""
#: converse.js:1706
#: converse.js:1731
msgid "Show rooms"
msgstr ""
#: converse.js:1726
#: converse.js:1735
msgid "Rooms"
msgstr ""
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1733
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr ""
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1748
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr ""
#: converse.js:1757
#: converse.js:1779
msgid "Click to open this room"
msgstr ""
#: converse.js:1758
#: converse.js:1780
msgid "Show more information on this room"
msgstr ""
#: converse.js:1820
#: converse.js:1842
msgid "Description:"
msgstr ""
#: converse.js:1821
#: converse.js:1843
msgid "Occupants:"
msgstr ""
#: converse.js:1822
#: converse.js:1844
msgid "Features:"
msgstr ""
#: converse.js:1823
#: converse.js:1845
msgid "Requires authentication"
msgstr ""
#: converse.js:1824
#: converse.js:1846
msgid "Hidden"
msgstr ""
#: converse.js:1825
#: converse.js:1847
msgid "Requires an invitation"
msgstr ""
#: converse.js:1826
#: converse.js:1848
msgid "Moderated"
msgstr ""
#: converse.js:1827
#: converse.js:1849
msgid "Non-anonymous"
msgstr ""
#: converse.js:1828
#: converse.js:1850
msgid "Open room"
msgstr ""
#: converse.js:1829
#: converse.js:1851
msgid "Permanent room"
msgstr ""
#: converse.js:1830
#: converse.js:1852
msgid "Public"
msgstr ""
#: converse.js:1831
#: converse.js:1853
msgid "Semi-anonymous"
msgstr ""
#: converse.js:1832
#: converse.js:1854
msgid "Temporary room"
msgstr ""
#: converse.js:1833
#: converse.js:1855
msgid "Unmoderated"
msgstr ""
#: converse.js:2062
#: converse.js:2108
msgid "This user is a moderator"
msgstr ""
#: converse.js:2063
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr ""
#: converse.js:2064
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr ""
#: converse.js:2096
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2097
#: converse.js:2143
msgid "Occupants"
msgstr ""
#: converse.js:2162
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2163
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2246
#: converse.js:2292
msgid "Message"
msgstr ""
#: converse.js:2282
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2312
#: converse.js:2358
msgid "Ban user from room"
msgstr ""
#: converse.js:2315
#: converse.js:2361
msgid "Kick user from room"
msgstr ""
#: converse.js:2316
#: converse.js:2362
msgid "Write in 3rd person"
msgstr ""
#: converse.js:2317
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2318
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2319
#: converse.js:2365
msgid "Set room topic"
msgstr ""
#: converse.js:2320
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2423 converse.js:4250
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr ""
#: converse.js:2424
#: converse.js:2490
msgid "Cancel"
msgstr ""
#: converse.js:2469
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr ""
#: converse.js:2513
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr ""
#: converse.js:2514
#: converse.js:2589
msgid "Password: "
msgstr ""
#: converse.js:2515
#: converse.js:2590
msgid "Submit"
msgstr ""
#: converse.js:2550
#: converse.js:2625
msgid "This room is not anonymous"
msgstr ""
#: converse.js:2551
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr ""
#: converse.js:2552
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr ""
#: converse.js:2553
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr ""
#: converse.js:2554
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr ""
#: converse.js:2555
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr ""
#: converse.js:2556
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr ""
#: converse.js:2557
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr ""
#: converse.js:2558
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr ""
#: converse.js:2559
#: converse.js:2634
msgid "A new room has been created"
msgstr ""
#: converse.js:2563 converse.js:2663
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr ""
#: converse.js:2564
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr ""
#: converse.js:2565
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr ""
#: converse.js:2566
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
#: converse.js:2567
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
#: converse.js:2581
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr ""
#: converse.js:2582
#: converse.js:2657
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr ""
#: converse.js:2583
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr ""
#: converse.js:2584
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
#: converse.js:2585
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
#: converse.js:2589
#: converse.js:2664
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2590
#: converse.js:2665
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2638 converse.js:2648
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2661
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr ""
#: converse.js:2667
#: converse.js:2742
msgid "No nickname was specified"
msgstr ""
#: converse.js:2671
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr ""
#: converse.js:2673
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr ""
#: converse.js:2677
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr ""
#: converse.js:2679
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr ""
#: converse.js:2681
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr ""
#: converse.js:2723
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr ""
#: converse.js:2805
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2809
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3044
#: converse.js:3140
msgid "Click to restore this chat"
msgstr ""
#: converse.js:3188
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3262
msgid "Are you sure you want to remove this contact?"
msgstr ""
#: converse.js:3285
msgid "Are you sure you want to decline this contact request?"
msgstr ""
#: converse.js:3329 converse.js:3347
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr ""
#: converse.js:3336
#: converse.js:3388
msgid "Click to accept this contact request"
msgstr ""
#: converse.js:3337
#: converse.js:3389
msgid "Click to decline this contact request"
msgstr ""
#: converse.js:3346
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr ""
#: converse.js:3862
#: converse.js:3423
msgid "Are you sure you want to remove this contact?"
msgstr ""
#: converse.js:3446
msgid "Are you sure you want to decline this contact request?"
msgstr ""
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4221 converse.js:4298
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr ""
#: converse.js:4223 converse.js:4303
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr ""
#: converse.js:4224 converse.js:4304
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr ""
#: converse.js:4249
#: converse.js:4416
msgid "Custom status"
msgstr ""
#: converse.js:4278 converse.js:4286
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr ""
#: converse.js:4280
#: converse.js:4447
msgid "busy"
msgstr ""
#: converse.js:4282
#: converse.js:4449
msgid "away for long"
msgstr ""
#: converse.js:4284
#: converse.js:4451
msgid "away"
msgstr ""
#: converse.js:4407
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr ""
#: converse.js:4408
#: converse.js:4575
msgid "Password:"
msgstr ""
#: converse.js:4409
#: converse.js:4576
msgid "Log In"
msgstr ""
#: converse.js:4416
#: converse.js:4583
msgid "Sign in"
msgstr ""
#: converse.js:4476
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-15 22:03+0200\n"
"Last-Translator: JC Brand <jc@opkode.com>\n"
"Language-Team: German\n"
@ -20,198 +20,198 @@ msgstr ""
"lang: de\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr ""
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr ""
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr ""
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr ""
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr "Dieser Kontakt ist beschäfticht"
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr "Dieser Kontakt ist online"
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr "Dieser Kontakt ist offline"
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr "Dieser Kontakt ist nicht verfügbar"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr "Dieser Kontakt is für längere Zeit abwesend"
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr "Dieser Kontakt ist abwesend"
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "Meine Kontakte"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Unbestätigte Kontakte"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Kontaktanfragen"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Kontakte"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Verbindungsaufbau …"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Verbindung unterbrochen."
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Fehler"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Verbindungsaufbau …"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "Entfernte Verbindung fehlgeschlagen"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Authentifizierung"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "Authentifizierung gescheitert"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "Trenne Verbindung"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Online-Kontakte"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Persönliche Nachricht"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Sie sind nicht auf der Mitgliederliste dieses Raums"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr "Ich"
#: converse.js:1154
#: converse.js:1144
#, fuzzy
msgid "is typing"
msgstr "%1$s tippt"
#: converse.js:1157
#: converse.js:1147
#, fuzzy
msgid "has stopped typing"
msgstr "%1$s tippt"
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Dieses Menü anzeigen"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "In der dritten Person schreiben"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Nachrichten entfernen"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -224,408 +224,408 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1490
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1509
#: converse.js:1503
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Persönliche Nachricht"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "Online"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Beschäfticht"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Abwesend"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "Abgemeldet"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Anmelden"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Name des Kontakts"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Suche"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Benutzername"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Hinzufügen"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Klicken Sie, um einen neuen Kontakt hinzuzufügen"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Kontakte hinzufügen"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "Keine Benutzer gefunden"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Hier klicken um als Kontakt hinzuzufügen"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "Raumname"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Spitzname"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Server"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Beitreten"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Räume anzeigen"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Räume"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "Keine Räume auf %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Räume auf %1$s"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Hier klicken um diesen Raum zu öffnen"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "Mehr Information über diesen Raum zeigen"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Beschreibung"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Teilnehmer"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Funktionen:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Authentifizierung erforderlich"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Versteckt"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Einladung erforderlich"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Moderiert"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "Nicht anonym"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Offener Raum"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Dauerhafter Raum"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Öffentlich"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Teils anonym"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Vorübergehender Raum"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Unmoderiert"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "Dieser Benutzer ist ein Moderator"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "Dieser Benutzer kann Nachrichten in diesem Raum verschicken"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "Dieser Benutzer kann keine Nachrichten in diesem Raum verschicken"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Teilnehmer"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Nachricht"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Verbanne einen Benutzer aus dem Raum."
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Werfe einen Benutzer aus dem Raum."
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "In der dritten Person schreiben"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Chatraum Thema festlegen"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Speichern"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Abbrechen"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "Beim Speichern der Formular is ein Fehler aufgetreten."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "Passwort wird für die Anmeldung benötigt."
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Passwort: "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Einreichen"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "Dieser Raum ist nicht anonym"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "Dieser Raum zeigt jetzt unferfügbare Mitglieder"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "Dieser Raum zeigt nicht unverfügbare Mitglieder"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr ""
"Die Konfiguration, die nicht auf die Privatsphäre bezogen ist, hat sich "
"geändert"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "Zukünftige Nachrichten dieses Raums werden protokolliert."
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "Zukünftige Nachrichten dieses Raums werden nicht protokolliert."
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "Dieser Raum ist jetzt nicht anonym"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "Dieser Raum ist jetzt teils anonym"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "Dieser Raum ist jetzt anonym"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "Einen neuen Raum ist erstellen"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "Sie sind aus diesem Raum verbannt worden"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "Sie wurden aus diesem Raum hinausgeworfen"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "Sie wurden wegen einer Zugehörigkeitsänderung entfernt"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr "Sie wurden aus diesem Raum entfernt da Sie kein Mitglied sind."
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
@ -633,176 +633,176 @@ msgstr ""
"Sie werden aus diesem Raum entfernt da der MUC (Muli-user chat) Dienst "
"gerade abgeschalten wird."
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> ist verbannt"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> ist verbannt"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> ist hinausgeworfen"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
"<strong>%1$s</strong> wurde wegen einer Zugehörigkeitsänderung entfernt"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> ist kein Mitglied und wurde daher entfernt"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Spitzname festgelegen"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Spitzname festgelegen"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "Sie sind nicht auf der Mitgliederliste dieses Raums"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "Kein Spitzname festgelegt"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "Es ist Ihnen nicht erlaubt, neue Räume anzulegen"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Ungültiger Spitzname"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "Ihre Spitzname existiert bereits."
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "Dieser Raum existiert (noch) nicht"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "Dieser Raum hat die maximale Mitgliederanzahl erreicht"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "%1$s hat das Thema zu \"%2$s\" abgeändert"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Hier klicken um mit diesem Kontakt zu chatten"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "Ich bin %1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Klicken Sie hier, um ihrer Status-Nachricht to ändern"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Klicken Sie, um ihrer Status to ändern"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "Status-Nachricht"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "online"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "beschäfticht"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "länger abwesend"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "abwesend"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber Benutzername"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Passwort:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Anmelden"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "Anmelden"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-15 22:15+0200\n"
"Last-Translator: JC Brand <jc@opkode.com>\n"
"Language-Team: English\n"
@ -17,196 +17,196 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr "unencrypted"
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr "unverified"
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr "verified"
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr "finished"
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr ""
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr ""
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr ""
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr ""
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr ""
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "Click to remove this contact"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "My contacts"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Pending contacts"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Contact requests"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Contacts"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Connecting"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Disconnected"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Error"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Connecting"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "Connection Failed"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Authenticating"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "Authentication Failed"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "Disconnecting"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Online Contacts"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr "Re-establishing encrypted session"
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Personal message"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "You are not on the member list of this room"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr ""
#: converse.js:1154
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1157
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Show this menu"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "Write in the third person"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Remove messages"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -219,400 +219,400 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1490
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1509
#: converse.js:1503
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Personal message"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "Online"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Busy"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Away"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "Offline"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Log In"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Contact name"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Search"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Contact username"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Add"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Click to add new chat contacts"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Add a contact"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "No users found"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Click to add as a chat contact"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "Room name"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Nickname"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Server"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Join"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Show rooms"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Rooms"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "No rooms on %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Rooms on %1$s"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Click to open this room"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "Show more information on this room"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Description:"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Occupants:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Features:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Requires authentication"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Hidden"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Requires an invitation"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Moderated"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "Non-anonymous"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Open room"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Permanent room"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Public"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Semi-anonymous"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Temporary room"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Unmoderated"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "This user is a moderator"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "This user can send messages in this room"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "This user can NOT send messages in this room"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Occupants:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Message"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Ban user from chatroom"
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Kick user from chatroom"
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "Write in the third person"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Set chatroom topic"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Save"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Cancel"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "An error occurred while trying to save the form."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "This chatroom requires a password"
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Password: "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Submit"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "This room is not anonymous"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "This room now shows unavailable members"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "This room does not show unavailable members"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr "Non-privacy-related room configuration has changed"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "Room logging is now enabled"
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "Room logging is now disabled"
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "This room is now non-anonymous"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "This room is now semi-anonymous"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "This room is now fully-anonymous"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "A new room has been created"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "You have been banned from this room"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "You have been kicked from this room"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "You have been removed from this room because of an affiliation change"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
@ -620,7 +620,7 @@ msgstr ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
@ -628,176 +628,176 @@ msgstr ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> has been banned"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> has been banned"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> has been kicked out"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
"<strong>%1$s</strong> has been removed because of an affiliation change"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> has been removed for not being a member"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Your nickname has been changed"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Your nickname has been changed"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "You are not on the member list of this room"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "No nickname was specified"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "You are not allowed to create new rooms"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Your nickname doesn't conform to this room's policies"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "Your nickname is already taken"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "This room does not (yet) exist"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "This room has reached it's maximum number of occupants"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "Topic set by %1$s to: %2$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "Click to remove this contact"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Click to remove this contact"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Click to remove this contact"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "Click to remove this contact"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "Click to remove this contact"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "Click to remove this contact"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Click to chat with this contact"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Click to remove this contact"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Click to remove this contact"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "I am %1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Click here to write a custom status message"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Click to change your chat status"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "Custom status"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "online"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "busy"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "away for long"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "away"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber Username:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Password:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Log In"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "Sign in"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-15 21:58+0200\n"
"Language-Team: FR <LL@li.org>\n"
"Language: fr\n"
@ -20,197 +20,197 @@ msgstr ""
"Domain: converse\n"
"domain: converse\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr ""
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr ""
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr ""
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr ""
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr ""
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr ""
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr ""
#: converse.js:347
#: converse.js:325
#, fuzzy
msgid "This contact is unavailable"
msgstr "Ce salon affiche maintenant des membres indisponibles"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr ""
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "Mes contacts"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Contacts en attente"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Demandes de contacts"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Contacts"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Connection"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Déconnecté"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Erreur"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Connection"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "La connection a échoué"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Authentification"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "L'authentification a échoué"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "Déconnection"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Contacts en ligne"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Message personnel"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Vous n'êtes pas dans la liste des membres de ce salon"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr ""
#: converse.js:1154
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1157
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Afficher ce menu"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "Écrire à la troisième personne"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Effacer les messages"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -223,400 +223,400 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1490
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1509
#: converse.js:1503
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Message personnel"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "En ligne"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Occupé"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Absent"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "Déconnecté"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Se connecter"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Nom du contact"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Rechercher"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Nom du contact"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Ajouter"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Cliquez pour ajouter de nouveaux contacts"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Ajouter un contact"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "Aucun utilisateur trouvé"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Cliquer pour ajouter aux contacts de chat"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "Numéro de salon"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Alias"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Serveur"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Rejoindre"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Afficher les salons"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Salons"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "Aucun salon dans %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Salons dans %1$s"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Cliquer pour ouvrir ce salon"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "Afficher davantage d'informations sur ce salon"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Description :"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Participants :"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Caractéristiques :"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Nécessite une authentification"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Masqué"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Nécessite une invitation"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Modéré"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "Non-anonyme"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Ouvrir un salon"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Salon permanent"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Public"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Semi-anonyme"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Salon temporaire"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Non modéré"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "Cet utilisateur est modérateur"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "Cet utilisateur peut envoyer des messages dans ce salon"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "Cet utilisateur ne peut PAS envoyer de messages dans ce salon"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Participants :"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Message"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Bannir l'utilisateur du salon."
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Expulser l'utilisateur du salon."
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "Écrire à la troisième personne"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Indiquer le sujet du salon"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Enregistrer"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Annuler"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "Une erreur est survenue lors de l'enregistrement du formulaire."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "Ce salon nécessite un mot de passe."
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Mot de passe : "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Soumettre"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "Ce salon n'est pas anonyme"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "Ce salon affiche maintenant des membres indisponibles"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "Ce salon n'affiche pas les membres indisponibles"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr "Les paramètres du salon non liés à la confidentialité ont été modifiés"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "Le logging du salon est activé"
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "Le logging du salon est désactivé"
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "Ce salon est maintenant non-anonyme"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "Ce salon est maintenant semi-anonyme"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "Ce salon est maintenant entièrement anonyme"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "Un nouveau salon a été créé"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "Vous avez été banni de ce salon"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "Vous avez été expulsé de ce salon"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "Vous avez été retiré de ce salon du fait d'un changement d'affiliation"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
@ -624,7 +624,7 @@ msgstr ""
"Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux "
"membres et vous n'êtes pas membre"
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
@ -632,176 +632,176 @@ msgstr ""
"Vous avez été retiré de ce salon parce que le service de chat multi-"
"utilisateur a été désactivé."
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> a été banni"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> a été banni"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> a été expulsé"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
"<strong>%1$s</strong> a été supprimé à cause d'un changement d'affiliation"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> a été supprimé car il n'est pas membre"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Votre alias a été modifié"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Votre alias a été modifié"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "Vous n'êtes pas dans la liste des membres de ce salon"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "Aucun alias n'a été indiqué"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "Vous n'êtes pas autorisé à créer des salons"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Votre alias n'est pas conforme à la politique de ce salon"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "Votre alias est déjà utilisé"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "Ce salon n'existe pas encore"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "Ce salon a atteint la limite maximale d'occupants"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "Le sujet '%1$s' a été défini par %2$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Cliquez pour discuter avec ce contact"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "Je suis %1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Cliquez ici pour indiquer votre statut personnel"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Cliquez pour changer votre statut"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "Statut personnel"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "en ligne"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "occupé"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "absent pour une longue durée"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "absent"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "Nom d'utilisateur XMPP/Jabber"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Mot de passe :"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Se connecter"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "S'inscrire"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.8.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2014-02-21 06:07+0200\n"
"Last-Translator: GreenLunar <GreenLunar@github.com>\n"
"Language-Team: Rahut <http://sourceforge.net/projects/rahut/>\n"
@ -18,130 +18,131 @@ msgstr ""
"X-Generator: Poedit 1.5.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr "לא מוצפנת"
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr "לא מאומתת"
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr "מאומתת"
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr "מוגמרת"
# איש קשר זה הינו
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr "איש קשר זה עסוק"
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr "איש קשר זה מקוון"
# איש קשר זה אינו
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr "איש קשר זה לא מקוון"
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr "איש קשר זה לא זמין"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr "איש קשר זה נעדר למשך זמן ממושך"
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr "איש קשר זה הינו נעדר"
#: converse.js:351
#: converse.js:329
msgid "Click to hide these contacts"
msgstr "לחץ כדי להסתיר את אנשי קשר אלה"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "אנשי הקשר שלי"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "אנשי קשר ממתינים"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "בקשות איש קשר"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr "ללא קבוצה"
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "אנשי קשר"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr "קבוצות"
#: converse.js:441
#: converse.js:419
msgid "Reconnecting"
msgstr "כעת מתחבר"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "מנותק"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "שגיאה"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "כעת מתחבר"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "חיבור נכשל"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "כעת מאמת"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "אימות נכשל"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "כעת מתנתק"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "אנשי קשר מקוונים"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr "בסס מחדש ישיבה מוצפנת"
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr "כעת מפיק מפתח פרטי."
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr "הדפדפן שלך עשוי שלא להגיב."
#: converse.js:850
#: converse.js:835
#, fuzzy
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
@ -151,67 +152,68 @@ msgstr ""
"\n"
"%2$s"
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr "לא היתה אפשרות לאמת את זהות משתמש זה."
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
#, fuzzy
msgid "Exchanging private key with contact."
msgstr "ממיר מפתח פרטי עם איש קשר."
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "הודעה אישית"
#: converse.js:1077
#: converse.js:1068
msgid "Are you sure you want to clear the messages from this room?"
msgstr "האם אתה בטוח כי ברצונך לטהר את ההודעות מתוך חדר זה?"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr "אני"
#: converse.js:1154
#: converse.js:1144
msgid "is typing"
msgstr "מקליד/ה כעת"
#: converse.js:1157
#: converse.js:1147
msgid "has stopped typing"
msgstr "חדל/ה מלהקליד"
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "הצג את תפריט זה"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "כתוב בגוף השלישי"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "הסר הודעות"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr "האם אתה בטוח כי ברצונך לטהר את ההודעות מתוך תיבת שיחה זה?"
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr "ההודעה שלך לא היתה יכולה להישלח"
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr "אנחנו קיבלנו הודעה לא מוצפנת"
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr "אנחנו קיבלנו הודעה מוצפנת לא קריאה"
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr "משתמש זה ביקש ישיבה מוצפנת."
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -232,12 +234,13 @@ msgstr ""
"היה ואימתת כי טביעות האצבע תואמות, לחץ אישור (OK), אחרת לחץ ביטול (Cancel)."
# הקצה השני
#: converse.js:1370
#: converse.js:1360
#, fuzzy
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
"אתה תתבקש לספק שאלת אבטחה ולאחריה תשובה לשאלה הזו.\n"
@ -245,398 +248,404 @@ msgstr ""
"האישיות שכנגד תתבקש עובר זאת לאותה שאלת אבטחה ואם זו תקלידו את את אותה "
"התשובה במדויק (case sensitive), זהותה תאומת."
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr "מהי שאלת האבטחה שלך?"
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr "מהי התשובה לשאלת האבטחה?"
# תרשים
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr "סופקה סכימת אימות שגויה"
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr "ההודעות שלך אינן מוצפנות עוד"
#: converse.js:1490
#: converse.js:1484
#, fuzzy
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr "ההודעות שלך מוצפנות כעת אך זהות האישיות שכנגד טרם אומתה."
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
#, fuzzy
msgid "Your contact's identify has been verified."
msgstr "זהות האישיות שכנגד אומתה."
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
#, fuzzy
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr "האישיות שכנגד סיימה הצפנה בקצה שלה, עליך לעשות את אותו הדבר."
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr "ההודעות שלך אינן מוצפנות. לחץ כאן כדי לאפשר OTR."
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
#, fuzzy
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr "ההודעות שלך מוצפנות כעת, אך האישיות שכנגד טרם אומתה."
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
#, fuzzy
msgid "Your messages are encrypted and your contact verified."
msgstr "ההודעות שלך מוצפנות כעת והאישיות שכנגד אומתה."
#: converse.js:1509
#: converse.js:1503
#, fuzzy
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr "האישיות שכנגד סגרה את קצה הישיבה הפרטית שלה, עליך לעשות את אותו הדבר"
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "הודעה אישית"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr "סיים ישיבה מוצפנת"
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr "רענן ישיבה מוצפנת"
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr "התחל ישיבה מוצפנת"
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr "אמת בעזרת טביעות אצבע"
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr "אמת בעזרת SMP"
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr "מה זה?"
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "מקוון"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "עסוק"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "נעדר"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "בלתי מקוון"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "כניסה"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "שם איש קשר"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "חיפוש"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "שם משתמש איש קשר"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "הוסף"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "לחץ כדי להוסיף אנשי קשר שיחה חדשים"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "הוסף איש קשר"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "לא נמצאו משתמשים"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "לחץ כדי להוסיף בתור איש קשר שיחה"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "שם חדר"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "שם כינוי"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "שרת"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "הצטרף"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "הצג חדרים"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "חדרים"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "אין חדרים על %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "חדרים על %1$s"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "לחץ כדי לפתוח את חדר זה"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "הצג עוד מידע אודות חדר זה"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "תיאור:"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "נוכחים:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "תכונות:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "מצריך אישור"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "נסתר"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "מצריך הזמנה"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "מבוקר"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "לא אנונימי"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "חדר פתוח"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "חדר צמיתה"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "פומבי"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "אנונימי למחצה"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "חדר זמני"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "לא מבוקר"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "משתמש זה הינו אחראי"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "משתמש זה מסוגל לשלוח הודעות בתוך חדר זה"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "משתמש זה ﬥﬡ מסוגל לשלוח הודעות בתוך חדר זה"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "נוכחים:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "הודעה"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "אסור משתמש מתוך חדר שיחה"
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "בעט משתמש מתוך חדר שיחה"
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "כתוב בגוף השלישי"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "קבע נושא חדר שיחה"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "שמור"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "ביטול"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "אירעה שגיאה במהלך ניסיון שמירת הטופס."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "חדר שיחה זה מצריך סיסמה"
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "סיסמה: "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "שלח"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "חדר זה אינו אנונימי"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "חדר זה כעת מציג חברים לא זמינים"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "חדר זה לא מציג חברים לא זמינים"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr "תצורת חדר אשר לא-קשורה-בפרטיות שונתה"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "יומן חדר הינו מופעל כעת"
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "יומן חדר הינו מנוטרל כעת"
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "חדר זה אינו אנונימי כעת"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "חדר זה הינו אנונימי למחצה כעת"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "חדר זה הינו אנונימי לחלוטין כעת"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "חדר חדש נוצר"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "נאסרת מתוך חדר זה"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "נבעטת מתוך חדר זה"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "הוסרת מתוך חדר זה משום שינוי שיוך"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr "הוסרת מתוך חדר זה משום שהחדר שונה לחברים-בלבד ואינך במעמד של חבר"
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
@ -644,175 +653,175 @@ msgstr ""
"הוסרת מתוך חדר זה משום ששירות שמ״מ (שיחה מרובת משתמשים) זה כעת מצוי בהליכי "
"סגירה."
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> נאסר(ה)"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> נאסר(ה)"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> נבעט(ה)"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "<strong>%1$s</strong> הוסרה(ה) משום שינוי שיוך"
# היותו(ה)
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> הוסר(ה) משום אי הימצאות במסגרת מעמד של חבר"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "שם הכינוי שלך שונה"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "שם הכינוי שלך שונה"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "אינך ברשימת החברים של חדר זה"
# אף שם כינוי לא צוין
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "לא צוין שום שם כינוי"
# אינך מורשה
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "אין לך רשות ליצור חדרים חדשים"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "שם הכינוי שלך לא תואם את המדינויות של חדר זה"
# נלקח כבר
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "שם הכינוי שלך הינו תפוס"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "חדר זה (עדיין) לא קיים"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "חדר זה הגיע לסף הנוכחים המרבי שלו"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "נושא חדר זה נקבע על ידי %1$s אל: %2$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
msgid "Click to restore this chat"
msgstr "לחץ כדי לשחזר את שיחה זו"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr "ממוזער"
#: converse.js:3274
msgid "Are you sure you want to remove this contact?"
msgstr "האם אתה בטוח כי ברצונך להסיר את איש קשר זה?"
#: converse.js:3297
msgid "Are you sure you want to decline this contact request?"
msgstr "האם אתה בטוח כי ברצונך לסרב את בקשת איש קשר זה?"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "לחץ כדי להסיר את איש קשר זה"
#: converse.js:3348
#: converse.js:3388
msgid "Click to accept this contact request"
msgstr "לחץ כדי לקבל את בקשת איש קשר זה"
#: converse.js:3349
#: converse.js:3389
msgid "Click to decline this contact request"
msgstr "לחץ כדי לסרב את בקשת איש קשר זה"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "לחץ כדי לשוחח עם איש קשר זה"
#: converse.js:3874
#: converse.js:3423
msgid "Are you sure you want to remove this contact?"
msgstr "האם אתה בטוח כי ברצונך להסיר את איש קשר זה?"
#: converse.js:3446
msgid "Are you sure you want to decline this contact request?"
msgstr "האם אתה בטוח כי ברצונך לסרב את בקשת איש קשר זה?"
#: converse.js:3972
msgid "Type to filter"
msgstr "הקלד כדי לסנן"
# אני במצב
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "מצבי כעת הינו %1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "לחץ כאן כדי לכתוב הודעת מצב מותאמת"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "לחץ כדי לשנות את הודעת השיחה שלך"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "מצב מותאם"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "מקוון"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "עסוק"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "נעדר לזמן מה"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "נעדר"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "שם משתמש XMPP/Jabber:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "סיסמה:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "כניסה"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "התחברות"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr "הפעל שיח"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-25 22:42+0200\n"
"Last-Translator: Krisztian Kompar <w3host@w3host.hu>\n"
"Language-Team: Hungarian\n"
@ -20,198 +20,198 @@ msgstr ""
"lang: hu\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr ""
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr ""
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr ""
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr ""
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr "Elfoglalt"
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr "Online"
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr "Nincs bejelentkezve"
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr "Elérhetetlen"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr "Hosszabb ideje távol"
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr "Távol"
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "A kapcsolat törlése"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "Kapcsolatok:"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Függőben levő kapcsolatok"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Kapcsolat felvételi kérés"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Kapcsolatok"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Kapcsolódás"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Szétkapcsolva"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Hiba"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Kapcsolódás"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "Kapcsolódási hiba"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Azonosítás"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "Azonosítási hiba"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "Szétkapcsolás"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Online kapcsolatok"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Saját üzenet"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Nem szerepelsz a csevegő szoba taglistáján"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr "én"
#: converse.js:1154
#: converse.js:1144
#, fuzzy
msgid "is typing"
msgstr "%1$s gépel"
#: converse.js:1157
#: converse.js:1147
#, fuzzy
msgid "has stopped typing"
msgstr "%1$s gépel"
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Mutasd ezt a menüt"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr ""
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Üzenet törlése"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -224,399 +224,399 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1490
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1509
#: converse.js:1503
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Saját üzenet"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "Elérhető"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Foglalt"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Távol"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "Nem elérhető"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Belépés"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Kapcsolat neve"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Keresés"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Felhasználónév"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Hozzáadás"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Új kapcsolatok hozzáadása"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Új kapcsolat"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "Nincs találat"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Csevegő kapcsolatként hozzáad"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "A szoba neve"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Becenév"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Szerver"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Csatlakozás"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Létező szobák"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Szobák"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "Nincs csevegő szoba a(z) %1$s szerveren"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Csevegő szobák a(z) %1$s szerveren"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Belépés a csevegő szobába"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "További információk a csevegő szobáról"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Leírás:"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Jelenlevők:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Tulajdonságok"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Azonosítás szükséges"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Rejtett"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Meghívás szükséges"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Moderált"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "NEM névtelen"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Nyitott szoba"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Állandó szoba"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Nyílvános"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Félig névtelen"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Ideiglenes szoba"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Moderálatlan"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "Ez a felhasználó egy moderátor"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "Ez a felhasználó küldhet üzenetet ebbe a szobába"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "Ez a felhasználó NEM küldhet üzenetet ebbe a szobába"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Jelenlevők:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Üzenet"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Felhasználó kitíltása a csevegő szobából"
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Felhasználó kiléptetése a csevegő szobából"
#: converse.js:2333
#: converse.js:2362
msgid "Write in 3rd person"
msgstr ""
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Csevegőszoba téma beállítás"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Mentés"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Mégsem"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "Hiba történt az adatok mentése közben."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "A csevegő szoba belépéshez jelszó szükséges"
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Jelszó:"
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Küldés"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "Ez a szoba NEM névtelen"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "Ez a szoba mutatja az elérhetetlen tagokat"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "Ez a szoba nem mutatja az elérhetetlen tagokat"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr "A szoba általános konfigurációja módosult"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "A szobába a belépés lehetséges"
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "A szobába a belépés szünetel"
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "Ez a szoba most NEM névtelen"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "Ez a szoba most félig névtelen"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "Ez a szoba most teljesen névtelen"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "Létrejött egy új csevegő szoba"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "Ki lettél tíltva ebből a szobából"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "Ki lettél dobva ebből a szobából"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "Taglista módosítás miatt kiléptettünk a csevegő szobából"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
@ -624,7 +624,7 @@ msgstr ""
"Kiléptettünk a csevegő szobából, mert mostantól csak a taglistán szereplők "
"lehetnek jelen."
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
@ -632,176 +632,176 @@ msgstr ""
"Kiléptettünk a csevegő szobából, mert a MUC (Multi-User Chat) szolgáltatás "
"leállításra került."
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "A szobából kitíltva: <strong>%1$s</strong>"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "A szobából kitíltva: <strong>%1$s</strong>"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "A szobából kidobva: <strong>%1$s</strong>"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "Taglista módosítás miatt a szobából kiléptetve: <strong>%1$s</strong>"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
"A taglistán nem szerepel így a szobából kiléptetve: <strong>%1$s</strong>"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "A beceneved módosításra került"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "A beceneved módosításra került"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "Nem szerepelsz a csevegő szoba taglistáján"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "Nem lett megadva becenév"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "Nem lehet új csevegő szobát létrehozni"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "A beceneved ütközik a csevegő szoba szabályzataival"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "A becenevedet már valaki használja"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "Ez a szoba (még) nem létezik"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "Ez a csevegő szoba elérte a maximális jelenlevők számát"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "A következő témát állította be %1$s: %2$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "A kapcsolat törlése"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "A kapcsolat törlése"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "A kapcsolat törlése"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "A kapcsolat törlése"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "A kapcsolat törlése"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "A kapcsolat törlése"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Csevegés indítása ezzel a kapcsolatunkkal"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "A kapcsolat törlése"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "A kapcsolat törlése"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "%1$s vagyok"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Egyedi státusz üzenet írása"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Saját státusz beállítása"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "Egyedi státusz"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "online"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "elfoglalt"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "hosszú ideje távol"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "távol"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber azonosító:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Jelszó:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Belépés"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "Belépés"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-15 22:00+0200\n"
"Last-Translator: Fabio Bas <ctrlaltca@gmail.com>\n"
"Language-Team: Italian\n"
@ -20,197 +20,197 @@ msgstr ""
"lang: it\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr ""
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr ""
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr ""
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr ""
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr ""
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr ""
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr ""
#: converse.js:347
#: converse.js:325
#, fuzzy
msgid "This contact is unavailable"
msgstr "Questa stanza mostra i membri non disponibili al momento"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr ""
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "I miei contatti"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Contatti in attesa"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Richieste dei contatti"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Contatti"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Connessione in corso"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Disconnesso"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Errore"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Connessione in corso"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "Connessione fallita"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Autenticazione in corso"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "Autenticazione fallita"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "Disconnessione in corso"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Contatti in linea"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Messaggio personale"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Non sei nella lista dei membri di questa stanza"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr ""
#: converse.js:1154
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1157
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Mostra questo menu"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "Scrivi in terza persona"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Rimuovi messaggi"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -223,409 +223,409 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1490
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1509
#: converse.js:1503
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Messaggio personale"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "In linea"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Occupato"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Assente"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "Non in linea"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Entra"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Nome del contatto"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Cerca"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Nome utente del contatto"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Aggiungi"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Clicca per aggiungere nuovi contatti alla chat"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Aggiungi contatti"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "Nessun utente trovato"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Clicca per aggiungere il contatto alla chat"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "Nome stanza"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Soprannome"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Server"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Entra"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Mostra stanze"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Stanze"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "Nessuna stanza su %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Stanze su %1$s"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Clicca per aprire questa stanza"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "Mostra più informazioni su questa stanza"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Descrizione:"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Utenti presenti:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Funzionalità:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Richiede autenticazione"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Nascosta"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Richiede un invito"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Moderata"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "Non-anonima"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Stanza aperta"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Stanza permanente"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Pubblica"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Semi-anonima"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Stanza temporanea"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Non moderata"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "Questo utente è un moderatore"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "Questo utente può inviare messaggi in questa stanza"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "Questo utente NON può inviare messaggi in questa stanza"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Utenti presenti:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Messaggio"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Bandisci utente dalla stanza"
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Espelli utente dalla stanza"
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "Scrivi in terza persona"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Cambia oggetto della stanza"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Salva"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Annulla"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "Errore durante il salvataggio del modulo"
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "Questa stanza richiede una password"
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Password: "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Invia"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "Questa stanza non è anonima"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "Questa stanza mostra i membri non disponibili al momento"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "Questa stanza non mostra i membri non disponibili"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr ""
"Una configurazione della stanza non legata alla privacy è stata modificata"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "La registrazione è abilitata nella stanza"
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "La registrazione è disabilitata nella stanza"
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "Questa stanza è non-anonima"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "Questa stanza è semi-anonima"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "Questa stanza è completamente-anonima"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "Una nuova stanza è stata creata"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "Sei stato bandito da questa stanza"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "Sei stato espulso da questa stanza"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr ""
"Sei stato rimosso da questa stanza a causa di un cambio di affiliazione"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
"Sei stato rimosso da questa stanza poiché ora la stanza accetta solo membri"
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
@ -633,176 +633,176 @@ msgstr ""
"Sei stato rimosso da questa stanza poiché il servizio MUC (Chat multi "
"utente) è in fase di spegnimento"
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> è stato bandito"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> è stato bandito"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> è stato espulso"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
"<strong>%1$s</strong> è stato rimosso a causa di un cambio di affiliazione"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> è stato rimosso in quanto non membro"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Il tuo soprannome è stato cambiato"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Il tuo soprannome è stato cambiato"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "Non sei nella lista dei membri di questa stanza"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "Nessun soprannome specificato"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "Non ti è permesso creare nuove stanze"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Il tuo soprannome non è conforme alle regole di questa stanza"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "Il tuo soprannome è già utilizzato"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "Questa stanza non esiste (per ora)"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "Questa stanza ha raggiunto il limite massimo di utenti"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "Topic impostato da %1$s a: %2$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Clicca per parlare con questo contatto"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Clicca per rimuovere questo contatto"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "Sono %1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Clicca qui per scrivere un messaggio di stato personalizzato"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Clicca per cambiare il tuo stato"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "Stato personalizzato"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "in linea"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "occupato"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "assente da molto"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "assente"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "Nome utente:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Password:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Entra"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "Accesso"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-15 22:03+0200\n"
"Last-Translator: Maarten Kling <maarten@fourdigits.nl>\n"
"Language-Team: Dutch\n"
@ -20,198 +20,198 @@ msgstr ""
"lang: nl\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr "ongecodeerde"
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr "niet geverifieerd"
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr "geverifieerd"
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr "klaar"
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr "Contact is bezet"
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr "Contact is online"
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr "Contact is offline"
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr "Contact is niet beschikbaar"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr "Contact is afwezig voor lange periode"
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr "Conact is afwezig"
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "Klik om contact te verwijderen"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "Mijn contacts"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Conacten in afwachting van"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Contact uitnodiging"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Contacten"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Verbinden"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Verbinding verbroken."
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Error"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Verbinden"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "Verbinden mislukt"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Authenticeren"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "Authenticeren mislukt"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr ""
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Online Contacten"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr "Bezig versleutelde sessie te herstellen"
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr "Niet kon de identiteit van deze gebruiker niet identificeren."
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Persoonlijk bericht"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Je bent niet een gebruiker van deze room"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr "ikzelf"
#: converse.js:1154
#: converse.js:1144
#, fuzzy
msgid "is typing"
msgstr "%1$s is aan typen"
#: converse.js:1157
#: converse.js:1147
#, fuzzy
msgid "has stopped typing"
msgstr "%1$s is aan typen"
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Toon dit menu"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "Schrijf in de 3de persoon"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Verwijder bericht"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr "Je bericht kon niet worden verzonden"
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr "We ontvingen een unencrypted bericht "
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr "We ontvangen een onleesbaar unencrypted bericht"
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr "Deze gebruiker heeft een encrypted sessie aangevraagd."
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -224,581 +224,587 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr "Wat is jou sericury vraag?"
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr "Wat is het antwoord op de security vraag?"
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr "Je berichten zijn niet meer encrypted"
#: converse.js:1490
#: converse.js:1484
#, fuzzy
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
msgstr "Jou berichten zijn encrypted, maar je contact is niet geverifieerd."
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
#, fuzzy
msgid "Your contact's identify has been verified."
msgstr "Jou contact is geverifieerd"
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
#, fuzzy
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr "Jou contact heeft encryption aanstaan, je moet het zelfde doen."
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
"Jou bericht is niet encrypted. KLik hier om ORC encrytion aan te zetten."
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
#, fuzzy
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr "Jou berichten zijn encrypted, maar je contact is niet geverifieerd."
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
#, fuzzy
msgid "Your messages are encrypted and your contact verified."
msgstr "Jou bericht is encrypted en jou contact is geverifieerd."
#: converse.js:1509
#: converse.js:1503
#, fuzzy
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
msgstr "Jou contact heeft encryption aanstaan, je moet het zelfde doen."
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Persoonlijk bericht"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr "Beeindig encrypted gesprek"
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr "Ververs encrypted gesprek"
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr "Start encrypted gesprek"
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr "Wat is dit?"
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "Online"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Bezet"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Afwezig"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr ""
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Aanmelden"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Contact naam"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Zoeken"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Contact gebruikernaam"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Toevoegen"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Klik om nieuwe contacten toe te voegen"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Voeg contact toe"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "Geen gebruikers gevonden"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Klik om contact toe te voegen"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "Room naam"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Nickname"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Server"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Deelnemen"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Toon rooms"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Rooms"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "Geen room op %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Room op %1$s"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Klik om room te openen"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "Toon meer informatie over deze room"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Beschrijving"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Deelnemers:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Functies:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Verificatie vereist"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Verborgen"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Veriest een uitnodiging"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Gemodereerd"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "Niet annoniem"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Open room"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Blijvend room"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Publiek"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Semi annoniem"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Tijdelijke room"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Niet gemodereerd"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "Dit is een moderator"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "Deze gebruiker kan berichten sturen in deze room"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "Deze gebruiker kan NIET een bericht sturen in deze room"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Deelnemers:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Bericht"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Ban gebruiker van chatroom"
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Goei gebruiker uit chatroom"
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "Schrijf in de 3de persoon"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Zet chatroom topic"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Opslaan"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Annuleren"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "Een error tijdens het opslaan van het formulier."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "Chatroom heeft een wachtwoord"
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Wachtwoord: "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Indienen"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "Deze room is niet annoniem"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr ""
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr ""
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr ""
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr ""
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr ""
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "Deze room is nu niet annoniem"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "Deze room is nu semie annoniem"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "Deze room is nu volledig annoniem"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "Een nieuwe room is gemaakt"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "Je bent verbannen uit deze room"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "Je bent uit de room gegooid"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr ""
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> is verbannen"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> is verbannen"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> has been kicked out"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Je nickname is veranderd"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Je nickname is veranderd"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "Je bent niet een gebruiker van deze room"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "Geen nickname ingegeven"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "Je bent niet toegestaan nieuwe rooms te maken"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Je nickname is niet conform policy"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "Je nickname bestaat al"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "Deze room bestaat niet"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "Deze room heeft het maximale aantal gebruikers"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr ""
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "Klik om contact te verwijderen"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Klik om contact te verwijderen"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Klik om contact te verwijderen"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "Klik om contact te verwijderen"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "Klik om contact te verwijderen"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "Klik om contact te verwijderen"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Klik om te chatten met contact"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Klik om contact te verwijderen"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Klik om contact te verwijderen"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "Ik ben %1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Klik hier om custom status bericht te maken"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Klik hier om status te wijzigen"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr ""
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "online"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "bezet"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "afwezig lange tijd"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "afwezig"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber Username:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Wachtwoord:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Aanmelden"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "Aanmelden"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.8.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-10-21 13:12+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2014-10-21 13:13+0200\n"
"Last-Translator: Dev Account <info@elkom.com.tw>\n"
"Language-Team: Polish\n"
@ -19,193 +19,193 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: converse.js:314
#: converse.js:316
msgid "unencrypted"
msgstr ""
#: converse.js:315
#: converse.js:317
msgid "unverified"
msgstr ""
#: converse.js:316
#: converse.js:318
msgid "verified"
msgstr ""
#: converse.js:317
#: converse.js:319
msgid "finished"
msgstr ""
#: converse.js:320
#: converse.js:322
msgid "This contact is busy"
msgstr ""
#: converse.js:321
#: converse.js:323
msgid "This contact is online"
msgstr ""
#: converse.js:322
#: converse.js:324
msgid "This contact is offline"
msgstr ""
#: converse.js:323
#: converse.js:325
msgid "This contact is unavailable"
msgstr ""
#: converse.js:324
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:325
#: converse.js:327
msgid "This contact is away"
msgstr ""
#: converse.js:327
#: converse.js:329
msgid "Click to hide these contacts"
msgstr ""
#: converse.js:329
#: converse.js:331
msgid "My contacts"
msgstr ""
#: converse.js:330
#: converse.js:332
msgid "Pending contacts"
msgstr ""
#: converse.js:331
#: converse.js:333
msgid "Contact requests"
msgstr ""
#: converse.js:332
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:334
#: converse.js:336
msgid "Contacts"
msgstr ""
#: converse.js:335
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:417
#: converse.js:419
msgid "Reconnecting"
msgstr ""
#: converse.js:452
#: converse.js:454
msgid "Disconnected"
msgstr ""
#: converse.js:460
#: converse.js:462
msgid "Error"
msgstr ""
#: converse.js:462
#: converse.js:464
msgid "Connecting"
msgstr ""
#: converse.js:465
#: converse.js:467
msgid "Connection Failed"
msgstr ""
#: converse.js:467
#: converse.js:469
msgid "Authenticating"
msgstr ""
#: converse.js:470
#: converse.js:472
msgid "Authentication Failed"
msgstr ""
#: converse.js:475
#: converse.js:477
msgid "Disconnecting"
msgstr ""
#: converse.js:614 converse.js:660
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr ""
#: converse.js:778
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:790
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:791
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:826
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:835
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:874
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1023
#: converse.js:1036
msgid "Personal message"
msgstr ""
#: converse.js:1055
#: converse.js:1068
msgid "Are you sure you want to clear the messages from this room?"
msgstr ""
#: converse.js:1077
#: converse.js:1090
msgid "me"
msgstr ""
#: converse.js:1131
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1134
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1176 converse.js:2314
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr ""
#: converse.js:1177
#: converse.js:1190
msgid "Write in the third person"
msgstr ""
#: converse.js:1178 converse.js:2313
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr ""
#: converse.js:1262
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1297
#: converse.js:1310
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1300
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1303
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1312
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1334
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -218,564 +218,564 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1347
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1348
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1350
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1354
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1465
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1467
#: converse.js:1484
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1469
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:1471
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1480
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1482
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:1484
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:1486
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1496
msgid "Clear all messages"
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1497
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1498
msgid "Hide the list of participants"
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1499
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1500
msgid "Start a call"
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1501
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1502
msgid "Verify with fingerprints"
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1503
msgid ""
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1513
msgid "Clear all messages"
msgstr ""
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1504
#: converse.js:1521
msgid "What's this?"
msgstr ""
#: converse.js:1595
#: converse.js:1612
msgid "Online"
msgstr ""
#: converse.js:1596
#: converse.js:1613
msgid "Busy"
msgstr ""
#: converse.js:1597
#: converse.js:1614
msgid "Away"
msgstr ""
#: converse.js:1598
#: converse.js:1615
msgid "Offline"
msgstr ""
#: converse.js:1599
#: converse.js:1616
msgid "Log out"
msgstr ""
#: converse.js:1605
#: converse.js:1622
msgid "Contact name"
msgstr ""
#: converse.js:1606
#: converse.js:1623
msgid "Search"
msgstr ""
#: converse.js:1610
#: converse.js:1627
msgid "Contact username"
msgstr ""
#: converse.js:1611
#: converse.js:1628
msgid "Add"
msgstr ""
#: converse.js:1616
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr ""
#: converse.js:1617
#: converse.js:1634
msgid "Add a contact"
msgstr ""
#: converse.js:1641
#: converse.js:1658
msgid "No users found"
msgstr ""
#: converse.js:1647
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr ""
#: converse.js:1702
#: converse.js:1727
msgid "Room name"
msgstr ""
#: converse.js:1703
#: converse.js:1728
msgid "Nickname"
msgstr ""
#: converse.js:1704
#: converse.js:1729
msgid "Server"
msgstr ""
#: converse.js:1705
#: converse.js:1730
msgid "Join"
msgstr ""
#: converse.js:1706
#: converse.js:1731
msgid "Show rooms"
msgstr ""
#: converse.js:1726
#: converse.js:1735
msgid "Rooms"
msgstr ""
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1733
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr ""
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1748
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr ""
#: converse.js:1757
#: converse.js:1779
msgid "Click to open this room"
msgstr ""
#: converse.js:1758
#: converse.js:1780
msgid "Show more information on this room"
msgstr ""
#: converse.js:1820
#: converse.js:1842
msgid "Description:"
msgstr ""
#: converse.js:1821
#: converse.js:1843
msgid "Occupants:"
msgstr ""
#: converse.js:1822
#: converse.js:1844
msgid "Features:"
msgstr ""
#: converse.js:1823
#: converse.js:1845
msgid "Requires authentication"
msgstr ""
#: converse.js:1824
#: converse.js:1846
msgid "Hidden"
msgstr ""
#: converse.js:1825
#: converse.js:1847
msgid "Requires an invitation"
msgstr ""
#: converse.js:1826
#: converse.js:1848
msgid "Moderated"
msgstr ""
#: converse.js:1827
#: converse.js:1849
msgid "Non-anonymous"
msgstr ""
#: converse.js:1828
#: converse.js:1850
msgid "Open room"
msgstr ""
#: converse.js:1829
#: converse.js:1851
msgid "Permanent room"
msgstr ""
#: converse.js:1830
#: converse.js:1852
msgid "Public"
msgstr ""
#: converse.js:1831
#: converse.js:1853
msgid "Semi-anonymous"
msgstr ""
#: converse.js:1832
#: converse.js:1854
msgid "Temporary room"
msgstr ""
#: converse.js:1833
#: converse.js:1855
msgid "Unmoderated"
msgstr ""
#: converse.js:2062
#: converse.js:2108
msgid "This user is a moderator"
msgstr ""
#: converse.js:2063
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr ""
#: converse.js:2064
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr ""
#: converse.js:2096
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2097
#: converse.js:2143
msgid "Occupants"
msgstr ""
#: converse.js:2162
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2163
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2246
#: converse.js:2292
msgid "Message"
msgstr ""
#: converse.js:2282
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2312
#: converse.js:2358
msgid "Ban user from room"
msgstr ""
#: converse.js:2315
#: converse.js:2361
msgid "Kick user from room"
msgstr ""
#: converse.js:2316
#: converse.js:2362
msgid "Write in 3rd person"
msgstr ""
#: converse.js:2317
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2318
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2319
#: converse.js:2365
msgid "Set room topic"
msgstr ""
#: converse.js:2320
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2423 converse.js:4250
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr ""
#: converse.js:2424
#: converse.js:2490
msgid "Cancel"
msgstr ""
#: converse.js:2469
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr ""
#: converse.js:2513
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr ""
#: converse.js:2514
#: converse.js:2589
msgid "Password: "
msgstr ""
#: converse.js:2515
#: converse.js:2590
msgid "Submit"
msgstr ""
#: converse.js:2550
#: converse.js:2625
msgid "This room is not anonymous"
msgstr ""
#: converse.js:2551
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr ""
#: converse.js:2552
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr ""
#: converse.js:2553
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr ""
#: converse.js:2554
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr ""
#: converse.js:2555
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr ""
#: converse.js:2556
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr ""
#: converse.js:2557
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr ""
#: converse.js:2558
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr ""
#: converse.js:2559
#: converse.js:2634
msgid "A new room has been created"
msgstr ""
#: converse.js:2563 converse.js:2663
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr ""
#: converse.js:2564
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr ""
#: converse.js:2565
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr ""
#: converse.js:2566
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
#: converse.js:2567
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
#: converse.js:2581
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr ""
#: converse.js:2582
#: converse.js:2657
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr ""
#: converse.js:2583
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr ""
#: converse.js:2584
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
#: converse.js:2585
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
#: converse.js:2589
#: converse.js:2664
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2590
#: converse.js:2665
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2638 converse.js:2648
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2661
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr ""
#: converse.js:2667
#: converse.js:2742
msgid "No nickname was specified"
msgstr ""
#: converse.js:2671
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr ""
#: converse.js:2673
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr ""
#: converse.js:2677
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr ""
#: converse.js:2679
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr ""
#: converse.js:2681
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr ""
#: converse.js:2723
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr ""
#: converse.js:2805
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2809
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3044
#: converse.js:3140
msgid "Click to restore this chat"
msgstr ""
#: converse.js:3188
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3262
msgid "Are you sure you want to remove this contact?"
msgstr ""
#: converse.js:3285
msgid "Are you sure you want to decline this contact request?"
msgstr ""
#: converse.js:3329 converse.js:3347
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr ""
#: converse.js:3336
#: converse.js:3388
msgid "Click to accept this contact request"
msgstr ""
#: converse.js:3337
#: converse.js:3389
msgid "Click to decline this contact request"
msgstr ""
#: converse.js:3346
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr ""
#: converse.js:3862
#: converse.js:3423
msgid "Are you sure you want to remove this contact?"
msgstr ""
#: converse.js:3446
msgid "Are you sure you want to decline this contact request?"
msgstr ""
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4221 converse.js:4298
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr ""
#: converse.js:4223 converse.js:4303
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr ""
#: converse.js:4224 converse.js:4304
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr ""
#: converse.js:4249
#: converse.js:4416
msgid "Custom status"
msgstr ""
#: converse.js:4278 converse.js:4286
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr ""
#: converse.js:4280
#: converse.js:4447
msgid "busy"
msgstr ""
#: converse.js:4282
#: converse.js:4449
msgid "away for long"
msgstr ""
#: converse.js:4284
#: converse.js:4451
msgid "away"
msgstr ""
#: converse.js:4407
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr ""
#: converse.js:4408
#: converse.js:4575
msgid "Password:"
msgstr ""
#: converse.js:4409
#: converse.js:4576
msgid "Log In"
msgstr ""
#: converse.js:4416
#: converse.js:4583
msgid "Sign in"
msgstr ""
#: converse.js:4476
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2013-09-29 17:24+0300\n"
"Last-Translator: Boris Kocherov <bk@raskon.org>\n"
"Language-Team: <bk@raskon.ru>\n"
@ -17,196 +17,196 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.5\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr "не зашифровано"
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr "непроверено"
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr "проверено"
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr "закончено"
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr "Занят"
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr "В сети"
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr "Не в сети"
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr "Не доступен"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr "На долго отошёл"
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr "Отошёл"
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "Удалить контакт"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "Контакты"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "Собеседники ожидающие авторизации"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "Запросы на авторизацию"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "Контакты"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "Соединение"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "Отключено"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "Ошибка"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "Соединение"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "Не удалось соединится"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "Авторизация"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "Не удалось авторизоваться"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "Отключаемся"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "Cписок собеседников"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr ""
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:850
#: converse.js:835
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "Введите сообщение"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Вас нет в списке этой конференции"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr "Я"
#: converse.js:1154
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1157
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "Показать это меню"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr ""
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "Удалить сообщения"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr "Ваше сообщение не послано"
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -219,584 +219,588 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1370
#: converse.js:1360
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr ""
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr "Ваши сообщения больше не шифруются"
#: converse.js:1490
#: converse.js:1484
#, fuzzy
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
"Ваши сообщения шифруются, но ваша учётная запись не проверена вашим "
"собеседником."
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
#, fuzzy
msgid "Your contact's identify has been verified."
msgstr "Ваша учётная запись проверена вашим собеседником."
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr "Ваши сообщения не шифруются. Нажмите здесь чтобы настроить шифрование."
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
#, fuzzy
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr "Ваши сообщения шифруются, но ваш контакт не проверен."
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
#, fuzzy
msgid "Your messages are encrypted and your contact verified."
msgstr "Ваши сообщения шифруются и ваш контакт проверен"
#: converse.js:1509
#: converse.js:1503
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "Введите сообщение"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr ""
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr "Что это?"
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "В сети"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "Занят"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "Отошёл"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "Не в сети"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "Войти"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "Имя контакта"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "Поиск"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "Имя пользователя"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "Добавить"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "Добавить новую конференцию"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "Добавть контакт"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "Пользователи не найдены"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "Добавить контакт"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "Имя конференции"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "Псевдоним"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "Сервер"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "Подключиться"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "Обновить"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "Конфер."
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "Нет доступных конференций %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "Конференции %1$s:"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "Зайти в конференцию"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "Показать больше информации об этой конференции"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "Описание:"
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "Участники:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "Свойства:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "Требуется авторизация"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "Скрыто"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "Требуется приглашение"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "Модерируемая"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "Не анонимная"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "Открыть конференцию"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "Перманентная конференция"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "Публичный"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "Частично анонимная"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "Временная конференция"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "Немодерируемая"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "Модератор"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "Собеседник"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "Пользователь не может посылать сообщения в эту комнату"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "Участники:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "Сообщение"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "Забанить пользователя в этой конф."
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "Отключить пользователя от кнофер."
#: converse.js:2333
#: converse.js:2362
msgid "Write in 3rd person"
msgstr ""
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "Установить тему"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "Сохранить"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "Отменить"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "При сохранение формы произошла ошибка."
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "Для доступа в конфер. необходим пароль."
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "Пароль: "
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "Отправить"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "Эта комната не анонимная"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "Эта комната показывает доступных собеседников"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "Эта комната не показывает недоступных собеседников"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr ""
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr ""
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr ""
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "Эта комната не анонимная"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "Эта комната частично анонимная"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "Эта комната стала полностью анонимной"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "Новая комната была создана"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "Вам запрещено подключатся к этой конференции"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "Вам запрещено подключатся к этой конференции"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "<strong>%1$s</strong> удалён потому что изменились права"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
"Вы отключены от этой конференции потому что режим изменился: только-участники"
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
"Вы отключены от этой конференции потому что сервись конференций выключен."
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> забанен"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> забанен"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> выдворен"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
"<strong>%1$s</strong> has been removed because of an affiliation change"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> удалён потому что не участник"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Ваш псевдоним уже используется другим пользователем"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Ваш псевдоним уже используется другим пользователем"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "Вас нет в списке этой конференции"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "Вы не указали псевдоним"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "Вы не имеете права создавать конфер."
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Псевдоним не согласуется с правилами конфер."
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "Ваш ник уже используется другим пользователем"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "Эта комната не существует"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "Конференция достигла максимального количества участников"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "Тема %2$s устатновлена %1$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "Удалить контакт"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr ""
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Удалить контакт"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Удалить контакт"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "Удалить контакт"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "Удалить контакт"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "Удалить контакт"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "Начать общение"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "Удалить контакт"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "Удалить контакт"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "%1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "Редактировать произвольный статус"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "Изменить ваш статус"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "Произвольный статус"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "на связи"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "занят"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "отошёл на долго"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "отошёл"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "JID:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "Пароль:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "Войти"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "Подписать"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-09-22 17:23+0200\n"
"POT-Creation-Date: 2014-11-15 16:36+0100\n"
"PO-Revision-Date: 2014-07-06 18:05+0200\n"
"Last-Translator: Huxisuz Hu <huxisuz@gmail.com>\n"
"Language-Team: Language zh\n"
@ -19,130 +19,131 @@ msgstr ""
"lang: zh\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:338
#: converse.js:316
msgid "unencrypted"
msgstr "未加密"
#: converse.js:339
#: converse.js:317
msgid "unverified"
msgstr "未验证"
#: converse.js:340
#: converse.js:318
msgid "verified"
msgstr "已验证"
#: converse.js:341
#: converse.js:319
msgid "finished"
msgstr "结束了"
#: converse.js:344
#: converse.js:322
msgid "This contact is busy"
msgstr "对方忙碌中"
#: converse.js:345
#: converse.js:323
msgid "This contact is online"
msgstr "对方在线中"
#: converse.js:346
#: converse.js:324
msgid "This contact is offline"
msgstr "对方已下线"
#: converse.js:347
#: converse.js:325
msgid "This contact is unavailable"
msgstr "对方免打扰"
#: converse.js:348
#: converse.js:326
msgid "This contact is away for an extended period"
msgstr "对方暂时离开"
#: converse.js:349
#: converse.js:327
msgid "This contact is away"
msgstr "对方离开"
#: converse.js:351
#: converse.js:329
#, fuzzy
msgid "Click to hide these contacts"
msgstr "点击移除联系人"
#: converse.js:353
#: converse.js:331
msgid "My contacts"
msgstr "我的好友列表"
#: converse.js:354
#: converse.js:332
msgid "Pending contacts"
msgstr "保留中的联系人"
#: converse.js:355
#: converse.js:333
msgid "Contact requests"
msgstr "来自好友的请求"
#: converse.js:356
#: converse.js:334
msgid "Ungrouped"
msgstr ""
#: converse.js:358
#: converse.js:336
msgid "Contacts"
msgstr "联系人"
#: converse.js:359
#: converse.js:337
msgid "Groups"
msgstr ""
#: converse.js:441
#: converse.js:419
#, fuzzy
msgid "Reconnecting"
msgstr "连接中"
#: converse.js:476
#: converse.js:454
msgid "Disconnected"
msgstr "连接已断开"
#: converse.js:484
#: converse.js:462
msgid "Error"
msgstr "错误"
#: converse.js:486
#: converse.js:464
msgid "Connecting"
msgstr "连接中"
#: converse.js:489
#: converse.js:467
msgid "Connection Failed"
msgstr "连接失败"
#: converse.js:491
#: converse.js:469
msgid "Authenticating"
msgstr "验证中"
#: converse.js:494
#: converse.js:472
msgid "Authentication Failed"
msgstr "验证失败"
#: converse.js:499
#: converse.js:477
msgid "Disconnecting"
msgstr "断开链接中"
#: converse.js:638 converse.js:684
#: converse.js:617 converse.js:669
msgid "Online Contacts"
msgstr "在线好友"
#: converse.js:802
#: converse.js:787
msgid "Re-establishing encrypted session"
msgstr "重新建立加密会话"
#: converse.js:814
#: converse.js:799
msgid "Generating private key."
msgstr "正在生成私钥"
#: converse.js:815
#: converse.js:800
msgid "Your browser might become unresponsive."
msgstr "您的浏览器可能会暂时无响应"
#: converse.js:850
#: converse.js:835
#, fuzzy
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
@ -152,68 +153,69 @@ msgstr ""
"\n"
"%2$s"
#: converse.js:859
#: converse.js:844
msgid "Could not verify this user's identify."
msgstr "无法验证对方信息。"
#: converse.js:898
msgid "Exchanging private key with buddy."
#: converse.js:883
#, fuzzy
msgid "Exchanging private key with contact."
msgstr "正在与对方交换私钥"
#: converse.js:1045
#: converse.js:1036
msgid "Personal message"
msgstr "私信"
#: converse.js:1077
#: converse.js:1068
#, fuzzy
msgid "Are you sure you want to clear the messages from this room?"
msgstr "您并非此房间成员"
#: converse.js:1099
#: converse.js:1090
msgid "me"
msgstr "我"
#: converse.js:1154
#: converse.js:1144
msgid "is typing"
msgstr ""
#: converse.js:1157
#: converse.js:1147
msgid "has stopped typing"
msgstr ""
#: converse.js:1199 converse.js:2331
#: converse.js:1189 converse.js:2360
msgid "Show this menu"
msgstr "显示此项菜单"
#: converse.js:1200
#: converse.js:1190
msgid "Write in the third person"
msgstr "以第三者身份写"
#: converse.js:1201 converse.js:2330
#: converse.js:1191 converse.js:2359
msgid "Remove messages"
msgstr "移除消息"
#: converse.js:1285
#: converse.js:1275
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr "你确定清除此次的聊天记录吗?"
#: converse.js:1320
#: converse.js:1310
msgid "Your message could not be sent"
msgstr "您的消息无法送出"
#: converse.js:1323
#: converse.js:1313
msgid "We received an unencrypted message"
msgstr "我们收到了一条未加密的信息"
#: converse.js:1326
#: converse.js:1316
msgid "We received an unreadable encrypted message"
msgstr "我们收到一条无法读取的信息"
#: converse.js:1335
#: converse.js:1325
msgid "This user has requested an encrypted session."
msgstr "此用户请求了一个加密会话。"
#: converse.js:1357
#: converse.js:1347
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -233,584 +235,590 @@ msgstr ""
"\n"
"如果确认符合请点击OK否则点击取消"
#: converse.js:1370
#: converse.js:1360
#, fuzzy
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your buddy will then be prompted the same question and if they type the "
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
"您会被要求回答一下安全问题。\n"
"\n"
"对方需要回答相同的问题(区分大小写),如果答案一致,身份将被验证。"
#: converse.js:1371
#: converse.js:1361
msgid "What is your security question?"
msgstr "您的安全问题是?"
#: converse.js:1373
#: converse.js:1363
msgid "What is the answer to the security question?"
msgstr "此安全问题的答案是?"
#: converse.js:1377
#: converse.js:1367
msgid "Invalid authentication scheme provided"
msgstr "非法的认证方式"
#: converse.js:1488
#: converse.js:1482
msgid "Your messages are not encrypted anymore"
msgstr "您的消息将不再被加密"
#: converse.js:1490
#: converse.js:1484
#, fuzzy
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr "您的消息现已加密,但是对方身份尚未验证"
#: converse.js:1492
msgid "Your buddy's identify has been verified."
#: converse.js:1486
#, fuzzy
msgid "Your contact's identify has been verified."
msgstr "对方的身份已通过验证。"
#: converse.js:1494
msgid "Your buddy has ended encryption on their end, you should do the same."
#: converse.js:1488
#, fuzzy
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr "对方已结束加密,您也需要做同样的操作。"
#: converse.js:1503
#: converse.js:1497
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr "您的消息未加密。点击这里来启用OTR加密"
#: converse.js:1505
msgid "Your messages are encrypted, but your buddy has not been verified."
#: converse.js:1499
#, fuzzy
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr "您的消息已加密,但对方未通过验证"
#: converse.js:1507
msgid "Your messages are encrypted and your buddy verified."
#: converse.js:1501
#, fuzzy
msgid "Your messages are encrypted and your contact verified."
msgstr "您的消息已加密,对方已验证。"
#: converse.js:1509
#: converse.js:1503
#, fuzzy
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr "对方已关闭私有会话,您也应该关闭"
#: converse.js:1519
#: converse.js:1513
#, fuzzy
msgid "Clear all messages"
msgstr "私信"
#: converse.js:1520
#: converse.js:1514
msgid "End encrypted conversation"
msgstr "结束加密的会话"
#: converse.js:1521
#: converse.js:1515
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1522
#: converse.js:1516
msgid "Refresh encrypted conversation"
msgstr "刷新加密的会话"
#: converse.js:1523
#: converse.js:1517
msgid "Start a call"
msgstr ""
#: converse.js:1524
#: converse.js:1518
msgid "Start encrypted conversation"
msgstr "开始加密的会话"
#: converse.js:1525
#: converse.js:1519
msgid "Verify with fingerprints"
msgstr "验证指纹"
#: converse.js:1526
#: converse.js:1520
msgid "Verify with SMP"
msgstr "验证SMP"
#: converse.js:1527
#: converse.js:1521
msgid "What's this?"
msgstr "这是什么?"
#: converse.js:1618
#: converse.js:1612
msgid "Online"
msgstr "在线"
#: converse.js:1619
#: converse.js:1613
msgid "Busy"
msgstr "忙碌中"
#: converse.js:1620
#: converse.js:1614
msgid "Away"
msgstr "离开"
#: converse.js:1621
#: converse.js:1615
msgid "Offline"
msgstr "离线"
#: converse.js:1622
#: converse.js:1616
#, fuzzy
msgid "Log out"
msgstr "登录"
#: converse.js:1628
#: converse.js:1622
msgid "Contact name"
msgstr "联系人名称"
#: converse.js:1629
#: converse.js:1623
msgid "Search"
msgstr "搜索"
#: converse.js:1633
#: converse.js:1627
msgid "Contact username"
msgstr "联系人姓名"
#: converse.js:1634
#: converse.js:1628
msgid "Add"
msgstr "添加"
#: converse.js:1639
#: converse.js:1633
msgid "Click to add new chat contacts"
msgstr "点击添加新联系人"
#: converse.js:1640
#: converse.js:1634
msgid "Add a contact"
msgstr "添加联系人"
#: converse.js:1664
#: converse.js:1658
msgid "No users found"
msgstr "未找到用户"
#: converse.js:1670
#: converse.js:1664
msgid "Click to add as a chat contact"
msgstr "点击添加为好友"
#: converse.js:1725
#: converse.js:1727
msgid "Room name"
msgstr "聊天室名称"
#: converse.js:1726
#: converse.js:1728
msgid "Nickname"
msgstr "昵称"
#: converse.js:1727
#: converse.js:1729
msgid "Server"
msgstr "服务器"
#: converse.js:1728
#: converse.js:1730
msgid "Join"
msgstr "加入"
#: converse.js:1729
#: converse.js:1731
msgid "Show rooms"
msgstr "显示所有聊天室"
#: converse.js:1749
#: converse.js:1735
msgid "Rooms"
msgstr "聊天室"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1756
#: converse.js:1755
msgid "No rooms on %1$s"
msgstr "%1$s 上没有聊天室"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1771
#: converse.js:1770
msgid "Rooms on %1$s"
msgstr "%1$s 上的聊天室"
#: converse.js:1780
#: converse.js:1779
msgid "Click to open this room"
msgstr "打开聊天室"
#: converse.js:1781
#: converse.js:1780
msgid "Show more information on this room"
msgstr "显示次聊天室的更多信息"
#: converse.js:1843
#: converse.js:1842
msgid "Description:"
msgstr "描述: "
#: converse.js:1844
#: converse.js:1843
msgid "Occupants:"
msgstr "成员:"
#: converse.js:1845
#: converse.js:1844
msgid "Features:"
msgstr "特性:"
#: converse.js:1846
#: converse.js:1845
msgid "Requires authentication"
msgstr "需要验证"
#: converse.js:1847
#: converse.js:1846
msgid "Hidden"
msgstr "隐藏的"
#: converse.js:1848
#: converse.js:1847
msgid "Requires an invitation"
msgstr "需要被邀请"
#: converse.js:1849
#: converse.js:1848
msgid "Moderated"
msgstr "发言受限"
#: converse.js:1850
#: converse.js:1849
msgid "Non-anonymous"
msgstr "非匿名"
#: converse.js:1851
#: converse.js:1850
msgid "Open room"
msgstr "打开聊天室"
#: converse.js:1852
#: converse.js:1851
msgid "Permanent room"
msgstr "永久聊天室"
#: converse.js:1853
#: converse.js:1852
msgid "Public"
msgstr "公开的"
#: converse.js:1854
#: converse.js:1853
msgid "Semi-anonymous"
msgstr "半匿名"
#: converse.js:1855
#: converse.js:1854
msgid "Temporary room"
msgstr "临时聊天室"
#: converse.js:1856
#: converse.js:1855
msgid "Unmoderated"
msgstr "无发言限制"
#: converse.js:2085
#: converse.js:2108
msgid "This user is a moderator"
msgstr "此用户是主持人"
#: converse.js:2086
#: converse.js:2109
msgid "This user can send messages in this room"
msgstr "此用户在这房间里可发消息"
#: converse.js:2087
#: converse.js:2110
msgid "This user can NOT send messages in this room"
msgstr "此用户不可在此房间发消息"
#: converse.js:2119
#: converse.js:2142
msgid "Invite..."
msgstr ""
#: converse.js:2120
#: converse.js:2143
#, fuzzy
msgid "Occupants"
msgstr "成员:"
#: converse.js:2185
#: converse.js:2208
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2186
#: converse.js:2209
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2269
#: converse.js:2292
msgid "Message"
msgstr "信息"
#: converse.js:2307
#: converse.js:2328
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2329
#: converse.js:2358
#, fuzzy
msgid "Ban user from room"
msgstr "阻止此用户进入房间"
#: converse.js:2332
#: converse.js:2361
#, fuzzy
msgid "Kick user from room"
msgstr "把用户踢出房间"
#: converse.js:2333
#: converse.js:2362
#, fuzzy
msgid "Write in 3rd person"
msgstr "以第三者身份写"
#: converse.js:2334
#: converse.js:2363
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2335
#: converse.js:2364
msgid "Change your nickname"
msgstr ""
#: converse.js:2336
#: converse.js:2365
#, fuzzy
msgid "Set room topic"
msgstr "设置房间主题"
#: converse.js:2337
#: converse.js:2366
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2441 converse.js:4262
#: converse.js:2489 converse.js:4417
msgid "Save"
msgstr "保存"
#: converse.js:2442
#: converse.js:2490
msgid "Cancel"
msgstr "取消"
#: converse.js:2487
#: converse.js:2544
msgid "An error occurred while trying to save the form."
msgstr "保存表单是出错。"
#: converse.js:2531
#: converse.js:2588
msgid "This chatroom requires a password"
msgstr "此聊天室需要密码"
#: converse.js:2532
#: converse.js:2589
msgid "Password: "
msgstr "密码:"
#: converse.js:2533
#: converse.js:2590
msgid "Submit"
msgstr "发送"
#: converse.js:2568
#: converse.js:2625
msgid "This room is not anonymous"
msgstr "此为非匿名聊天室"
#: converse.js:2569
#: converse.js:2626
msgid "This room now shows unavailable members"
msgstr "此聊天室显示不可用用户"
#: converse.js:2570
#: converse.js:2627
msgid "This room does not show unavailable members"
msgstr "此聊天室不显示不可用用户"
#: converse.js:2571
#: converse.js:2628
msgid "Non-privacy-related room configuration has changed"
msgstr "此聊天室设置(非私密性)已改变"
#: converse.js:2572
#: converse.js:2629
msgid "Room logging is now enabled"
msgstr "聊天室聊天记录已启用"
#: converse.js:2573
#: converse.js:2630
msgid "Room logging is now disabled"
msgstr "聊天室聊天记录已禁用"
#: converse.js:2574
#: converse.js:2631
msgid "This room is now non-anonymous"
msgstr "此聊天室非匿名"
#: converse.js:2575
#: converse.js:2632
msgid "This room is now semi-anonymous"
msgstr "此聊天室半匿名"
#: converse.js:2576
#: converse.js:2633
msgid "This room is now fully-anonymous"
msgstr "此聊天室完全匿名"
#: converse.js:2577
#: converse.js:2634
msgid "A new room has been created"
msgstr "新聊天室已创建"
#: converse.js:2581 converse.js:2681
#: converse.js:2638 converse.js:2738
msgid "You have been banned from this room"
msgstr "您已被此聊天室禁止入内"
#: converse.js:2582
#: converse.js:2639
msgid "You have been kicked from this room"
msgstr "您已被踢出次房间"
#: converse.js:2583
#: converse.js:2640
msgid "You have been removed from this room because of an affiliation change"
msgstr "由于关系变化,您已被移除此房间"
#: converse.js:2584
#: converse.js:2641
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr "您已被移除此房间因为此房间更改为只允许成员加入,而您非成员"
#: converse.js:2585
#: converse.js:2642
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr "由于服务不可用,您已被移除此房间。"
#: converse.js:2599
#: converse.js:2656
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> 已被禁止"
#: converse.js:2600
#: converse.js:2657
#, fuzzy
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> 已被禁止"
#: converse.js:2601
#: converse.js:2658
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> 已被踢出"
#: converse.js:2602
#: converse.js:2659
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "由于关系解除、<strong>%1$s</strong> 已被移除"
#: converse.js:2603
#: converse.js:2660
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "由于不是成员、<strong>%1$s</strong> 已被移除"
#: converse.js:2607
#: converse.js:2664
#, fuzzy
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "您的昵称被更改了"
#: converse.js:2608
#: converse.js:2665
#, fuzzy
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "您的昵称被更改了"
#: converse.js:2656 converse.js:2666
#: converse.js:2713 converse.js:2723
msgid "The reason given is: \""
msgstr ""
#: converse.js:2679
#: converse.js:2736
msgid "You are not on the member list of this room"
msgstr "您并非此房间成员"
#: converse.js:2685
#: converse.js:2742
msgid "No nickname was specified"
msgstr "未指定昵称"
#: converse.js:2689
#: converse.js:2746
msgid "You are not allowed to create new rooms"
msgstr "您可此创建新房间了"
#: converse.js:2691
#: converse.js:2748
msgid "Your nickname doesn't conform to this room's policies"
msgstr "您的昵称不符合此房间标准"
#: converse.js:2695
#: converse.js:2752
msgid "Your nickname is already taken"
msgstr "您的昵称已被占用"
#: converse.js:2697
#: converse.js:2754
msgid "This room does not (yet) exist"
msgstr "此房间不存在"
#: converse.js:2699
#: converse.js:2756
msgid "This room has reached it's maximum number of occupants"
msgstr "此房间人数已达上线"
#: converse.js:2736
#: converse.js:2798
msgid "Topic set by %1$s to: %2$s"
msgstr "%1$s 设置话题为: %2$s"
#: converse.js:2818
#: converse.js:2880
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2822
#: converse.js:2884
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3058
#: converse.js:3140
#, fuzzy
msgid "Click to restore this chat"
msgstr "点击恢复聊天窗口"
#: converse.js:3202
#: converse.js:3285
msgid "Minimized"
msgstr "最小化的"
#: converse.js:3274
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "确定移除联系人吗?"
#: converse.js:3297
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "确定移除联系人吗?"
#: converse.js:3341 converse.js:3359
#: converse.js:3381 converse.js:3399
msgid "Click to remove this contact"
msgstr "点击移除联系人"
#: converse.js:3348
#: converse.js:3388
#, fuzzy
msgid "Click to accept this contact request"
msgstr "点击移除联系人"
#: converse.js:3349
#: converse.js:3389
#, fuzzy
msgid "Click to decline this contact request"
msgstr "点击移除联系人"
#: converse.js:3358
#: converse.js:3398
msgid "Click to chat with this contact"
msgstr "点击与对方交谈"
#: converse.js:3874
#: converse.js:3423
#, fuzzy
msgid "Are you sure you want to remove this contact?"
msgstr "确定移除联系人吗?"
#: converse.js:3446
#, fuzzy
msgid "Are you sure you want to decline this contact request?"
msgstr "确定移除联系人吗?"
#: converse.js:3972
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4233 converse.js:4310
#: converse.js:4388 converse.js:4465
msgid "I am %1$s"
msgstr "我现在%1$s"
#: converse.js:4235 converse.js:4315
#: converse.js:4390 converse.js:4470
msgid "Click here to write a custom status message"
msgstr "点击这里,填写状态信息"
#: converse.js:4236 converse.js:4316
#: converse.js:4391 converse.js:4471
msgid "Click to change your chat status"
msgstr "点击这里改变聊天状态"
#: converse.js:4261
#: converse.js:4416
msgid "Custom status"
msgstr "DIY状态"
#: converse.js:4290 converse.js:4298
#: converse.js:4445 converse.js:4453
msgid "online"
msgstr "在线"
#: converse.js:4292
#: converse.js:4447
msgid "busy"
msgstr "忙碌"
#: converse.js:4294
#: converse.js:4449
msgid "away for long"
msgstr "长时间离开"
#: converse.js:4296
#: converse.js:4451
msgid "away"
msgstr "离开"
#: converse.js:4419
#: converse.js:4574
msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber用户名:"
#: converse.js:4420
#: converse.js:4575
msgid "Password:"
msgstr "密码:"
#: converse.js:4421
#: converse.js:4576
msgid "Log In"
msgstr "登录"
#: converse.js:4428
#: converse.js:4583
msgid "Sign in"
msgstr "登录"
#: converse.js:4488
#: converse.js:4643
msgid "Toggle chat"
msgstr "折叠聊天窗口"

View File

@ -1,6 +1,6 @@
{
"name": "converse.js",
"version": "0.8.3",
"version": "0.8.4",
"description": "Browser based XMPP instant messaging client",
"main": "main.js",
"directories": {