Commit 6517b9bb authored by JC Brand's avatar JC Brand

Merge branch 'otr'

Conflicts:
	CHANGES.rst
	locale/af/LC_MESSAGES/af.js
	locale/af/LC_MESSAGES/converse.json
	locale/af/LC_MESSAGES/converse.po
	locale/converse.pot
	locale/de/LC_MESSAGES/converse.po
	locale/en/LC_MESSAGES/converse.po
	locale/es/LC_MESSAGES/converse.po
	locale/fr/LC_MESSAGES/converse.po
	locale/it/LC_MESSAGES/converse.po
	locale/pt_BR/LC_MESSAGES/converse.po
parents 04c71d5b 960861ad
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
"strophe.vcard": "https://raw.github.com/jcbrand/strophejs-plugins/75c8693992bc357c699b6d615eeb396e799f5c02/vcard/strophe.vcard.js", "strophe.vcard": "https://raw.github.com/jcbrand/strophejs-plugins/75c8693992bc357c699b6d615eeb396e799f5c02/vcard/strophe.vcard.js",
"strophe.disco": "https://raw.github.com/jcbrand/strophejs-plugins/75c8693992bc357c699b6d615eeb396e799f5c02/disco/strophe.disco.js", "strophe.disco": "https://raw.github.com/jcbrand/strophejs-plugins/75c8693992bc357c699b6d615eeb396e799f5c02/disco/strophe.disco.js",
"strophe.muc": "https://raw.github.com/jcbrand/strophejs-plugins/75c8693992bc357c699b6d615eeb396e799f5c02/muc/strophe.muc.js", "strophe.muc": "https://raw.github.com/jcbrand/strophejs-plugins/75c8693992bc357c699b6d615eeb396e799f5c02/muc/strophe.muc.js",
"otr": "~0.2.5",
"crypto-js": "~3.1.2",
"almond": "~0.2.6" "almond": "~0.2.6"
}, },
"exportsOverride": {} "exportsOverride": {}
......
...@@ -8,6 +8,15 @@ ...@@ -8,6 +8,15 @@
@import url("fonticons/style.css"); @import url("fonticons/style.css");
.no-text-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
user-select: none;
}
#collective-xmpp-chat-data, #collective-xmpp-chat-data,
#collective-xmpp-chat-data input { #collective-xmpp-chat-data input {
color: rgb(79, 79, 79); color: rgb(79, 79, 79);
...@@ -107,13 +116,11 @@ span.spinner.hor_centered { ...@@ -107,13 +116,11 @@ span.spinner.hor_centered {
.chatroom .participants { .chatroom .participants {
float: left; float: left;
overflow: auto;
border-left: 1px solid #AAA;
max-width: 98px;
height: 274px; height: 274px;
background-color: white; background-color: white;
overflow: auto; overflow: auto;
border-left: 1px solid #AAA; border-left: 1px solid #AAA;
max-width: 98px;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
} }
...@@ -123,12 +130,13 @@ span.spinner.hor_centered { ...@@ -123,12 +130,13 @@ span.spinner.hor_centered {
white-space: nowrap; white-space: nowrap;
display: block; display: block;
font-size: 12px; font-size: 12px;
font-weight: bold;
padding: 0.5em 0 0 0.5em; padding: 0.5em 0 0 0.5em;
cursor: default; cursor: default;
} }
ul.participant-list li.moderator { ul.participant-list li.moderator {
color: #FE0007; color: #8f2831;
} }
.chatroom .participant-list { .chatroom .participant-list {
...@@ -142,30 +150,20 @@ ul.participant-list li.moderator { ...@@ -142,30 +150,20 @@ ul.participant-list li.moderator {
} }
.chat-content { .chat-content {
position: relative;
padding: 0.3em; padding: 0.3em;
font-size: 13px; font-size: 13px;
color: rgb(79, 79, 79); color: rgb(79, 79, 79);
height:200px; height:180px;
width: 192px; width: 190px;
overflow-y:auto; overflow-y:auto;
border: 0; border: 0;
background-color: #ffffff; background-color: #ffffff;
line-height: 1.3em; line-height: 1.3em;
} }
.chat-textarea { .chatroom .chat-content {
border: 0; height:200px;
height: 50px;
}
.chat-textarea-chatbox-selected {
border: 1px solid #578308;
margin:0;
}
.chat-textarea-chatroom-selected {
border: 2px solid #2D617A;
margin:0;
} }
.chatroom .chat-content { .chatroom .chat-content {
...@@ -173,7 +171,10 @@ ul.participant-list li.moderator { ...@@ -173,7 +171,10 @@ ul.participant-list li.moderator {
} }
.chat-info { .chat-info {
color:#666666; color: #666666;
}
.chat-error {
color: #8f2831;
} }
.chat-message-room, .chat-message-room,
...@@ -194,7 +195,7 @@ ul.participant-list li.moderator { ...@@ -194,7 +195,7 @@ ul.participant-list li.moderator {
} }
.chat-message-them { .chat-message-them {
color: #F62817; color: #8f2831;
} }
.chat-message-me { .chat-message-me {
...@@ -218,7 +219,6 @@ li.chat-info { ...@@ -218,7 +219,6 @@ li.chat-info {
padding-top: 10px; padding-top: 10px;
} }
div#settings,
div#chatrooms, div#chatrooms,
div#login-dialog { div#login-dialog {
height: 274px; height: 274px;
...@@ -611,7 +611,7 @@ dd.available-chatroom:hover a.room-info { ...@@ -611,7 +611,7 @@ dd.available-chatroom:hover a.room-info {
background-color: #DCEAC5; background-color: #DCEAC5;
} }
div#controlbox-panes { .controlbox-panes {
background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(240,240,240,1) 100%); /* FF3.6+ */ background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(240,240,240,1) 100%); /* FF3.6+ */
background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(240,240,240,1) 100%); /* IE10+ */ background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(240,240,240,1) 100%); /* IE10+ */
background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(240,240,240,1) 100%); /* Opera 11.10+ */ background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(240,240,240,1) 100%); /* Opera 11.10+ */
...@@ -747,7 +747,7 @@ form.sendXMPPMessage { ...@@ -747,7 +747,7 @@ form.sendXMPPMessage {
background-clip: padding-box; background-clip: padding-box;
border-top-left-radius: 0; border-top-left-radius: 0;
border-top-right-radius: 0; border-top-right-radius: 0;
height: 65px; height: 85px;
width: 200px; width: 200px;
} }
...@@ -772,20 +772,80 @@ ul.chat-toolbar { ...@@ -772,20 +772,80 @@ ul.chat-toolbar {
font-size: 14px; font-size: 14px;
margin: 0; margin: 0;
padding: 0 5px 0 0; padding: 0 5px 0 0;
height: 20px;
display: block;
width: 195px;
/* XXX: CHECKME */
float: right; float: right;
display: inline-block; display: inline-block;
height: 20px; height: 20px;
} }
.chat-toolbar .toggle-otr {
float: right;
}
.chat-toolbar .toggle-otr ul {
display: none;
font-size:12px;
position: absolute;
bottom: 100%;
margin-bottom: 0;
right: 0;
background: #fff;
box-shadow: -1px -2px 2px 1px rgba(0,0,0,0.4);
}
.chat-toolbar .toggle-otr ul li {
position: relative;
list-style: none;
cursor: pointer;
display: block;
z-index: 99;
}
.chat-toolbar .toggle-otr ul li:hover {
background-color: #eee;
}
.chat-toolbar .toggle-otr ul li a {
transition:background-color 0.2s ease-in-out;
-webkit-transition:background-color 0.2s ease-in-out;
-moz-transition:background-color 0.2s ease-in-out;
display: block;
padding: 1px;
text-decoration: none;
}
.chat-toolbar-text {
font-size: 12px;
padding-right: 3px;
}
.unencrypted a,
.unencrypted {
color: #8f2831;
}
.unverified a,
.unverified {
color: #cf5300;
}
.private a,
.private {
color: #4B7003
}
ul.chat-toolbar li { ul.chat-toolbar li {
display: inline-block; display: inline-block;
list-style: none; list-style: none;
padding: 0 3px 0 3px; padding: 0 3px 0 3px;
cursor: pointer;
} }
ul.chat-toolbar li:hover { ul.chat-toolbar li:hover {
cursor: pointer; cursor: pointer;
color: rgb(39, 39, 39);
} }
form#set-custom-xmpp-status { form#set-custom-xmpp-status {
...@@ -878,3 +938,4 @@ form.add-xmpp-contact input { ...@@ -878,3 +938,4 @@ form.add-xmpp-contact input {
padding: 0 5px 0 5px; padding: 0 5px 0 5px;
color: rgb(79, 79, 79); color: rgb(79, 79, 79);
} }
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
} }
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
define("converse", [ define("converse", [
"components/otr/build/otr",
"crypto.aes",
"locales", "locales",
"backbone.localStorage", "backbone.localStorage",
"jquery.tinysort", "jquery.tinysort",
...@@ -21,13 +23,13 @@ ...@@ -21,13 +23,13 @@
"strophe.roster", "strophe.roster",
"strophe.vcard", "strophe.vcard",
"strophe.disco" "strophe.disco"
], function() { ], function(otr, crypto) {
// Use Mustache style syntax for variable interpolation // Use Mustache style syntax for variable interpolation
_.templateSettings = { _.templateSettings = {
evaluate : /\{\[([\s\S]+?)\]\}/g, evaluate : /\{\[([\s\S]+?)\]\}/g,
interpolate : /\{\{([\s\S]+?)\}\}/g interpolate : /\{\{([\s\S]+?)\}\}/g
}; };
return factory(jQuery, _, console); return factory(jQuery, _, crypto, otr, console);
} }
); );
} else { } else {
...@@ -36,26 +38,34 @@ ...@@ -36,26 +38,34 @@
evaluate : /\{\[([\s\S]+?)\]\}/g, evaluate : /\{\[([\s\S]+?)\]\}/g,
interpolate : /\{\{([\s\S]+?)\}\}/g interpolate : /\{\{([\s\S]+?)\}\}/g
}; };
root.converse = factory(jQuery, _, console || {log: function(){}}); root.converse = factory(jQuery, _, crypto, otr, console || {log: function(){}});
} }
}(this, function ($, _, console) { }(this, function ($, _, crypto, otr, console) {
var converse = {}; var converse = {};
converse.initialize = function (settings, callback) { converse.initialize = function (settings, callback) {
// Constants
var UNENCRYPTED = 0;
var UNVERIFIED= 1;
var VERIFIED= 2;
var FINISHED = 3;
// Default values // Default values
var converse = this; var converse = this;
this.animate = true; this.animate = true;
this.auto_list_rooms = false; this.auto_list_rooms = false;
this.auto_subscribe = false; this.auto_subscribe = false;
this.bosh_service_url = undefined; // The BOSH connection manager URL. this.bosh_service_url = undefined; // The BOSH connection manager URL.
this.callback = callback || function () {};
this.debug = false; this.debug = false;
this.hide_muc_server = false; this.hide_muc_server = false;
this.i18n = locales.en; this.i18n = locales.en;
this.allow_otr = true;
this.prebind = false; this.prebind = false;
this.show_controlbox_by_default = false; this.show_controlbox_by_default = false;
this.xhr_user_search = false; this.show_toolbar = true;
this.xhr_custom_status = false;
this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems! this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems!
this.callback = callback || function () {}; this.xhr_custom_status = false;
this.xhr_user_search = false;
// Allow only the whitelisted settings attributes to be overwritten, // Allow only the whitelisted settings attributes to be overwritten,
// nothing else. // nothing else.
...@@ -64,27 +74,28 @@ ...@@ -64,27 +74,28 @@
'auto_list_rooms', 'auto_list_rooms',
'auto_subscribe', 'auto_subscribe',
'bosh_service_url', 'bosh_service_url',
'fullname', 'connection',
'debug', 'debug',
'fullname',
'hide_muc_server', 'hide_muc_server',
'i18n', 'i18n',
'jid',
'allow_otr',
'prebind', 'prebind',
'rid',
'show_controlbox_by_default', 'show_controlbox_by_default',
'xhr_user_search', 'show_toolbar',
'xhr_custom_status',
'connection',
'testing',
'jid',
'sid', 'sid',
'rid' 'testing',
'xhr_custom_status',
'xhr_user_search'
]; ];
_.extend(this, _.pick(settings, whitelist)); _.extend(this, _.pick(settings, whitelist));
var __ = $.proxy(function (str) { var __ = $.proxy(function (str) {
/* Translation factory // Translation factory
*/
if (this.i18n === undefined) { if (this.i18n === undefined) {
this.i18n = locales['en']; this.i18n = locales.en;
} }
var t = this.i18n.translate(str); var t = this.i18n.translate(str);
if (arguments.length>1) { if (arguments.length>1) {
...@@ -104,6 +115,17 @@ ...@@ -104,6 +115,17 @@
*/ */
return str; return str;
}; };
var OTR_CLASS_MAPPING = {};
OTR_CLASS_MAPPING[UNENCRYPTED] = 'unencrypted';
OTR_CLASS_MAPPING[UNVERIFIED] = 'unverified';
OTR_CLASS_MAPPING[VERIFIED] = 'verified';
OTR_CLASS_MAPPING[FINISHED] = 'finished';
var OTR_TRANSLATED_MAPPING = {};
OTR_TRANSLATED_MAPPING[UNENCRYPTED] = __('unencrypted');
OTR_TRANSLATED_MAPPING[UNVERIFIED] = __('unverified');
OTR_TRANSLATED_MAPPING[VERIFIED] = __('verified');
OTR_TRANSLATED_MAPPING[FINISHED] = __('finished');
this.msg_counter = 0; this.msg_counter = 0;
this.autoLink = function (text) { this.autoLink = function (text) {
...@@ -120,10 +142,14 @@ ...@@ -120,10 +142,14 @@
} }
}; };
this.log = function (txt) { this.log = function (txt, level) {
if (this.debug) { if (this.debug) {
if (level == 'error') {
console.log('ERROR: '+txt);
} else {
console.log(txt); console.log(txt);
} }
}
}; };
this.onConnect = function (status) { this.onConnect = function (status) {
...@@ -131,9 +157,9 @@ ...@@ -131,9 +157,9 @@
converse.log('Connected'); converse.log('Connected');
converse.onConnected(); converse.onConnected();
} else if (status === Strophe.Status.DISCONNECTED) { } else if (status === Strophe.Status.DISCONNECTED) {
if ($button) { $button.show().siblings('span').remove(); } //if ($button) { $button.show().siblings('span').remove(); }
converse.giveFeedback(__('Disconnected'), 'error'); converse.giveFeedback(__('Disconnected'), 'error');
converse.connection.connect(connection.jid, connection.pass, converse.onConnect); //converse.connection.connect(connection.jid, connection.pass, converse.onConnect);
} else if (status === Strophe.Status.Error) { } else if (status === Strophe.Status.Error) {
if ($button) { $button.show().siblings('span').remove(); } if ($button) { $button.show().siblings('span').remove(); }
converse.giveFeedback(__('Error'), 'error'); converse.giveFeedback(__('Error'), 'error');
...@@ -149,6 +175,7 @@ ...@@ -149,6 +175,7 @@
converse.giveFeedback(__('Authentication Failed'), 'error'); converse.giveFeedback(__('Authentication Failed'), 'error');
} else if (status === Strophe.Status.DISCONNECTING) { } else if (status === Strophe.Status.DISCONNECTING) {
converse.giveFeedback(__('Disconnecting'), 'error'); converse.giveFeedback(__('Disconnecting'), 'error');
converse.connection.connect(connection.jid, connection.pass, converse.onConnect);
} else if (status === Strophe.Status.ATTACHED) { } else if (status === Strophe.Status.ATTACHED) {
converse.log('Attached'); converse.log('Attached');
converse.onConnected(); converse.onConnected();
...@@ -275,21 +302,144 @@ ...@@ -275,21 +302,144 @@
this.ChatBox = Backbone.Model.extend({ this.ChatBox = Backbone.Model.extend({
initialize: function () { initialize: function () {
if (this.get('box_id') !== 'controlbox') { if (this.get('box_id') !== 'controlbox') {
if (_.contains([UNVERIFIED, VERIFIED], this.get('otr_status'))) {
this.initiateOTR();
}
this.messages = new converse.Messages(); this.messages = new converse.Messages();
this.messages.localStorage = new Backbone.LocalStorage( this.messages.localStorage = new Backbone.LocalStorage(
hex_sha1('converse.messages'+this.get('jid')+converse.bare_jid)); hex_sha1('converse.messages'+this.get('jid')+converse.bare_jid));
this.set({ this.set({
'user_id' : Strophe.getNodeFromJid(this.get('jid')), 'user_id' : Strophe.getNodeFromJid(this.get('jid')),
'box_id' : hex_sha1(this.get('jid')), 'box_id' : hex_sha1(this.get('jid')),
'fullname' : this.get('fullname'), 'otr_status': this.get('otr_status') || UNENCRYPTED
'url': this.get('url'),
'image_type': this.get('image_type'),
'image': this.get('image')
}); });
} }
}, },
messageReceived: function (message) { getSession: function () {
// XXX: sessionStorage is not supported in IE < 8. Perhaps a
// user alert is required here...
var saved_key = window.sessionStorage[hex_sha1(this.id+'priv_key')];
var instance_tag = window.sessionStorage[hex_sha1(this.id+'instance_tag')];
var cipher = crypto.lib.PasswordBasedCipher;
var pass = converse.connection.pass;
var result, key;
if (saved_key && instance_tag) {
var decrypted = cipher.decrypt(crypto.algo.AES, saved_key, pass);
key = otr.DSA.parsePrivate(decrypted.toString(crypto.enc.Latin1));
if (cipher.decrypt(crypto.algo.AES, this.get('pass_check'), pass).toString(crypto.enc.Latin1) === 'match') {
// Verified that the user's password is still the same
this.trigger('showHelpMessages', [__('Re-establishing encrypted session')]);
return {
'key': key,
'instance_tag': instance_tag
};
}
}
// We need to generate a new key and instance tag
result = alert(__('Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.'));
instance_tag = otr.OTR.makeInstanceTag();
key = new otr.DSA();
// Encrypt the key and set in sessionStorage. Also store
// instance tag
window.sessionStorage[hex_sha1(this.id+'priv_key')] =
cipher.encrypt(crypto.algo.AES, key.packPrivate(), pass).toString();
window.sessionStorage[hex_sha1(this.id+'instance_tag')] = instance_tag;
this.trigger('showHelpMessages', [__('Private key generated.')]);
this.save({'pass_check': cipher.encrypt(crypto.algo.AES, 'match', pass).toString()});
return {
'key': key,
'instance_tag': instance_tag
};
},
updateOTRStatus: function (state) {
switch (state) {
case otr.OTR.CONST.STATUS_AKE_SUCCESS:
if (this.otr.msgstate === otr.OTR.CONST.MSGSTATE_ENCRYPTED) {
this.save({'otr_status': UNVERIFIED});
}
break;
case otr.OTR.CONST.STATUS_END_OTR:
if (this.otr.msgstate === otr.OTR.CONST.MSGSTATE_FINISHED) {
this.save({'otr_status': FINISHED});
} else if (this.otr.msgstate === otr.OTR.CONST.MSGSTATE_PLAINTEXT) {
this.save({'otr_status': UNENCRYPTED});
}
break;
}
},
onSMP: function (type, data) {
// Event handler for SMP (Socialist's Millionaire Protocol)
// used by OTR (off-the-record).
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',
[this.get('fullname'), data])));
break;
case 'trust':
if (this.otr.trust === true) {
this.save({'otr_status': VERIFIED});
} else {
this.trigger(
'showHelpMessages',
[__("Could not verify this user's identify.")],
'error');
this.save({'otr_status': UNVERIFIED});
}
break;
default:
throw new Error('Unknown type.');
}
},
initiateOTR: function (query_msg) {
// Sets up an OTR object through which we can send and receive
// 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
// send the query message to them.
this.save({'otr_status': UNENCRYPTED});
session = this.getSession();
this.otr = new otr.OTR({
fragment_size: 140,
send_interval: 200,
priv: session.key,
instance_tag: session.instance_tag,
debug: this.debug
});
this.otr.on('status', $.proxy(this.updateOTRStatus, this));
this.otr.on('smp', $.proxy(this.onSMP, this));
this.otr.on('ui', $.proxy(function (msg) {
this.trigger('showReceivedOTRMessage', msg);
}, this));
this.otr.on('io', $.proxy(function (msg) {
this.trigger('sendMessageStanza', msg);
}, this));
this.otr.on('error', $.proxy(function (msg) {
this.trigger('showOTRError', msg);
}, this));
if (query_msg) {
this.otr.receiveMsg(query_msg);
} else {
this.otr.sendQueryMsg();
}
},
endOTR: function () {
if (this.otr) {
this.otr.endOtr();
}
this.save({'otr_status': UNENCRYPTED});
},
createMessage: function (message) {
var $message = $(message), var $message = $(message),
body = converse.autoLink($message.children('body').text()), body = converse.autoLink($message.children('body').text()),
from = Strophe.getBareJidFromJid($message.attr('from')), from = Strophe.getBareJidFromJid($message.attr('from')),
...@@ -328,6 +478,29 @@ ...@@ -328,6 +478,29 @@
message: body message: body
}); });
} }
},
messageReceived: function (message) {
var $body = $(message).children('body');
var text = ($body.length > 0 ? converse.autoLink($body.text()) : undefined);
if ((!text) || (!converse.allow_otr)) {
return this.createMessage(message);
}
if (_.contains([UNVERIFIED, VERIFIED], this.get('otr_status'))) {
this.otr.receiveMsg(text);
} else {
if (text.match(/^\?OTR/)) {
// They want to initiate OTR
if (!this.otr) {
this.initiateOTR(text);
} else {
this.otr.receiveMsg(text);
}
} else {
// Normal unencrypted message.
this.createMessage(message);
}
}
} }
}); });
...@@ -338,9 +511,67 @@ ...@@ -338,9 +511,67 @@
events: { events: {
'click .close-chatbox-button': 'closeChat', 'click .close-chatbox-button': 'closeChat',
'keypress textarea.chat-textarea': 'keyPressed' 'keypress textarea.chat-textarea': 'keyPressed',
'click .toggle-otr': 'toggleOTRMenu',
'click .start-otr': 'startOTRFromToolbar',
'click .end-otr': 'endOTR',
'click .auth-otr': 'authOTR'
}, },
template: _.template(
'<div class="chat-head chat-head-chatbox">' +
'<a class="close-chatbox-button icon-close"></a>' +
'<a href="{{url}}" target="_blank" class="user">' +
'<div class="chat-title"> {{ fullname }} </div>' +
'</a>' +
'<p class="user-custom-message"><p/>' +
'</div>' +
'<div class="chat-content"></div>' +
'<form class="sendXMPPMessage" action="" method="post">' +
'{[ if ('+converse.show_toolbar+') { ]}' +
'<ul class="chat-toolbar no-text-select"></ul>'+
'{[ } ]}' +
'<textarea ' +
'type="text" ' +
'class="chat-textarea" ' +
'placeholder="'+__('Personal message')+'"/>'+
'</form>'
),
toolbar_template: _.template(
'{[ if (allow_otr) { ]}' +
'<li class="toggle-otr {{otr_status_class}}" title="{{otr_tooltip}}">'+
'<span class="chat-toolbar-text">{{otr_translated_status}}</span>'+
'{[ if (otr_status == "'+UNENCRYPTED+'") { ]}' +
'<span class="icon-unlocked"></span>'+
'{[ } ]}' +
'{[ if (otr_status == "'+UNVERIFIED+'") { ]}' +
'<span class="icon-lock"></span>'+
'{[ } ]}' +
'{[ if (otr_status == "'+VERIFIED+'") { ]}' +
'<span class="icon-lock"></span>'+
'{[ } ]}' +
'{[ if (otr_status == "'+FINISHED+'") { ]}' +
'<span class="icon-unlocked"></span>'+
'{[ } ]}' +
'<ul>'+
'{[ if (otr_status == "'+UNENCRYPTED+'") { ]}' +
'<li><a class="start-otr" href="#">'+__('Start encrypted conversation')+'</a></li>'+
'{[ } ]}' +
'{[ if (otr_status != "'+UNENCRYPTED+'") { ]}' +
'<li><a class="start-otr" href="#">'+__('Refresh encrypted conversation')+'</a></li>'+
'<li><a class="end-otr" href="#">'+__('End encrypted conversation')+'</a></li>'+
'<li><a class="auth-otr" data-scheme="smp" href="#">'+__('Verify with SMP')+'</a></li>'+
'{[ } ]}' +
'{[ if (otr_status == "'+UNVERIFIED+'") { ]}' +
'<li><a class="auth-otr" data-scheme="fingerprint" href="#">'+__('Verify with fingerprints')+'</a></li>'+
'{[ } ]}' +
'<li><a href="http://www.cypherpunks.ca/otr/help/3.2.0/levels.php" target="_blank">'+__("What\'s this?")+'</a></li>'+
'</ul>'+
'</li>'+
'{[ } ]}'
),
message_template: _.template( message_template: _.template(
'<div class="chat-message {{extra_classes}}">' + '<div class="chat-message {{extra_classes}}">' +
'<span class="chat-message-{{sender}}">{{time}} {{username}}:&nbsp;</span>' + '<span class="chat-message-{{sender}}">{{time}} {{username}}:&nbsp;</span>' +
...@@ -357,7 +588,44 @@ ...@@ -357,7 +588,44 @@
'<time class="chat-date" datetime="{{isodate}}">{{datestring}}</time>' '<time class="chat-date" datetime="{{isodate}}">{{datestring}}</time>'
), ),
appendMessage: function ($el, msg_dict) { initialize: function (){
this.model.messages.on('add', this.onMessageAdded, this);
this.model.on('show', this.show, this);
this.model.on('destroy', this.hide, this);
this.model.on('change', this.onChange, this);
this.model.on('showOTRError', this.showOTRError, this);
this.model.on('buddyStartsOTR', this.buddyStartsOTR, this);
this.model.on('showHelpMessages', this.showHelpMessages, this);
this.model.on('sendMessageStanza', this.sendMessageStanza, this);
this.model.on('showSentOTRMessage', function (text) {
this.showOTRMessage(text, 'me');
}, this);
this.model.on('showReceivedOTRMessage', function (text) {
this.showOTRMessage(text, 'them');
}, this);
this.updateVCard();
this.$el.appendTo(converse.chatboxesview.$el);
this.render().show().model.messages.fetch({add: true});
if (this.model.get('status')) {
this.showStatusMessage(this.model.get('status'));
}
},
render: function () {
this.$el.attr('id', this.model.get('box_id'))
.html(this.template(this.model.toJSON()));
this.renderToolbar().renderAvatar();
return this;
},
showStatusNotification: function (message, replace) {
var $chat_content = this.$el.find('.chat-content');
$chat_content.find('div.chat-event').remove().end()
.append($('<div class="chat-event"></div>').text(message));
this.scrollDown();
},
showMessage: function ($el, msg_dict) {
var this_date = converse.parseISO8601(msg_dict.time), var this_date = converse.parseISO8601(msg_dict.time),
text = msg_dict.message, text = msg_dict.message,
match = text.match(/^\/(.*?)(?: (.*))?$/), match = text.match(/^\/(.*?)(?: (.*))?$/),
...@@ -381,16 +649,37 @@ ...@@ -381,16 +649,37 @@
'username': username, 'username': username,
'extra_classes': msg_dict.delayed && 'delayed' || '' 'extra_classes': msg_dict.delayed && 'delayed' || ''
})); }));
return this.scrollDown();
}, },
insertStatusNotification: function (message, replace) { showOTRMessage: function (text, sender) {
var $chat_content = this.$el.find('.chat-content'); /* "Off-the-record" messages are encrypted and not stored at all,
$chat_content.find('div.chat-event').remove().end() * so we don't have a backbone converse.Message object to work with.
.append($('<div class="chat-event"></div>').text(message)); */
this.scrollDown(); var username = sender === 'me' && sender || this.model.get('fullname');
var $el = this.$el.find('.chat-content');
$el.find('div.chat-event').remove();
$el.append(
this.message_template({
'sender': sender,
'time': (new Date()).toTimeString().substring(0,5),
'message': text,
'username': username,
'extra_classes': ''
}));
return this.scrollDown();
},
showHelpMessages: function (msgs, type) {
var $chat_content = this.$el.find('.chat-content'), i,
msgs_length = msgs.length;
for (i=0; i<msgs_length; i++) {
$chat_content.append($('<div class="chat-'+(type||'info')+'">'+msgs[i]+'</div>'));
}
return this.scrollDown();
}, },
showMessage: function (message) { onMessageAdded: function (message) {
var time = message.get('time'), var time = message.get('time'),
times = this.model.messages.pluck('time'), times = this.model.messages.pluck('time'),
this_date = converse.parseISO8601(time), this_date = converse.parseISO8601(time),
...@@ -414,15 +703,15 @@ ...@@ -414,15 +703,15 @@
} }
} }
if (message.get('composing')) { if (message.get('composing')) {
this.insertStatusNotification(__('%1$s is typing', message.get('fullname'))); this.showStatusNotification(message.get('fullname')+' '+'is typing');
return; return;
} else { } else {
this.appendMessage($chat_content, _.clone(message.attributes)); this.showMessage($chat_content, _.clone(message.attributes));
} }
if ((message.get('sender') != 'me') && (converse.windowState == 'blur')) { if ((message.get('sender') != 'me') && (converse.windowState == 'blur')) {
converse.incrementMsgCounter(); converse.incrementMsgCounter();
} }
this.scrollDown(); return this.scrollDown();
}, },
isDifferentDay: function (prev_date, next_date) { isDifferentDay: function (prev_date, next_date) {
...@@ -432,24 +721,31 @@ ...@@ -432,24 +721,31 @@
(next_date.getMonth() != prev_date.getMonth())); (next_date.getMonth() != prev_date.getMonth()));
}, },
addHelpMessages: function (msgs) { sendMessageStanza: function (text) {
var $chat_content = this.$el.find('.chat-content'), i, /*
msgs_length = msgs.length; * Sends the actual XML stanza to the XMPP server.
for (i=0; i<msgs_length; i++) { */
$chat_content.append($('<div class="chat-info">'+msgs[i]+'</div>'));
}
this.scrollDown();
},
sendMessage: function (text) {
// TODO: Look in ChatPartners to see what resources we have for the recipient. // TODO: Look in ChatPartners to see what resources we have for the recipient.
// if we have one resource, we sent to only that resources, if we have multiple // if we have one resource, we sent to only that resources, if we have multiple
// we send to the bare jid. // we send to the bare jid.
var timestamp = (new Date()).getTime(), var timestamp = (new Date()).getTime();
bare_jid = this.model.get('jid'), var bare_jid = this.model.get('jid');
match = text.replace(/^\s*/, "").match(/^\/(.*)\s*$/), var message = $msg({from: converse.connection.jid, to: bare_jid, type: 'chat', id: timestamp})
msgs; .c('body').t(text).up()
.c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'});
// Forward the message, so that other connected resources are also aware of it.
// TODO: Forward the message only to other connected resources (inside the browser)
var forwarded = $msg({to:converse.bare_jid, type:'chat', id:timestamp})
.c('forwarded', {xmlns:'urn:xmpp:forward:0'})
.c('delay', {xmns:'urn:xmpp:delay',stamp:timestamp}).up()
.cnode(message.tree());
converse.connection.send(message);
converse.connection.send(forwarded);
},
sendMessage: function (text) {
var match = text.replace(/^\s*/, "").match(/^\/(.*)\s*$/), msgs;
if (match) { if (match) {
if (match[1] === "clear") { if (match[1] === "clear") {
this.$el.find('.chat-content').empty(); this.$el.find('.chat-content').empty();
...@@ -462,28 +758,28 @@ ...@@ -462,28 +758,28 @@
'<strong>/me</strong>:'+__('Write in the third person')+'', '<strong>/me</strong>:'+__('Write in the third person')+'',
'<strong>/clear</strong>:'+__('Remove messages')+'' '<strong>/clear</strong>:'+__('Remove messages')+''
]; ];
this.addHelpMessages(msgs); this.showHelpMessages(msgs);
return; return;
} else if ((converse.allow_otr) || (match[1] === "endotr")) {
return this.endOTR();
} else if ((converse.allow_otr) || (match[1] === "otr")) {
return this.model.initiateOTR();
} }
} }
var message = $msg({from: converse.connection.jid, to: bare_jid, type: 'chat', id: timestamp}) if (_.contains([UNVERIFIED, VERIFIED], this.model.get('otr_status'))) {
.c('body').t(text).up() // Off-the-record encryption is active
.c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}); this.model.otr.sendMsg(text);
// Forward the message, so that other connected resources are also aware of it. this.model.trigger('showSentOTRMessage', text);
// TODO: Forward the message only to other connected resources (inside the browser) } else {
var forwarded = $msg({to:converse.bare_jid, type:'chat', id:timestamp}) // We only save unencrypted messages.
.c('forwarded', {xmlns:'urn:xmpp:forward:0'})
.c('delay', {xmns:'urn:xmpp:delay',stamp:timestamp}).up()
.cnode(message.tree());
converse.connection.send(message);
converse.connection.send(forwarded);
// Add the new message
this.model.messages.create({ this.model.messages.create({
fullname: converse.xmppstatus.get('fullname')||converse.bare_jid, fullname: converse.xmppstatus.get('fullname')||converse.bare_jid,
sender: 'me', sender: 'me',
time: converse.toISOString(new Date()), time: converse.toISOString(new Date()),
message: text message: text
}); });
this.sendMessageStanza(text);
}
}, },
keyPressed: function (ev) { keyPressed: function (ev) {
...@@ -517,26 +813,102 @@ ...@@ -517,26 +813,102 @@
} }
}, },
toggleOTRMenu: function (ev) {
ev.stopPropagation();
$(ev.currentTarget).children('ul').slideToggle(200, function () {
$(document).click(function() {
if ($('.toggle-otr ul').is(':visible')) {
$('.toggle-otr ul', this).slideUp();
}
});
});
},
showOTRError: function (msg) {
if (msg == 'Message cannot be sent at this time.') {
this.showHelpMessages(
[__('Your message could not be sent')], 'error');
} else if (msg == 'Received an unencrypted message.') {
this.showHelpMessages(
[__('We received an unencrypted message')], 'error');
} else if (msg == 'Received an unreadable encrypted message.') {
this.showHelpMessages(
[__('We received an unreadable encrypted message')],
'error');
} else {
this.showHelpMessages(['Encryption error occured: '+msg], 'error');
}
console.log("OTR ERROR:"+msg);
},
buddyStartsOTR: function (ev) {
this.showHelpMessages([__('This user has requested an encrypted session.')]);
this.model.initiateOTR();
},
startOTRFromToolbar: function (ev) {
$(ev.target).parent().parent().slideUp();
ev.stopPropagation();
this.model.initiateOTR();
},
endOTR: function (ev) {
this.model.endOTR();
},
authOTR: function (ev) {
var scheme = $(ev.target).data().scheme;
var result, question, answer;
if (scheme === 'fingerprint') {
result = confirm(__('Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.', [
this.model.get('fullname'),
converse.xmppstatus.get('fullname')||converse.bare_jid,
this.model.otr.priv.fingerprint(),
this.model.otr.their_priv_pk.fingerprint()
]
));
if (result === true) {
this.model.save({'otr_status': VERIFIED});
} else {
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 have been verified.'));
question = prompt(__('What is your security question?'));
if (question) {
answer = prompt(__('What is the answer to the security question?'));
this.model.otr.smpSecret(answer, question);
}
} else {
this.showHelpMessages([__('Invalid authentication scheme provided')], 'error');
}
},
onChange: function (item, changed) { onChange: function (item, changed) {
if (_.has(item.changed, 'chat_status')) { if (_.has(item.changed, 'chat_status')) {
var chat_status = item.get('chat_status'), var chat_status = item.get('chat_status'),
fullname = item.get('fullname'); fullname = item.get('fullname');
if (this.$el.is(':visible')) { if (this.$el.is(':visible')) {
if (chat_status === 'offline') { if (chat_status === 'offline') {
this.insertStatusNotification(fullname+' '+'has gone offline'); this.showStatusNotification(fullname+' '+'has gone offline');
} else if (chat_status === 'away') { } else if (chat_status === 'away') {
this.insertStatusNotification(fullname+' '+'has gone away'); this.showStatusNotification(fullname+' '+'has gone away');
} else if ((chat_status === 'dnd')) { } else if ((chat_status === 'dnd')) {
this.insertStatusNotification(fullname+' '+'is busy'); this.showStatusNotification(fullname+' '+'is busy');
} else if (chat_status === 'online') { } else if (chat_status === 'online') {
this.$el.find('div.chat-event').remove(); this.$el.find('div.chat-event').remove();
} }
} }
} if (_.has(item.changed, 'status')) { }
if (_.has(item.changed, 'status')) {
this.showStatusMessage(item.get('status')); this.showStatusMessage(item.get('status'));
} if (_.has(item.changed, 'image')) { }
if (_.has(item.changed, 'image')) {
this.renderAvatar(); this.renderAvatar();
} }
if (_.has(item.changed, 'otr_status')) {
this.renderToolbar().informOTRChange();
}
// TODO check for changed fullname as well // TODO check for changed fullname as well
}, },
...@@ -574,34 +946,40 @@ ...@@ -574,34 +946,40 @@
} }
}, },
initialize: function (){ informOTRChange: function () {
this.model.messages.on('add', this.showMessage, this); var data = this.model.toJSON();
this.model.on('show', this.show, this); var msgs = [];
this.model.on('destroy', this.hide, this); if (data.otr_status == UNENCRYPTED) {
this.model.on('change', this.onChange, this); msgs.push(__("Your messages are not encrypted anymore"));
this.updateVCard(); } else if (data.otr_status == UNVERIFIED){
this.$el.appendTo(converse.chatboxesview.$el); msgs.push(__("Your messages are now encrypted but your buddy's identity has not been verified."));
this.render().show().model.messages.fetch({add: true}); } else if (data.otr_status == VERIFIED){
if (this.model.get('status')) { msgs.push(__("Your buddy's identify has been verified."));
this.showStatusMessage(this.model.get('status')); } else if (data.otr_status == FINISHED){
msgs.push(__("Your buddy has ended encryption on their end, you should do the same."));
} }
return this.showHelpMessages(msgs);
}, },
template: _.template( renderToolbar: function () {
'<div class="chat-head chat-head-chatbox">' + if (converse.show_toolbar) {
'<a class="close-chatbox-button icon-close"></a>' + var data = this.model.toJSON();
'<a href="{{url}}" target="_blank" class="user">' + if (data.otr_status == UNENCRYPTED) {
'<div class="chat-title"> {{ fullname }} </div>' + data.otr_tooltip = __('Your messages are not encrypted. Click here to enable OTR encryption.');
'</a>' + } else if (data.otr_status == UNVERIFIED){
'<p class="user-custom-message"><p/>' + data.otr_tooltip = __('Your messages are encrypted, but your buddy has not been verified.');
'</div>' + } else if (data.otr_status == VERIFIED){
'<div class="chat-content"></div>' + data.otr_tooltip = __('Your messages are encrypted and your buddy verified.');
'<form class="sendXMPPMessage" action="" method="post">' + } else if (data.otr_status == FINISHED){
'<textarea ' + data.otr_tooltip = __('Your buddy has closed their end of the private session, you should do the same');
'type="text" ' + }
'class="chat-textarea" ' + data.allow_otr = converse.allow_otr;
'placeholder="'+__('Personal message')+'"/>'+ data.otr_translated_status = OTR_TRANSLATED_MAPPING[data.otr_status];
'</form>'), data.otr_status_class = OTR_CLASS_MAPPING[data.otr_status];
this.$el.find('.chat-toolbar').html(this.toolbar_template(data));
}
return this;
},
renderAvatar: function () { renderAvatar: function () {
if (!this.model.get('image')) { if (!this.model.get('image')) {
...@@ -617,12 +995,6 @@ ...@@ -617,12 +995,6 @@
}; };
img.src = img_src; img.src = img_src;
this.$el.find('.chat-title').before(canvas); this.$el.find('.chat-title').before(canvas);
},
render: function () {
this.$el.attr('id', this.model.get('box_id'))
.html(this.template(this.model.toJSON()));
this.renderAvatar();
return this; return this;
}, },
...@@ -1096,7 +1468,7 @@ ...@@ -1096,7 +1468,7 @@
'<ul id="controlbox-tabs"></ul>'+ '<ul id="controlbox-tabs"></ul>'+
'<a class="close-chatbox-button icon-close"></a>'+ '<a class="close-chatbox-button icon-close"></a>'+
'</div>'+ '</div>'+
'<div id="controlbox-panes"></div>' '<div class="controlbox-panes"></div>'
), ),
switchTab: function (ev) { switchTab: function (ev) {
...@@ -1114,8 +1486,8 @@ ...@@ -1114,8 +1486,8 @@
}); });
}, },
addHelpMessages: function (msgs) { showHelpMessages: function (msgs) {
// Override addHelpMessages in ChatBoxView, for now do nothing. // Override showHelpMessages in ChatBoxView, for now do nothing.
return; return;
}, },
...@@ -1123,15 +1495,15 @@ ...@@ -1123,15 +1495,15 @@
if ((!converse.prebind) && (!converse.connection)) { if ((!converse.prebind) && (!converse.connection)) {
// Add login panel if the user still has to authenticate // Add login panel if the user still has to authenticate
this.$el.html(this.template(this.model.toJSON())); this.$el.html(this.template(this.model.toJSON()));
this.loginpanel = new converse.LoginPanel({'$parent': this.$el.find('#controlbox-panes'), 'model': this}); this.loginpanel = new converse.LoginPanel({'$parent': this.$el.find('.controlbox-panes'), 'model': this});
this.loginpanel.render(); this.loginpanel.render();
} else if (!this.contactspanel) { } else if (!this.contactspanel) {
this.$el.html(this.template(this.model.toJSON())); this.$el.html(this.template(this.model.toJSON()));
this.contactspanel = new converse.ContactsPanel({'$parent': this.$el.find('#controlbox-panes')}); this.contactspanel = new converse.ContactsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.contactspanel.render(); this.contactspanel.render();
converse.xmppstatusview = new converse.XMPPStatusView({'model': converse.xmppstatus}); converse.xmppstatusview = new converse.XMPPStatusView({'model': converse.xmppstatus});
converse.xmppstatusview.render(); converse.xmppstatusview.render();
this.roomspanel = new converse.RoomsPanel({'$parent': this.$el.find('#controlbox-panes')}); this.roomspanel = new converse.RoomsPanel({'$parent': this.$el.find('.controlbox-panes')});
this.roomspanel.render(); this.roomspanel.render();
} }
return this; return this;
...@@ -1184,7 +1556,7 @@ ...@@ -1184,7 +1556,7 @@
'<strong>/ban</strong>:'+__('Ban user from chatroom')+'', '<strong>/ban</strong>:'+__('Ban user from chatroom')+'',
'<strong>/clear</strong>:'+__('Remove messages')+'' '<strong>/clear</strong>:'+__('Remove messages')+''
]; ];
this.addHelpMessages(msgs); this.showHelpMessages(msgs);
break; break;
default: default:
this.last_msgid = converse.connection.muc.groupchat(this.model.get('jid'), body); this.last_msgid = converse.connection.muc.groupchat(this.model.get('jid'), body);
...@@ -1248,7 +1620,7 @@ ...@@ -1248,7 +1620,7 @@
initialize: function () { initialize: function () {
this.connect(null); this.connect(null);
this.model.messages.on('add', this.showMessage, this); this.model.messages.on('add', this.onMessageAdded, this);
this.model.on('destroy', function (model, response, options) { this.model.on('destroy', function (model, response, options) {
this.$el.hide('fast'); this.$el.hide('fast');
converse.connection.muc.leave( converse.connection.muc.leave(
...@@ -1370,7 +1742,7 @@ ...@@ -1370,7 +1742,7 @@
}, },
onErrorConfigSaved: function (stanza) { onErrorConfigSaved: function (stanza) {
this.insertStatusNotification(__("An error occurred while trying to save the form.")); this.showStatusNotification(__("An error occurred while trying to save the form."));
}, },
cancelConfiguration: function (ev) { cancelConfiguration: function (ev) {
...@@ -1510,7 +1882,7 @@ ...@@ -1510,7 +1882,7 @@
for (i=0; i<action_msgs.length; i++) { for (i=0; i<action_msgs.length; i++) {
$chat_content.append(this.info_template({message: action_msgs[i]})); $chat_content.append(this.info_template({message: action_msgs[i]}));
} }
this.scrollDown(); return this.scrollDown();
}, },
showErrorMessage: function ($error, room) { showErrorMessage: function ($error, room) {
...@@ -1616,16 +1988,18 @@ ...@@ -1616,16 +1988,18 @@
this.$el.find('.chatroom-topic').text(subject).attr('title', subject); this.$el.find('.chatroom-topic').text(subject).attr('title', subject);
// # For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively // # For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively
// # Example: Topic set by JC Brand to: Hello World! // # Example: Topic set by JC Brand to: Hello World!
$chat_content.append(this.info_template({'message': __('Topic set by %1$s to: %2$s', sender, subject)})); $chat_content.append(
this.info_template({
'message': __('Topic set by %1$s to: %2$s', sender, subject)
}));
} }
if (!body) { return true; } if (!body) { return true; }
this.appendMessage($chat_content, this.showMessage($chat_content,
{'message': body, {'message': body,
'sender': sender === this.model.get('nick') && 'me' || 'room', 'sender': sender === this.model.get('nick') && 'me' || 'room',
'fullname': sender, 'fullname': sender,
'time': converse.toISOString(message_datetime) 'time': converse.toISOString(message_datetime)
}); });
this.scrollDown();
return true; return true;
}, },
...@@ -1715,6 +2089,9 @@ ...@@ -1715,6 +2089,9 @@
} }
chatbox = this.get(partner_jid); chatbox = this.get(partner_jid);
roster_item = converse.roster.get(partner_jid); roster_item = converse.roster.get(partner_jid);
if (roster_item === undefined) {
converse.log('Could not get roster item for JID '+partner_jid, 'error');
}
if (!chatbox) { if (!chatbox) {
chatbox = this.create({ chatbox = this.create({
'id': partner_jid, 'id': partner_jid,
...@@ -2225,7 +2602,7 @@ ...@@ -2225,7 +2602,7 @@
// want to send a presence stanza, so we do it here. // want to send a presence stanza, so we do it here.
converse.xmppstatus.sendPresence(); converse.xmppstatus.sendPresence();
} }
}, }
}); // Get the cached roster items from localstorage }); // Get the cached roster items from localstorage
}, },
......
...@@ -192,15 +192,16 @@ ...@@ -192,15 +192,16 @@
<script> <script>
require(['converse'], function (converse) { require(['converse'], function (converse) {
converse.initialize({ converse.initialize({
allow_otr: true,
auto_list_rooms: false, auto_list_rooms: false,
auto_subscribe: false, auto_subscribe: false,
bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes
debug: true ,
hide_muc_server: false, hide_muc_server: false,
i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported
prebind: false, prebind: false,
show_controlbox_by_default: true, show_controlbox_by_default: true,
xhr_user_search: false, xhr_user_search: false,
debug: true
}); });
}); });
</script> </script>
......
...@@ -7,335 +7,517 @@ msgid "" ...@@ -7,335 +7,517 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 21:55+0200\n"
"PO-Revision-Date: 2013-09-15 11:44+0200\n" "PO-Revision-Date: 2013-09-15 21:56+0200\n"
"Last-Translator: JC Brand <jc@opkode.com>\n" "Last-Translator: JC Brand <jc@opkode.com>\n"
"Language-Team: Afrikaans\n" "Language-Team: Afrikaans\n"
"Language: af\n" "Language: af\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"domain: converse\n" "domain: converse\n"
"lang: af\n" "lang: af\n"
"plural_forms: nplurals=2; plural=(n != 1);\n" "plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr "nie-privaat"
#: converse.js:126
msgid "unverified"
msgstr "ongeverifieer"
#: converse.js:127
msgid "verified"
msgstr "privaat"
#: converse.js:128
msgid "finished"
msgstr "afgesluit"
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Verbindung onderbreek" msgstr "Verbindung onderbreek"
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Fout" msgstr "Fout"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Verbind tans" msgstr "Verbind tans"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "Verbinding het gefaal" msgstr "Verbinding het gefaal"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Besig om te bekragtig" msgstr "Besig om te bekragtig"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "Bekragtiging het gefaal" msgstr "Bekragtiging het gefaal"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Onderbreek verbinding" msgstr "Onderbreek verbinding"
#: converse.js:373 #: converse.js:332
msgid "Re-establishing encrypted session"
msgstr "Herstel versleutelde sessie"
#: converse.js:340
msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr ""
"Die webblaaier moet 'n private sleutel vir die versleutelde klets-sessie "
"genereer. Dit kan tot 30 sekondes duur, waartydenѕ die webblaaier mag vries "
"en nie reageer nie."
#: converse.js:349
msgid "Private key generated."
msgstr "Private sleutel"
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
"Verifikasie versoek van %1$s\n"
"\n"
"U gespreksmaat probeer om u identiteit te verifieer, deur die volgende vraag "
"te vra \n"
"\n"
"%2$s"
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr "Kon nie hierdie gebruiker se identitied verifieer nie."
#: converse.js:537
msgid "Personal message"
msgstr "Persoonlike boodskap"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr "Begin versleutelde gesprek"
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr "Verfris versleutelde gesprek"
#: converse.js:563
msgid "End encrypted conversation"
msgstr "Beëindig versleutelde gesprek"
#: converse.js:564
msgid "Verify with SMP"
msgstr "Verifieer met SMP"
#: converse.js:567
msgid "Verify with fingerprints"
msgstr "Verifieer met vingerafdrukke"
#: converse.js:569
msgid "What's this?"
msgstr "Wat is hierdie?"
#: converse.js:641
msgid "me" msgid "me"
msgstr "ek" msgstr "ek"
#: converse.js:417
msgid "%1$s is typing"
msgstr "%1$s tik tans"
# The last three values are needed by Jed (a Javascript translations library) # The last three values are needed by Jed (a Javascript translations library)
#: converse.js:461 converse.js:1180 #: converse.js:757 converse.js:1552
msgid "Show this menu" msgid "Show this menu"
msgstr "Vertoon hierdie keuselys" msgstr "Vertoon hierdie keuselys"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "Skryf in die derde persoon" msgstr "Skryf in die derde persoon"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Verwyder boodskappe" msgstr "Verwyder boodskappe"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Persoonlike boodskap" msgstr "U boodskap kon nie gestuur word nie"
#: converse.js:833
msgid "We received an unencrypted message"
msgstr "Ons het 'n onversleutelde boodskap ontvang"
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr "Ons het 'n onleesbare versleutelde boodskap ontvang"
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr "Hierdie gebruiker versoek 'n versleutelde sessie"
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
"Hier is die vingerafdrukke, bevestig hulle met %1$s, buite hierdie "
"kletskanaal \n"
"\n"
"U vingerafdruk, %2$s: %3$s\n"
"\n"
"Vingerafdruk vir %1$s: %4$s\n"
"\n"
"Indien u die vingerafdrukke bevestig het, klik OK, andersinds klik Kanselleer"
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
"Daar sal van u verwag word om 'n sekuriteitsvraag te stel, en dan ook die "
"antwoord tot daardie vraag te verskaf.\n"
"\n"
"U gespreksmaat sal dan daardie vraag gestel word, en indien hulle presies "
"dieselfde antwoord (hoofletters tel) verskaf, sal hul identiteit geverifieer "
"wees."
#: converse.js:877
msgid "What is your security question?"
msgstr "Wat is u sekuriteitsvraag?"
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr "Wat is die antwoord tot die sekuriteitsvraag?"
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr "Ongeldige verifikasiemetode verskaf"
#: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr "U boodskappe is nie meer versleutel nie"
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
"U boodskappe is now versleutel maar u gespreksmaat se identiteit is nog "
"onseker."
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr "U gespreksmaat se identiteit is geverifieer."
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
"U gespreksmaat het versleuteling gestaak, u behoort nou dieselfde te doen."
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
"U boodskappe is nie versleutel nie. Klik hier om OTR versleuteling te "
"aktiveer."
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
"U boodskappe is versleutel, maar u gespreksmaat se identiteit is not onseker."
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
"U boodskappe is versleutel en u gespreksmaat se identiteit geverifieer."
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
"U gespreksmaat het die private sessie gestaak. U behoort dieselfde te doen"
#: converse.js:677 #: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Kontakte" msgstr "Kontakte"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "Aangemeld" msgstr "Aangemeld"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Besig" msgstr "Besig"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Afwesig" msgstr "Afwesig"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Afgemeld" msgstr "Afgemeld"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Kliek om nuwe kletskontakte by te voeg" msgstr "Kliek om nuwe kletskontakte by te voeg"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Voeg 'n kontak by" msgstr "Voeg 'n kontak by"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Konak gebruikersnaam" msgstr "Konak gebruikersnaam"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Voeg by" msgstr "Voeg by"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Kontaknaam" msgstr "Kontaknaam"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Soek" msgstr "Soek"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "Geen gebruikers gevind" msgstr "Geen gebruikers gevind"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Kliek om as kletskontak by te voeg" msgstr "Kliek om as kletskontak by te voeg"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "Kliek om hierdie kletskamer te open" msgstr "Kliek om hierdie kletskamer te open"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Wys meer inligting aangaande hierdie kletskamer" msgstr "Wys meer inligting aangaande hierdie kletskamer"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Beskrywing:" msgstr "Beskrywing:"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Deelnemers:" msgstr "Deelnemers:"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Eienskappe:" msgstr "Eienskappe:"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Benodig magtiging" msgstr "Benodig magtiging"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Verskuil" msgstr "Verskuil"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Benodig 'n uitnodiging" msgstr "Benodig 'n uitnodiging"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Gemodereer" msgstr "Gemodereer"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "Nie-anoniem" msgstr "Nie-anoniem"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Oop kletskamer" msgstr "Oop kletskamer"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Permanente kamer" msgstr "Permanente kamer"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Publiek" msgstr "Publiek"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Deels anoniem" msgstr "Deels anoniem"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Tydelike kamer" msgstr "Tydelike kamer"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Ongemodereer" msgstr "Ongemodereer"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Kamers" msgstr "Kamers"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Kamer naam" msgstr "Kamer naam"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Bynaam" msgstr "Bynaam"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Bediener" msgstr "Bediener"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Sluit aan" msgstr "Sluit aan"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Wys kamers" msgstr "Wys kamers"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "Geen kamers op %1$s" msgstr "Geen kamers op %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Kamers op %1$s" msgstr "Kamers op %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Stel kletskamer onderwerp" msgstr "Stel kletskamer onderwerp"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Skop gebruiker uit die kletskamer" msgstr "Skop gebruiker uit die kletskamer"
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Verban gebruiker vanuit die kletskamer" msgstr "Verban gebruiker vanuit die kletskamer"
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Boodskap" msgstr "Boodskap"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Stoor" msgstr "Stoor"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Kanseleer" msgstr "Kanseleer"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "A fout het voorgekom terwyl probeer is om die vorm te stoor." msgstr "A fout het voorgekom terwyl probeer is om die vorm te stoor."
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "Hiedie kletskamer benodig 'n wagwoord" msgstr "Hiedie kletskamer benodig 'n wagwoord"
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Wagwoord:" msgstr "Wagwoord:"
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Dien in" msgstr "Dien in"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Hierdie vertrek is nie anoniem nie" msgstr "Hierdie vertrek is nie anoniem nie"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "Hierdie vertrek wys nou onbeskikbare lede" msgstr "Hierdie vertrek wys nou onbeskikbare lede"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "Hierdie vertrek wys nie onbeskikbare lede nie" msgstr "Hierdie vertrek wys nie onbeskikbare lede nie"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "Nie-privaatheidverwante kamer instellings het verander" msgstr "Nie-privaatheidverwante kamer instellings het verander"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "Kamer log is nou aangeskakel" msgstr "Kamer log is nou aangeskakel"
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "Kamer log is nou afgeskakel" msgstr "Kamer log is nou afgeskakel"
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "Hiedie kamer is nou nie anoniem nie" msgstr "Hiedie kamer is nou nie anoniem nie"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "Hierdie kamer is nou gedeeltelik anoniem" msgstr "Hierdie kamer is nou gedeeltelik anoniem"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "Hierdie kamer is nou ten volle anoniem" msgstr "Hierdie kamer is nou ten volle anoniem"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "'n Nuwe kamer is geskep" msgstr "'n Nuwe kamer is geskep"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Jou bynaam is verander" msgstr "Jou bynaam is verander"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> is verban" msgstr "<strong>%1$s</strong> is verban"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> is uitgeskop" msgstr "<strong>%1$s</strong> is uitgeskop"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "<strong>%1$s</strong> is verwyder a.g.v 'n verandering van affiliasie" msgstr "<strong>%1$s</strong> is verwyder a.g.v 'n verandering van affiliasie"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> is nie 'n lid nie, en dus verwyder" msgstr "<strong>%1$s</strong> is nie 'n lid nie, en dus verwyder"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Jy is uit die kamer verban" msgstr "Jy is uit die kamer verban"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "Jy is uit die kamer geskop" msgstr "Jy is uit die kamer geskop"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" msgid "You have been removed from this room because of an affiliation change"
msgstr "Jy is vanuit die kamer verwyder a.g.v 'n verandering van affiliasie" msgstr "Jy is vanuit die kamer verwyder a.g.v 'n verandering van affiliasie"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
...@@ -343,7 +525,7 @@ msgstr "" ...@@ -343,7 +525,7 @@ msgstr ""
"Jy is vanuit die kamer verwyder omdat die kamer nou slegs tot lede beperk " "Jy is vanuit die kamer verwyder omdat die kamer nou slegs tot lede beperk "
"word en jy nie 'n lid is nie." "word en jy nie 'n lid is nie."
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -351,151 +533,149 @@ msgstr "" ...@@ -351,151 +533,149 @@ msgstr ""
"Jy is van hierdie kamer verwyder aangesien die MUC (Multi-user chat) diens " "Jy is van hierdie kamer verwyder aangesien die MUC (Multi-user chat) diens "
"nou afgeskakel word." "nou afgeskakel word."
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "Jy is nie op die ledelys van hierdie kamer nie" msgstr "Jy is nie op die ledelys van hierdie kamer nie"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "Geen bynaam verskaf nie" msgstr "Geen bynaam verskaf nie"
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "Jy word nie toegelaat om nog kamers te skep nie" msgstr "Jy word nie toegelaat om nog kamers te skep nie"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Jou bynaam voldoen nie aan die kamer se beleid nie" msgstr "Jou bynaam voldoen nie aan die kamer se beleid nie"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Jou bynaam is reeds geneem" msgstr "Jou bynaam is reeds geneem"
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "Hierdie kamer bestaan tans (nog) nie" msgstr "Hierdie kamer bestaan tans (nog) nie"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "Hierdie kamer het sy maksimum aantal deelnemers bereik" msgstr "Hierdie kamer het sy maksimum aantal deelnemers bereik"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "Onderwerp deur %1$s bygewerk na: %2$s" msgstr "Onderwerp deur %1$s bygewerk na: %2$s"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "Hierdie gebruiker is 'n moderator" msgstr "Hierdie gebruiker is 'n moderator"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "Hierdie gebruiker kan boodskappe na die kamer stuur" msgstr "Hierdie gebruiker kan boodskappe na die kamer stuur"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "Hierdie gebruiker kan NIE boodskappe na die kamer stuur nie" msgstr "Hierdie gebruiker kan NIE boodskappe na die kamer stuur nie"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Kliek om met hierdie kontak te klets" msgstr "Kliek om met hierdie kontak te klets"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Kliek om hierdie kontak te verwyder" msgstr "Kliek om hierdie kontak te verwyder"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "Hierdie persoon is besig" msgstr "Hierdie persoon is besig"
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "Hierdie persoon is aanlyn" msgstr "Hierdie persoon is aanlyn"
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "Hierdie persoon is aflyn" msgstr "Hierdie persoon is aflyn"
#: converse.js:1889 #: converse.js:2266
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "Hierdie persoon is onbeskikbaar" msgstr "Hierdie persoon is onbeskikbaar"
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "Hierdie persoon is vir lank afwesig" msgstr "Hierdie persoon is vir lank afwesig"
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "Hierdie persoon is afwesig" msgstr "Hierdie persoon is afwesig"
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Kontak versoeke" msgstr "Kontak versoeke"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "My kontakte" msgstr "My kontakte"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Hangende kontakte" msgstr "Hangende kontakte"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Doelgemaakte status" msgstr "Doelgemaakte status"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Kliek om jou klets-status te verander" msgstr "Kliek om jou klets-status te verander"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Kliek hier om jou eie statusboodskap te skryf" msgstr "Kliek hier om jou eie statusboodskap te skryf"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "aangemeld" msgstr "aangemeld"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "besig" msgstr "besig"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "vir lank afwesig" msgstr "vir lank afwesig"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "afwesig" msgstr "afwesig"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "Ek is %1$s" msgstr "Ek is %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "Teken in" msgstr "Teken in"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber Gebruikersnaam:" msgstr "XMPP/Jabber Gebruikersnaam:"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Wagwoord" msgstr "Wagwoord"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Meld aan" msgstr "Meld aan"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "BOSH bediener URL" msgstr "BOSH bediener URL"
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Kontakte aangemeld" msgstr "Kontakte aangemeld"
......
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 22:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -17,477 +17,626 @@ msgstr "" ...@@ -17,477 +17,626 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "" msgstr ""
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "" msgstr ""
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "" msgstr ""
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "" msgstr ""
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "" msgstr ""
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "" msgstr ""
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "" msgstr ""
#: converse.js:373 #: converse.js:332
msgid "me" msgid "Re-establishing encrypted session"
msgstr "" msgstr ""
#: converse.js:417 #: converse.js:340
msgid "%1$s is typing" msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr ""
#: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:537
msgid "Personal message"
msgstr ""
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me"
msgstr "" msgstr ""
#: converse.js:461 converse.js:1180 #: converse.js:757 converse.js:1552
msgid "Show this menu" msgid "Show this menu"
msgstr "" msgstr ""
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "" msgstr ""
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "" msgstr ""
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr ""
#: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr "" msgstr ""
#: converse.js:677 #: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "" msgstr ""
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "" msgstr ""
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "" msgstr ""
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "" msgstr ""
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "" msgstr ""
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "" msgstr ""
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "" msgstr ""
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "" msgstr ""
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "" msgstr ""
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "" msgstr ""
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "" msgstr ""
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "" msgstr ""
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "" msgstr ""
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "" msgstr ""
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "" msgstr ""
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "" msgstr ""
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "" msgstr ""
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "" msgstr ""
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "" msgstr ""
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "" msgstr ""
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "" msgstr ""
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "" msgstr ""
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "" msgstr ""
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "" msgstr ""
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "" msgstr ""
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "" msgstr ""
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "" msgstr ""
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "" msgstr ""
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "" msgstr ""
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "" msgstr ""
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "" msgstr ""
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "" msgstr ""
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "" msgstr ""
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "" msgstr ""
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "" msgstr ""
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "" msgstr ""
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "" msgstr ""
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "" msgstr ""
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "" msgstr ""
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "" msgstr ""
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "" msgstr ""
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "" msgstr ""
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "" msgstr ""
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "" msgstr ""
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "" msgstr ""
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "" msgstr ""
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "" msgstr ""
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "" msgstr ""
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "" msgstr ""
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "" msgstr ""
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "" msgstr ""
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "" msgstr ""
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "" msgstr ""
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "" msgstr ""
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "" msgstr ""
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "" msgstr ""
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "" msgstr ""
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "" msgstr ""
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "" msgstr ""
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "" msgstr ""
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "" msgstr ""
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" msgid "You have been removed from this room because of an affiliation change"
msgstr "" msgstr ""
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
msgstr "" msgstr ""
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
msgstr "" msgstr ""
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "" msgstr ""
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "" msgstr ""
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "" msgstr ""
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "" msgstr ""
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "" msgstr ""
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "" msgstr ""
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "" msgstr ""
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "" msgstr ""
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "" msgstr ""
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "" msgstr ""
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "" msgstr ""
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "" msgstr ""
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "" msgstr ""
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "" msgstr ""
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "" msgstr ""
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "" msgstr ""
#: converse.js:1889 #: converse.js:2266
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "" msgstr ""
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "" msgstr ""
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "" msgstr ""
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "" msgstr ""
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "" msgstr ""
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "" msgstr ""
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "" msgstr ""
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "" msgstr ""
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "" msgstr ""
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "" msgstr ""
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "" msgstr ""
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "" msgstr ""
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "" msgstr ""
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "" msgstr ""
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "" msgstr ""
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "" msgstr ""
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "" msgstr ""
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "" msgstr ""
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "" msgstr ""
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "" msgstr ""
...@@ -7,8 +7,8 @@ msgid "" ...@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 21:55+0200\n"
"PO-Revision-Date: 2013-09-15 11:44+0200\n" "PO-Revision-Date: 2013-09-15 22:03+0200\n"
"Last-Translator: JC Brand <jc@opkode.com>\n" "Last-Translator: JC Brand <jc@opkode.com>\n"
"Language-Team: German\n" "Language-Team: German\n"
"Language: de\n" "Language: de\n"
...@@ -20,331 +20,482 @@ msgstr "" ...@@ -20,331 +20,482 @@ msgstr ""
"lang: de\n" "lang: de\n"
"plural_forms: nplurals=2; plural=(n != 1);\n" "plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Verbindung unterbrochen." msgstr "Verbindung unterbrochen."
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Fehler" msgstr "Fehler"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Verbindungsaufbau …" msgstr "Verbindungsaufbau …"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "Entfernte Verbindung fehlgeschlagen" msgstr "Entfernte Verbindung fehlgeschlagen"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Authentifizierung" msgstr "Authentifizierung"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "Authentifizierung gescheitert" msgstr "Authentifizierung gescheitert"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Trenne Verbindung" msgstr "Trenne Verbindung"
#: converse.js:373 #: converse.js:332
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:340
msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr ""
#: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:537
msgid "Personal message"
msgstr "Persönliche Nachricht"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me" msgid "me"
msgstr "Ich" msgstr "Ich"
#: converse.js:417 #: converse.js:757 converse.js:1552
msgid "%1$s is typing"
msgstr "%1$s tippt"
#: converse.js:461 converse.js:1180
msgid "Show this menu" msgid "Show this menu"
msgstr "Dieses Menü anzeigen" msgstr "Dieses Menü anzeigen"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "In der dritten Person schreiben" msgstr "In der dritten Person schreiben"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Nachrichten entfernen" msgstr "Nachrichten entfernen"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Persönliche Nachricht" msgstr ""
#: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:677 #: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Kontakte" msgstr "Kontakte"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "Online" msgstr "Online"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Beschäfticht" msgstr "Beschäfticht"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Abwesend" msgstr "Abwesend"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Abgemeldet" msgstr "Abgemeldet"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Klicken Sie, um einen neuen Kontakt hinzuzufügen" msgstr "Klicken Sie, um einen neuen Kontakt hinzuzufügen"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Kontakte hinzufügen" msgstr "Kontakte hinzufügen"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Benutzername" msgstr "Benutzername"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Hinzufügen" msgstr "Hinzufügen"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Name des Kontakts" msgstr "Name des Kontakts"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Suche" msgstr "Suche"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "Keine Benutzer gefunden" msgstr "Keine Benutzer gefunden"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Hier klicken um als Kontakt hinzuzufügen" msgstr "Hier klicken um als Kontakt hinzuzufügen"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "Hier klicken um diesen Raum zu öffnen" msgstr "Hier klicken um diesen Raum zu öffnen"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Mehr Information über diesen Raum zeigen" msgstr "Mehr Information über diesen Raum zeigen"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Beschreibung" msgstr "Beschreibung"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Funktionen:" msgstr "Funktionen:"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Authentifizierung erforderlich" msgstr "Authentifizierung erforderlich"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Versteckt" msgstr "Versteckt"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Einladung erforderlich" msgstr "Einladung erforderlich"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Moderiert" msgstr "Moderiert"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "Nicht anonym" msgstr "Nicht anonym"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Offener Raum" msgstr "Offener Raum"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Dauerhafter Raum" msgstr "Dauerhafter Raum"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Öffentlich" msgstr "Öffentlich"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Teils anonym" msgstr "Teils anonym"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Vorübergehender Raum" msgstr "Vorübergehender Raum"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Unmoderiert" msgstr "Unmoderiert"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Räume" msgstr "Räume"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Raumname" msgstr "Raumname"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Spitzname" msgstr "Spitzname"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Beitreten" msgstr "Beitreten"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Räume anzeigen" msgstr "Räume anzeigen"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "Keine Räume auf %1$s" msgstr "Keine Räume auf %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Räume auf %1$s" msgstr "Räume auf %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Chatraum Thema festlegen" msgstr "Chatraum Thema festlegen"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Werfe einen Benutzer aus dem Raum." msgstr "Werfe einen Benutzer aus dem Raum."
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Verbanne einen Benutzer aus dem Raum." msgstr "Verbanne einen Benutzer aus dem Raum."
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Nachricht" msgstr "Nachricht"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "Beim Speichern der Formular is ein Fehler aufgetreten." msgstr "Beim Speichern der Formular is ein Fehler aufgetreten."
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "Passwort wird für die Anmeldung benötigt." msgstr "Passwort wird für die Anmeldung benötigt."
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Passwort: " msgstr "Passwort: "
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Einreichen" msgstr "Einreichen"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Dieser Raum ist nicht anonym" msgstr "Dieser Raum ist nicht anonym"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "Dieser Raum zeigt jetzt unferfügbare Mitglieder" msgstr "Dieser Raum zeigt jetzt unferfügbare Mitglieder"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "Dieser Raum zeigt nicht unverfügbare Mitglieder" msgstr "Dieser Raum zeigt nicht unverfügbare Mitglieder"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "" msgstr ""
"Die Konfiguration, die nicht auf die Privatsphäre bezogen ist, hat sich " "Die Konfiguration, die nicht auf die Privatsphäre bezogen ist, hat sich "
"geändert" "geändert"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "Zukünftige Nachrichten dieses Raums werden protokolliert." msgstr "Zukünftige Nachrichten dieses Raums werden protokolliert."
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "Zukünftige Nachrichten dieses Raums werden nicht protokolliert." msgstr "Zukünftige Nachrichten dieses Raums werden nicht protokolliert."
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "Dieser Raum ist jetzt nicht anonym" msgstr "Dieser Raum ist jetzt nicht anonym"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "Dieser Raum ist jetzt teils anonym" msgstr "Dieser Raum ist jetzt teils anonym"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "Dieser Raum ist jetzt anonym" msgstr "Dieser Raum ist jetzt anonym"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "Einen neuen Raum ist erstellen" msgstr "Einen neuen Raum ist erstellen"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Spitzname festgelegen" msgstr "Spitzname festgelegen"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> ist verbannt" msgstr "<strong>%1$s</strong> ist verbannt"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> ist hinausgeworfen" msgstr "<strong>%1$s</strong> ist hinausgeworfen"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "" msgstr ""
"<strong>%1$s</strong> wurde wegen einer Zugehörigkeitsänderung entfernt" "<strong>%1$s</strong> wurde wegen einer Zugehörigkeitsänderung entfernt"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" 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" msgstr "<strong>%1$s</strong> ist kein Mitglied und wurde daher entfernt"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Sie sind aus diesem Raum verbannt worden" msgstr "Sie sind aus diesem Raum verbannt worden"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "Sie wurden aus diesem Raum hinausgeworfen" msgstr "Sie wurden aus diesem Raum hinausgeworfen"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" msgid "You have been removed from this room because of an affiliation change"
msgstr "Sie wurden wegen einer Zugehörigkeitsänderung entfernt" msgstr "Sie wurden wegen einer Zugehörigkeitsänderung entfernt"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
msgstr "Sie wurden aus diesem Raum entfernt da Sie kein Mitglied sind." msgstr "Sie wurden aus diesem Raum entfernt da Sie kein Mitglied sind."
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -352,154 +503,155 @@ msgstr "" ...@@ -352,154 +503,155 @@ msgstr ""
"Sie werden aus diesem Raum entfernt da der MUC (Muli-user chat) Dienst " "Sie werden aus diesem Raum entfernt da der MUC (Muli-user chat) Dienst "
"gerade abgeschalten wird." "gerade abgeschalten wird."
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "Sie sind nicht auf der Mitgliederliste dieses Raums" msgstr "Sie sind nicht auf der Mitgliederliste dieses Raums"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "Kein Spitzname festgelegt" msgstr "Kein Spitzname festgelegt"
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "Es ist Ihnen nicht erlaubt, neue Räume anzulegen" msgstr "Es ist Ihnen nicht erlaubt, neue Räume anzulegen"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Ungültiger Spitzname" msgstr "Ungültiger Spitzname"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Ihre Spitzname existiert bereits." msgstr "Ihre Spitzname existiert bereits."
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "Dieser Raum existiert (noch) nicht" msgstr "Dieser Raum existiert (noch) nicht"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "Dieser Raum hat die maximale Mitgliederanzahl erreicht" msgstr "Dieser Raum hat die maximale Mitgliederanzahl erreicht"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "%1$s hat das Thema zu \"%2$s\" abgeändert" msgstr "%1$s hat das Thema zu \"%2$s\" abgeändert"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "Dieser Benutzer ist ein Moderator" msgstr "Dieser Benutzer ist ein Moderator"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "Dieser Benutzer kann Nachrichten in diesem Raum verschicken" msgstr "Dieser Benutzer kann Nachrichten in diesem Raum verschicken"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "Dieser Benutzer kann keine Nachrichten in diesem Raum verschicken" msgstr "Dieser Benutzer kann keine Nachrichten in diesem Raum verschicken"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Hier klicken um mit diesem Kontakt zu chatten" msgstr "Hier klicken um mit diesem Kontakt zu chatten"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Hier klicken um diesen Kontakt zu entfernen" msgstr "Hier klicken um diesen Kontakt zu entfernen"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "Dieser Kontakt ist beschäfticht" msgstr "Dieser Kontakt ist beschäfticht"
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "Dieser Kontakt ist online" msgstr "Dieser Kontakt ist online"
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "Dieser Kontakt ist offline" msgstr "Dieser Kontakt ist offline"
#: converse.js:1889 #: converse.js:2266
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "Dieser Kontakt ist nicht verfügbar" msgstr "Dieser Kontakt ist nicht verfügbar"
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "Dieser Kontakt is für längere Zeit abwesend" msgstr "Dieser Kontakt is für längere Zeit abwesend"
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "Dieser Kontakt ist abwesend" msgstr "Dieser Kontakt ist abwesend"
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Kontaktanfragen" msgstr "Kontaktanfragen"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "Meine Kontakte" msgstr "Meine Kontakte"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Unbestätigte Kontakte" msgstr "Unbestätigte Kontakte"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Status-Nachricht" msgstr "Status-Nachricht"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Klicken Sie, um ihrer Status to ändern" msgstr "Klicken Sie, um ihrer Status to ändern"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Klicken Sie hier, um ihrer Status-Nachricht to ändern" msgstr "Klicken Sie hier, um ihrer Status-Nachricht to ändern"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "online" msgstr "online"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "beschäfticht" msgstr "beschäfticht"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "länger abwesend" msgstr "länger abwesend"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "abwesend" msgstr "abwesend"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "Ich bin %1$s" msgstr "Ich bin %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "Anmelden" msgstr "Anmelden"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber Benutzername" msgstr "XMPP/Jabber Benutzername"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Passwort:" msgstr "Passwort:"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Anmelden" msgstr "Anmelden"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "BOSH " msgstr "BOSH "
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Online-Kontakte" msgstr "Online-Kontakte"
#~ msgid "%1$s is typing"
#~ msgstr "%1$s tippt"
#~ msgid "Connected" #~ msgid "Connected"
#~ msgstr "Verbunden" #~ msgstr "Verbunden"
......
...@@ -7,8 +7,8 @@ msgid "" ...@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 22:06+0200\n"
"PO-Revision-Date: 2013-08-01 14:11+0200\n" "PO-Revision-Date: 2013-09-15 22:05+0200\n"
"Last-Translator: JC Brand <jc@opkode.com>\n" "Last-Translator: JC Brand <jc@opkode.com>\n"
"Language-Team: English\n" "Language-Team: English\n"
"Language: en\n" "Language: en\n"
...@@ -17,323 +17,474 @@ msgstr "" ...@@ -17,323 +17,474 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Disconnected" msgstr "Disconnected"
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Error" msgstr "Error"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Connecting" msgstr "Connecting"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "Connection Failed" msgstr "Connection Failed"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Authenticating" msgstr "Authenticating"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "Authentication Failed" msgstr "Authentication Failed"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Disconnecting" msgstr "Disconnecting"
#: converse.js:373 #: converse.js:332
msgid "me" msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:340
msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr ""
#: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr "" msgstr ""
#: converse.js:417 #: converse.js:537
msgid "%1$s is typing" msgid "Personal message"
msgstr "Personal message"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr "" msgstr ""
#: converse.js:461 converse.js:1180 #: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me"
msgstr ""
#: converse.js:757 converse.js:1552
msgid "Show this menu" msgid "Show this menu"
msgstr "Show this menu" msgstr "Show this menu"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "Write in the third person" msgstr "Write in the third person"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Remove messages" msgstr "Remove messages"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Personal message" msgstr ""
#: converse.js:677 #: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Contacts" msgstr "Contacts"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "Online" msgstr "Online"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Busy" msgstr "Busy"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Away" msgstr "Away"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Offline" msgstr "Offline"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Click to add new chat contacts" msgstr "Click to add new chat contacts"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Add a contact" msgstr "Add a contact"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Contact username" msgstr "Contact username"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Add" msgstr "Add"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Contact name" msgstr "Contact name"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Search" msgstr "Search"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "No users found" msgstr "No users found"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Click to add as a chat contact" msgstr "Click to add as a chat contact"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "Click to open this room" msgstr "Click to open this room"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Show more information on this room" msgstr "Show more information on this room"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Description:" msgstr "Description:"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Occupants:" msgstr "Occupants:"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Features:" msgstr "Features:"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Requires authentication" msgstr "Requires authentication"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Hidden" msgstr "Hidden"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Requires an invitation" msgstr "Requires an invitation"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Moderated" msgstr "Moderated"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "Non-anonymous" msgstr "Non-anonymous"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Open room" msgstr "Open room"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Permanent room" msgstr "Permanent room"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Public" msgstr "Public"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Semi-anonymous" msgstr "Semi-anonymous"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Temporary room" msgstr "Temporary room"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Unmoderated" msgstr "Unmoderated"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Rooms" msgstr "Rooms"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Room name" msgstr "Room name"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Nickname" msgstr "Nickname"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Join" msgstr "Join"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Show rooms" msgstr "Show rooms"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "No rooms on %1$s" msgstr "No rooms on %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Rooms on %1$s" msgstr "Rooms on %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Set chatroom topic" msgstr "Set chatroom topic"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Kick user from chatroom" msgstr "Kick user from chatroom"
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Ban user from chatroom" msgstr "Ban user from chatroom"
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Message" msgstr "Message"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Save" msgstr "Save"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Cancel" msgstr "Cancel"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "An error occurred while trying to save the form." msgstr "An error occurred while trying to save the form."
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "This chatroom requires a password" msgstr "This chatroom requires a password"
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Password: " msgstr "Password: "
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Submit" msgstr "Submit"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "This room is not anonymous" msgstr "This room is not anonymous"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "This room now shows unavailable members" msgstr "This room now shows unavailable members"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "This room does not show unavailable members" msgstr "This room does not show unavailable members"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "Non-privacy-related room configuration has changed" msgstr "Non-privacy-related room configuration has changed"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "Room logging is now enabled" msgstr "Room logging is now enabled"
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "Room logging is now disabled" msgstr "Room logging is now disabled"
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "This room is now non-anonymous" msgstr "This room is now non-anonymous"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "This room is now semi-anonymous" msgstr "This room is now semi-anonymous"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "This room is now fully-anonymous" msgstr "This room is now fully-anonymous"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "A new room has been created" msgstr "A new room has been created"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Your nickname has been changed" msgstr "Your nickname has been changed"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> has been banned" msgstr "<strong>%1$s</strong> has been banned"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> has been kicked out" msgstr "<strong>%1$s</strong> has been kicked out"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "" msgstr ""
"<strong>%1$s</strong> has been removed because of an affiliation change" "<strong>%1$s</strong> has been removed because of an affiliation change"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" 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" msgstr "<strong>%1$s</strong> has been removed for not being a member"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "You have been banned from this room" msgstr "You have been banned from this room"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "You have been kicked from this room" msgstr "You have been kicked from this room"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" 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" msgstr "You have been removed from this room because of an affiliation change"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
...@@ -341,7 +492,7 @@ msgstr "" ...@@ -341,7 +492,7 @@ msgstr ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -349,152 +500,149 @@ msgstr "" ...@@ -349,152 +500,149 @@ msgstr ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "You are not on the member list of this room" msgstr "You are not on the member list of this room"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "No nickname was specified" msgstr "No nickname was specified"
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "You are not allowed to create new rooms" msgstr "You are not allowed to create new rooms"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Your nickname doesn't conform to this room's policies" msgstr "Your nickname doesn't conform to this room's policies"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Your nickname is already taken" msgstr "Your nickname is already taken"
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "This room does not (yet) exist" msgstr "This room does not (yet) exist"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "This room has reached it's maximum number of occupants" msgstr "This room has reached it's maximum number of occupants"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "Topic set by %1$s to: %2$s" msgstr "Topic set by %1$s to: %2$s"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "This user is a moderator" msgstr "This user is a moderator"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "This user can send messages in this room" msgstr "This user can send messages in this room"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "This user can NOT send messages in this room" msgstr "This user can NOT send messages in this room"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Click to chat with this contact" msgstr "Click to chat with this contact"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Click to remove this contact" msgstr "Click to remove this contact"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "" msgstr ""
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "" msgstr ""
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "" msgstr ""
#: converse.js:1889 #: converse.js:2266
#, fuzzy
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "This room now shows unavailable members" msgstr ""
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "" msgstr ""
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "" msgstr ""
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Contact requests" msgstr "Contact requests"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "My contacts" msgstr "My contacts"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Pending contacts" msgstr "Pending contacts"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Custom status" msgstr "Custom status"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Click to change your chat status" msgstr "Click to change your chat status"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Click here to write a custom status message" msgstr "Click here to write a custom status message"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "online" msgstr "online"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "busy" msgstr "busy"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "away for long" msgstr "away for long"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "away" msgstr "away"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "I am %1$s" msgstr "I am %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "Sign in" msgstr "Sign in"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "XMPP/Jabber Username:" msgstr "XMPP/Jabber Username:"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Password:" msgstr "Password:"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Log In" msgstr "Log In"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "BOSH Service URL:" msgstr "BOSH Service URL:"
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Online Contacts" msgstr "Online Contacts"
......
...@@ -6,8 +6,8 @@ msgid "" ...@@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 21:55+0200\n"
"PO-Revision-Date: 2013-07-22 18:13-0400\n" "PO-Revision-Date: 2013-09-15 21:59+0200\n"
"Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>\n" "Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>\n"
"Language-Team: ES <LL@li.org>\n" "Language-Team: ES <LL@li.org>\n"
"Language: es\n" "Language: es\n"
...@@ -25,325 +25,476 @@ msgstr "" ...@@ -25,325 +25,476 @@ msgstr ""
"X-Is-Fallback-For: es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-" "X-Is-Fallback-For: es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-"
"gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve\n" "gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Desconectado" msgstr "Desconectado"
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Error" msgstr "Error"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Conectando" msgstr "Conectando"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "Conexión fallo" msgstr "Conexión fallo"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Autenticando" msgstr "Autenticando"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "Autenticación fallo" msgstr "Autenticación fallo"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Desconectando" msgstr "Desconectando"
#: converse.js:373 #: converse.js:332
msgid "me" msgid "Re-establishing encrypted session"
msgstr "" msgstr ""
#: converse.js:417 #: converse.js:340
msgid "%1$s is typing" msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr "" msgstr ""
#: converse.js:461 converse.js:1180 #: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:537
msgid "Personal message"
msgstr "Mensaje personal"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me"
msgstr ""
#: converse.js:757 converse.js:1552
msgid "Show this menu" msgid "Show this menu"
msgstr "Mostrar este menú" msgstr "Mostrar este menú"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "Escribir en tercera persona" msgstr "Escribir en tercera persona"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Eliminar mensajes" msgstr "Eliminar mensajes"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Mensaje personal" msgstr ""
#: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:677 #: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Contactos" msgstr "Contactos"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "En linea" msgstr "En linea"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Ocupado" msgstr "Ocupado"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Ausente" msgstr "Ausente"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Desconectado" msgstr "Desconectado"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Haga clic para agregar nuevos contactos al chat" msgstr "Haga clic para agregar nuevos contactos al chat"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Agregar un contacto" msgstr "Agregar un contacto"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Nombre de usuario de contacto" msgstr "Nombre de usuario de contacto"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Agregar" msgstr "Agregar"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Nombre de contacto" msgstr "Nombre de contacto"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Búsqueda" msgstr "Búsqueda"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "Sin usuarios encontrados" msgstr "Sin usuarios encontrados"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Haga clic para agregar como un contacto de chat" msgstr "Haga clic para agregar como un contacto de chat"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "Haga clic para abrir esta sala" msgstr "Haga clic para abrir esta sala"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Mostrar mas información en esta sala" msgstr "Mostrar mas información en esta sala"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Descripción" msgstr "Descripción"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Ocupantes:" msgstr "Ocupantes:"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Características:" msgstr "Características:"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Autenticación requerida" msgstr "Autenticación requerida"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Oculto" msgstr "Oculto"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Requiere una invitación" msgstr "Requiere una invitación"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Moderado" msgstr "Moderado"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "No usuario anónimo" msgstr "No usuario anónimo"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Abrir sala" msgstr "Abrir sala"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Sala permanente" msgstr "Sala permanente"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Publico" msgstr "Publico"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Semi anónimo" msgstr "Semi anónimo"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Sala temporal" msgstr "Sala temporal"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Sin moderar" msgstr "Sin moderar"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Salas" msgstr "Salas"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Nombre de sala" msgstr "Nombre de sala"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Apodo" msgstr "Apodo"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Unirse" msgstr "Unirse"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Mostrar salas" msgstr "Mostrar salas"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "Sin salas en %1$s" msgstr "Sin salas en %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Salas en %1$s" msgstr "Salas en %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Defina tema de sala de chat" msgstr "Defina tema de sala de chat"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Expulsar usuario de sala de chat." msgstr "Expulsar usuario de sala de chat."
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Prohibir usuario de sala de chat." msgstr "Prohibir usuario de sala de chat."
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Mensaje" msgstr "Mensaje"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "Un error ocurrido mientras trataba de guardar el formulario." msgstr "Un error ocurrido mientras trataba de guardar el formulario."
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "Esta sala de chat requiere una contraseña." msgstr "Esta sala de chat requiere una contraseña."
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Contraseña: " msgstr "Contraseña: "
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Enviar" msgstr "Enviar"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Esta sala no es para usuarios anónimos" msgstr "Esta sala no es para usuarios anónimos"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "Esta sala ahora muestra los miembros no disponibles" msgstr "Esta sala ahora muestra los miembros no disponibles"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "Esta sala no muestra los miembros no disponibles" msgstr "Esta sala no muestra los miembros no disponibles"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "" msgstr ""
"Configuración de la sala para no relacionada con la privacidad ha sido " "Configuración de la sala para no relacionada con la privacidad ha sido "
"cambiada" "cambiada"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "El registro de la sala ahora está habilitada" msgstr "El registro de la sala ahora está habilitada"
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "El registro de la sala ahora está deshabilitada" msgstr "El registro de la sala ahora está deshabilitada"
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "Esta sala ahora es para los usuarios no anónimos" msgstr "Esta sala ahora es para los usuarios no anónimos"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "Esta sala ahora es para los usuarios semi-anónimos" msgstr "Esta sala ahora es para los usuarios semi-anónimos"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "Esta sala ahora es para los usuarios completamente-anónimos" msgstr "Esta sala ahora es para los usuarios completamente-anónimos"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "Una nueva sala ha sido creada" msgstr "Una nueva sala ha sido creada"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Su apodo ha sido cambiado" msgstr "Su apodo ha sido cambiado"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> ha sido prohibido" msgstr "<strong>%1$s</strong> ha sido prohibido"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> ha sido expulsado" msgstr "<strong>%1$s</strong> ha sido expulsado"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "" msgstr ""
"<strong>%1$s</strong> ha sido eliminado debido a un cambio de afiliación" "<strong>%1$s</strong> ha sido eliminado debido a un cambio de afiliación"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> ha sido eliminado debido a que no es miembro" msgstr "<strong>%1$s</strong> ha sido eliminado debido a que no es miembro"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Usted ha sido prohibido de esta sala" msgstr "Usted ha sido prohibido de esta sala"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "Usted ha sido expulsado de esta sala" msgstr "Usted ha sido expulsado de esta sala"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" msgid "You have been removed from this room because of an affiliation change"
msgstr "Usted ha sido eliminado de esta sala debido a un cambio de afiliación" msgstr "Usted ha sido eliminado de esta sala debido a un cambio de afiliación"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
...@@ -351,7 +502,7 @@ msgstr "" ...@@ -351,7 +502,7 @@ msgstr ""
"Usted ha sido eliminado de esta sala debido a que la sala cambio su " "Usted ha sido eliminado de esta sala debido a que la sala cambio su "
"configuración a solo-miembros y usted no es un miembro" "configuración a solo-miembros y usted no es un miembro"
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -359,152 +510,150 @@ msgstr "" ...@@ -359,152 +510,150 @@ msgstr ""
"Usted ha sido eliminado de esta sala debido al servicio MUC (Multi-user " "Usted ha sido eliminado de esta sala debido al servicio MUC (Multi-user "
"chat) está apagado." "chat) está apagado."
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "Usted no está en la lista de miembros de esta sala" msgstr "Usted no está en la lista de miembros de esta sala"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "Sin apodo especificado" msgstr "Sin apodo especificado"
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "A usted no se le permite crear nuevas salas" msgstr "A usted no se le permite crear nuevas salas"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Su apodo no se ajusta a la política de esta sala" msgstr "Su apodo no se ajusta a la política de esta sala"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Su apodo ya ha sido tomando por otro usuario" msgstr "Su apodo ya ha sido tomando por otro usuario"
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "Esta sala (aún) no existe" msgstr "Esta sala (aún) no existe"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "Esta sala ha alcanzado su número máximo de ocupantes" msgstr "Esta sala ha alcanzado su número máximo de ocupantes"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "Tema fijado por %1$s a: %2$s" msgstr "Tema fijado por %1$s a: %2$s"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "Este usuario es un moderador" msgstr "Este usuario es un moderador"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "Este usuario puede enviar mensajes en esta sala" msgstr "Este usuario puede enviar mensajes en esta sala"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "Este usuario NO puede enviar mensajes en esta" msgstr "Este usuario NO puede enviar mensajes en esta"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Haga clic para conversar con este contacto" msgstr "Haga clic para conversar con este contacto"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Haga clic para eliminar este contacto" msgstr "Haga clic para eliminar este contacto"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "" msgstr ""
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "" msgstr ""
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "" msgstr ""
#: converse.js:1889 #: converse.js:2266
#, fuzzy #, fuzzy
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "Esta sala ahora muestra los miembros no disponibles" msgstr "Esta sala ahora muestra los miembros no disponibles"
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "" msgstr ""
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "" msgstr ""
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Solicitudes de contacto" msgstr "Solicitudes de contacto"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "Mi contactos" msgstr "Mi contactos"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Contactos pendientes" msgstr "Contactos pendientes"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Personalice estatus" msgstr "Personalice estatus"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Haga clic para cambiar su estatus de chat" msgstr "Haga clic para cambiar su estatus de chat"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Haga clic para escribir un mensaje de estatus personalizado" msgstr "Haga clic para escribir un mensaje de estatus personalizado"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "en linea" msgstr "en linea"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "ocupado" msgstr "ocupado"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "lejos por mucho tiempo" msgstr "lejos por mucho tiempo"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "ausente" msgstr "ausente"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "Yo soy %1$s" msgstr "Yo soy %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "Registro" msgstr "Registro"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "Nombre de usuario XMPP/Jabber" msgstr "Nombre de usuario XMPP/Jabber"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Contraseña:" msgstr "Contraseña:"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Iniciar sesión" msgstr "Iniciar sesión"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "URL del servicio BOSH:" msgstr "URL del servicio BOSH:"
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Contactos en linea" msgstr "Contactos en linea"
......
...@@ -5,8 +5,8 @@ msgid "" ...@@ -5,8 +5,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 21:55+0200\n"
"PO-Revision-Date: 2013-09-12 11:20+0200\n" "PO-Revision-Date: 2013-09-15 21:58+0200\n"
"Language-Team: FR <LL@li.org>\n" "Language-Team: FR <LL@li.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
...@@ -20,323 +20,474 @@ msgstr "" ...@@ -20,323 +20,474 @@ msgstr ""
"Domain: converse\n" "Domain: converse\n"
"domain: converse\n" "domain: converse\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Déconnecté" msgstr "Déconnecté"
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Erreur" msgstr "Erreur"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Connection" msgstr "Connection"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "La connection a échoué" msgstr "La connection a échoué"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Authentification" msgstr "Authentification"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "L'authentification a échoué" msgstr "L'authentification a échoué"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Déconnection" msgstr "Déconnection"
#: converse.js:373 #: converse.js:332
msgid "me" msgid "Re-establishing encrypted session"
msgstr "" msgstr ""
#: converse.js:417 #: converse.js:340
msgid "%1$s is typing" msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr "" msgstr ""
#: converse.js:461 converse.js:1180 #: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:537
msgid "Personal message"
msgstr "Message personnel"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me"
msgstr ""
#: converse.js:757 converse.js:1552
msgid "Show this menu" msgid "Show this menu"
msgstr "Afficher ce menu" msgstr "Afficher ce menu"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "Écrire à la troisième personne" msgstr "Écrire à la troisième personne"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Effacer les messages" msgstr "Effacer les messages"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Message personnel" msgstr ""
#: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:677 #: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Contacts" msgstr "Contacts"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "En ligne" msgstr "En ligne"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Occupé" msgstr "Occupé"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Absent" msgstr "Absent"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Déconnecté" msgstr "Déconnecté"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Cliquez pour ajouter de nouveaux contacts" msgstr "Cliquez pour ajouter de nouveaux contacts"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Ajouter un contact" msgstr "Ajouter un contact"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Nom du contact" msgstr "Nom du contact"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Nom du contact" msgstr "Nom du contact"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Rechercher" msgstr "Rechercher"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "Aucun utilisateur trouvé" msgstr "Aucun utilisateur trouvé"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Cliquer pour ajouter aux contacts de chat" msgstr "Cliquer pour ajouter aux contacts de chat"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "Cliquer pour ouvrir ce salon" msgstr "Cliquer pour ouvrir ce salon"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Afficher davantage d'informations sur ce salon" msgstr "Afficher davantage d'informations sur ce salon"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Description :" msgstr "Description :"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Participants :" msgstr "Participants :"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Caractéristiques :" msgstr "Caractéristiques :"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Nécessite une authentification" msgstr "Nécessite une authentification"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Masqué" msgstr "Masqué"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Nécessite une invitation" msgstr "Nécessite une invitation"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Modéré" msgstr "Modéré"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "Non-anonyme" msgstr "Non-anonyme"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Ouvrir un salon" msgstr "Ouvrir un salon"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Salon permanent" msgstr "Salon permanent"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Public" msgstr "Public"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Semi-anonyme" msgstr "Semi-anonyme"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Salon temporaire" msgstr "Salon temporaire"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Non modéré" msgstr "Non modéré"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Salons" msgstr "Salons"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Numéro de salon" msgstr "Numéro de salon"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Alias" msgstr "Alias"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Serveur" msgstr "Serveur"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Rejoindre" msgstr "Rejoindre"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Afficher les salons" msgstr "Afficher les salons"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "Aucun salon dans %1$s" msgstr "Aucun salon dans %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Salons dans %1$s" msgstr "Salons dans %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Indiquer le sujet du salon" msgstr "Indiquer le sujet du salon"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Expulser l'utilisateur du salon." msgstr "Expulser l'utilisateur du salon."
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Bannir l'utilisateur du salon." msgstr "Bannir l'utilisateur du salon."
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Message" msgstr "Message"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Enregistrer" msgstr "Enregistrer"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "Une erreur est survenue lors de l'enregistrement du formulaire." msgstr "Une erreur est survenue lors de l'enregistrement du formulaire."
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "Ce salon nécessite un mot de passe." msgstr "Ce salon nécessite un mot de passe."
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Mot de passe : " msgstr "Mot de passe : "
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Soumettre" msgstr "Soumettre"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Ce salon n'est pas anonyme" msgstr "Ce salon n'est pas anonyme"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "Ce salon affiche maintenant des membres indisponibles" msgstr "Ce salon affiche maintenant des membres indisponibles"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "Ce salon n'affiche pas les membres indisponibles" msgstr "Ce salon n'affiche pas les membres indisponibles"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "Les paramètres du salon non liés à la confidentialité ont été modifiés" msgstr "Les paramètres du salon non liés à la confidentialité ont été modifiés"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "Le logging du salon est activé" msgstr "Le logging du salon est activé"
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "Le logging du salon est désactivé" msgstr "Le logging du salon est désactivé"
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "Ce salon est maintenant non-anonyme" msgstr "Ce salon est maintenant non-anonyme"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "Ce salon est maintenant semi-anonyme" msgstr "Ce salon est maintenant semi-anonyme"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "Ce salon est maintenant entièrement anonyme" msgstr "Ce salon est maintenant entièrement anonyme"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "Un nouveau salon a été créé" msgstr "Un nouveau salon a été créé"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Votre alias a été modifié" msgstr "Votre alias a été modifié"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> a été banni" msgstr "<strong>%1$s</strong> a été banni"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> a été expulsé" msgstr "<strong>%1$s</strong> a été expulsé"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "" msgstr ""
"<strong>%1$s</strong> a été supprimé à cause d'un changement d'affiliation" "<strong>%1$s</strong> a été supprimé à cause d'un changement d'affiliation"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" 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" msgstr "<strong>%1$s</strong> a été supprimé car il n'est pas membre"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Vous avez été banni de ce salon" msgstr "Vous avez été banni de ce salon"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "Vous avez été expulsé de ce salon" msgstr "Vous avez été expulsé de ce salon"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" 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" msgstr "Vous avez été retiré de ce salon du fait d'un changement d'affiliation"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
...@@ -344,7 +495,7 @@ msgstr "" ...@@ -344,7 +495,7 @@ msgstr ""
"Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux " "Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux "
"membres et vous n'êtes pas membre" "membres et vous n'êtes pas membre"
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -352,152 +503,150 @@ msgstr "" ...@@ -352,152 +503,150 @@ msgstr ""
"Vous avez été retiré de ce salon parce que le service de chat multi-" "Vous avez été retiré de ce salon parce que le service de chat multi-"
"utilisateur a été désactivé." "utilisateur a été désactivé."
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "Vous n'êtes pas dans la liste des membres de ce salon" msgstr "Vous n'êtes pas dans la liste des membres de ce salon"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "Aucun alias n'a été indiqué" msgstr "Aucun alias n'a été indiqué"
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "Vous n'êtes pas autorisé à créer des salons" msgstr "Vous n'êtes pas autorisé à créer des salons"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Votre alias n'est pas conforme à la politique de ce salon" msgstr "Votre alias n'est pas conforme à la politique de ce salon"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Votre alias est déjà utilisé" msgstr "Votre alias est déjà utilisé"
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "Ce salon n'existe pas encore" msgstr "Ce salon n'existe pas encore"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "Ce salon a atteint la limite maximale d'occupants" msgstr "Ce salon a atteint la limite maximale d'occupants"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "Le sujet '%1$s' a été défini par %2$s" msgstr "Le sujet '%1$s' a été défini par %2$s"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "Cet utilisateur est modérateur" msgstr "Cet utilisateur est modérateur"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "Cet utilisateur peut envoyer des messages dans ce salon" msgstr "Cet utilisateur peut envoyer des messages dans ce salon"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "Cet utilisateur ne peut PAS envoyer de messages dans ce salon" msgstr "Cet utilisateur ne peut PAS envoyer de messages dans ce salon"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Cliquez pour discuter avec ce contact" msgstr "Cliquez pour discuter avec ce contact"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Cliquez pour supprimer ce contact" msgstr "Cliquez pour supprimer ce contact"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "" msgstr ""
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "" msgstr ""
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "" msgstr ""
#: converse.js:1889 #: converse.js:2266
#, fuzzy #, fuzzy
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "Ce salon affiche maintenant des membres indisponibles" msgstr "Ce salon affiche maintenant des membres indisponibles"
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "" msgstr ""
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "" msgstr ""
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Demandes de contacts" msgstr "Demandes de contacts"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "Mes contacts" msgstr "Mes contacts"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Contacts en attente" msgstr "Contacts en attente"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Statut personnel" msgstr "Statut personnel"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Cliquez pour changer votre statut" msgstr "Cliquez pour changer votre statut"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Cliquez ici pour indiquer votre statut personnel" msgstr "Cliquez ici pour indiquer votre statut personnel"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "en ligne" msgstr "en ligne"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "occupé" msgstr "occupé"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "absent pour une longue durée" msgstr "absent pour une longue durée"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "absent" msgstr "absent"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "Je suis %1$s" msgstr "Je suis %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "S'inscrire" msgstr "S'inscrire"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "Nom d'utilisateur XMPP/Jabber" msgstr "Nom d'utilisateur XMPP/Jabber"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Mot de passe :" msgstr "Mot de passe :"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Se connecter" msgstr "Se connecter"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "URL du service BOSH:" msgstr "URL du service BOSH:"
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Contacts en ligne" msgstr "Contacts en ligne"
......
...@@ -7,8 +7,8 @@ msgid "" ...@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.4\n" "Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 21:55+0200\n"
"PO-Revision-Date: 2013-09-12 11:09+0200\n" "PO-Revision-Date: 2013-09-15 22:00+0200\n"
"Last-Translator: Fabio Bas <ctrlaltca@gmail.com>\n" "Last-Translator: Fabio Bas <ctrlaltca@gmail.com>\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
"Language: it\n" "Language: it\n"
...@@ -20,332 +20,483 @@ msgstr "" ...@@ -20,332 +20,483 @@ msgstr ""
"lang: it\n" "lang: it\n"
"plural_forms: nplurals=2; plural=(n != 1);\n" "plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Disconnesso" msgstr "Disconnesso"
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Errore" msgstr "Errore"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Connessione in corso" msgstr "Connessione in corso"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "Connessione fallita" msgstr "Connessione fallita"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Autenticazione in corso" msgstr "Autenticazione in corso"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "Autenticazione fallita" msgstr "Autenticazione fallita"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Disconnessione in corso" msgstr "Disconnessione in corso"
#: converse.js:373 #: converse.js:332
msgid "me" msgid "Re-establishing encrypted session"
msgstr "" msgstr ""
#: converse.js:417 #: converse.js:340
msgid "%1$s is typing" msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr "" msgstr ""
#: converse.js:461 converse.js:1180 #: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:537
msgid "Personal message"
msgstr "Messaggio personale"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me"
msgstr ""
#: converse.js:757 converse.js:1552
msgid "Show this menu" msgid "Show this menu"
msgstr "Mostra questo menu" msgstr "Mostra questo menu"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "Scrivi in terza persona" msgstr "Scrivi in terza persona"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Rimuovi messaggi" msgstr "Rimuovi messaggi"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Messaggio personale" msgstr ""
#: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:677 #: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Contatti" msgstr "Contatti"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "In linea" msgstr "In linea"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Occupato" msgstr "Occupato"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Assente" msgstr "Assente"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Non in linea" msgstr "Non in linea"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Clicca per aggiungere nuovi contatti alla chat" msgstr "Clicca per aggiungere nuovi contatti alla chat"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Aggiungi contatti" msgstr "Aggiungi contatti"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Nome utente del contatto" msgstr "Nome utente del contatto"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Aggiungi" msgstr "Aggiungi"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Nome del contatto" msgstr "Nome del contatto"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Cerca" msgstr "Cerca"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "Nessun utente trovato" msgstr "Nessun utente trovato"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Clicca per aggiungere il contatto alla chat" msgstr "Clicca per aggiungere il contatto alla chat"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "Clicca per aprire questa stanza" msgstr "Clicca per aprire questa stanza"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Mostra più informazioni su questa stanza" msgstr "Mostra più informazioni su questa stanza"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Descrizione:" msgstr "Descrizione:"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Utenti presenti:" msgstr "Utenti presenti:"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Funzionalità:" msgstr "Funzionalità:"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Richiede autenticazione" msgstr "Richiede autenticazione"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Nascosta" msgstr "Nascosta"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Richiede un invito" msgstr "Richiede un invito"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Moderata" msgstr "Moderata"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "Non-anonima" msgstr "Non-anonima"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Stanza aperta" msgstr "Stanza aperta"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Stanza permanente" msgstr "Stanza permanente"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Pubblica" msgstr "Pubblica"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Semi-anonima" msgstr "Semi-anonima"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Stanza temporanea" msgstr "Stanza temporanea"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Non moderata" msgstr "Non moderata"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Stanze" msgstr "Stanze"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Nome stanza" msgstr "Nome stanza"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Soprannome" msgstr "Soprannome"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Entra" msgstr "Entra"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Mostra stanze" msgstr "Mostra stanze"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "Nessuna stanza su %1$s" msgstr "Nessuna stanza su %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Stanze su %1$s" msgstr "Stanze su %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Cambia oggetto della stanza" msgstr "Cambia oggetto della stanza"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Espelli utente dalla stanza" msgstr "Espelli utente dalla stanza"
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Bandisci utente dalla stanza" msgstr "Bandisci utente dalla stanza"
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Messaggio" msgstr "Messaggio"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Salva" msgstr "Salva"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "Errore durante il salvataggio del modulo" msgstr "Errore durante il salvataggio del modulo"
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "Questa stanza richiede una password" msgstr "Questa stanza richiede una password"
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Password: " msgstr "Password: "
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Invia" msgstr "Invia"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Questa stanza non è anonima" msgstr "Questa stanza non è anonima"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "Questa stanza mostra i membri non disponibili al momento" msgstr "Questa stanza mostra i membri non disponibili al momento"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "Questa stanza non mostra i membri non disponibili" msgstr "Questa stanza non mostra i membri non disponibili"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "" msgstr ""
"Una configurazione della stanza non legata alla privacy è stata modificata" "Una configurazione della stanza non legata alla privacy è stata modificata"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "La registrazione è abilitata nella stanza" msgstr "La registrazione è abilitata nella stanza"
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "La registrazione è disabilitata nella stanza" msgstr "La registrazione è disabilitata nella stanza"
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "Questa stanza è non-anonima" msgstr "Questa stanza è non-anonima"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "Questa stanza è semi-anonima" msgstr "Questa stanza è semi-anonima"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "Questa stanza è completamente-anonima" msgstr "Questa stanza è completamente-anonima"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "Una nuova stanza è stata creata" msgstr "Una nuova stanza è stata creata"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Il tuo soprannome è stato cambiato" msgstr "Il tuo soprannome è stato cambiato"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> è stato bandito" msgstr "<strong>%1$s</strong> è stato bandito"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> è stato espulso" msgstr "<strong>%1$s</strong> è stato espulso"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "" msgstr ""
"<strong>%1$s</strong> è stato rimosso a causa di un cambio di affiliazione" "<strong>%1$s</strong> è stato rimosso a causa di un cambio di affiliazione"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> è stato rimosso in quanto non membro" msgstr "<strong>%1$s</strong> è stato rimosso in quanto non membro"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Sei stato bandito da questa stanza" msgstr "Sei stato bandito da questa stanza"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "Sei stato espulso da questa stanza" msgstr "Sei stato espulso da questa stanza"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" msgid "You have been removed from this room because of an affiliation change"
msgstr "" msgstr ""
"Sei stato rimosso da questa stanza a causa di un cambio di affiliazione" "Sei stato rimosso da questa stanza a causa di un cambio di affiliazione"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
msgstr "" msgstr ""
"Sei stato rimosso da questa stanza poiché ora la stanza accetta solo membri" "Sei stato rimosso da questa stanza poiché ora la stanza accetta solo membri"
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -353,152 +504,150 @@ msgstr "" ...@@ -353,152 +504,150 @@ msgstr ""
"Sei stato rimosso da questa stanza poiché il servizio MUC (Chat multi " "Sei stato rimosso da questa stanza poiché il servizio MUC (Chat multi "
"utente) è in fase di spegnimento" "utente) è in fase di spegnimento"
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "Non sei nella lista dei membri di questa stanza" msgstr "Non sei nella lista dei membri di questa stanza"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "Nessun soprannome specificato" msgstr "Nessun soprannome specificato"
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "Non ti è permesso creare nuove stanze" msgstr "Non ti è permesso creare nuove stanze"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Il tuo soprannome non è conforme alle regole di questa stanza" msgstr "Il tuo soprannome non è conforme alle regole di questa stanza"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Il tuo soprannome è già utilizzato" msgstr "Il tuo soprannome è già utilizzato"
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "Questa stanza non esiste (per ora)" msgstr "Questa stanza non esiste (per ora)"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "Questa stanza ha raggiunto il limite massimo di utenti" msgstr "Questa stanza ha raggiunto il limite massimo di utenti"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "Topic impostato da %1$s a: %2$s" msgstr "Topic impostato da %1$s a: %2$s"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "Questo utente è un moderatore" msgstr "Questo utente è un moderatore"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "Questo utente può inviare messaggi in questa stanza" msgstr "Questo utente può inviare messaggi in questa stanza"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "Questo utente NON può inviare messaggi in questa stanza" msgstr "Questo utente NON può inviare messaggi in questa stanza"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Clicca per parlare con questo contatto" msgstr "Clicca per parlare con questo contatto"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Clicca per rimuovere questo contatto" msgstr "Clicca per rimuovere questo contatto"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "" msgstr ""
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "" msgstr ""
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "" msgstr ""
#: converse.js:1889 #: converse.js:2266
#, fuzzy #, fuzzy
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "Questa stanza mostra i membri non disponibili al momento" msgstr "Questa stanza mostra i membri non disponibili al momento"
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "" msgstr ""
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "" msgstr ""
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Richieste dei contatti" msgstr "Richieste dei contatti"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "I miei contatti" msgstr "I miei contatti"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Contatti in attesa" msgstr "Contatti in attesa"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Stato personalizzato" msgstr "Stato personalizzato"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Clicca per cambiare il tuo stato" msgstr "Clicca per cambiare il tuo stato"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Clicca qui per scrivere un messaggio di stato personalizzato" msgstr "Clicca qui per scrivere un messaggio di stato personalizzato"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "in linea" msgstr "in linea"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "occupato" msgstr "occupato"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "assente da molto" msgstr "assente da molto"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "assente" msgstr "assente"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "Sono %1$s" msgstr "Sono %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "Accesso" msgstr "Accesso"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "Nome utente:" msgstr "Nome utente:"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Password:" msgstr "Password:"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Entra" msgstr "Entra"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "Indirizzo servizio BOSH:" msgstr "Indirizzo servizio BOSH:"
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Contatti in linea" msgstr "Contatti in linea"
......
...@@ -7,8 +7,8 @@ msgid "" ...@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Converse.js 0.6.3\n" "Project-Id-Version: Converse.js 0.6.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-13 16:02+0200\n" "POT-Creation-Date: 2013-09-15 21:55+0200\n"
"PO-Revision-Date: 2013-07-23 14:34-0300\n" "PO-Revision-Date: 2013-09-15 22:02+0200\n"
"Last-Translator: Sergio Oliveira <sergio@tracy.com.br>\n" "Last-Translator: Sergio Oliveira <sergio@tracy.com.br>\n"
"Language-Team: Brazilian Portuguese\n" "Language-Team: Brazilian Portuguese\n"
"Language: pt_BR\n" "Language: pt_BR\n"
...@@ -20,322 +20,473 @@ msgstr "" ...@@ -20,322 +20,473 @@ msgstr ""
"lang: pt_BR\n" "lang: pt_BR\n"
"plural_forms: nplurals=2; plural=(n != 1);\n" "plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:135 #: converse.js:125
msgid "unencrypted"
msgstr ""
#: converse.js:126
msgid "unverified"
msgstr ""
#: converse.js:127
msgid "verified"
msgstr ""
#: converse.js:128
msgid "finished"
msgstr ""
#: converse.js:161
msgid "Disconnected" msgid "Disconnected"
msgstr "Desconectado" msgstr "Desconectado"
#: converse.js:139 #: converse.js:165
msgid "Error" msgid "Error"
msgstr "Erro" msgstr "Erro"
#: converse.js:141 #: converse.js:167
msgid "Connecting" msgid "Connecting"
msgstr "Conectando" msgstr "Conectando"
#: converse.js:144 #: converse.js:170
msgid "Connection Failed" msgid "Connection Failed"
msgstr "Falha de conexão" msgstr "Falha de conexão"
#: converse.js:146 #: converse.js:172
msgid "Authenticating" msgid "Authenticating"
msgstr "Autenticando" msgstr "Autenticando"
#: converse.js:149 #: converse.js:175
msgid "Authentication Failed" msgid "Authentication Failed"
msgstr "Falha de autenticação" msgstr "Falha de autenticação"
#: converse.js:151 #: converse.js:177
msgid "Disconnecting" msgid "Disconnecting"
msgstr "Desconectando" msgstr "Desconectando"
#: converse.js:373 #: converse.js:332
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:340
msgid ""
"Your browser needs to generate a private key, which will be used in your "
"encrypted chat session. This can take up to 30 seconds during which your "
"browser might freeze and become unresponsive."
msgstr ""
#: converse.js:349
msgid "Private key generated."
msgstr ""
#: converse.js:380
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your buddy is attempting to verify your identity, by asking you the question "
"below.\n"
"\n"
"%2$s"
msgstr ""
#: converse.js:389
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:537
msgid "Personal message"
msgstr "Mensagem pessoal"
#: converse.js:559
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:562
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:563
msgid "End encrypted conversation"
msgstr ""
#: converse.js:564
msgid "Verify with SMP"
msgstr ""
#: converse.js:567
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:569
msgid "What's this?"
msgstr ""
#: converse.js:641
msgid "me" msgid "me"
msgstr "eu" msgstr "eu"
#: converse.js:417 #: converse.js:757 converse.js:1552
msgid "%1$s is typing"
msgstr "%1$s está digitando"
#: converse.js:461 converse.js:1180
msgid "Show this menu" msgid "Show this menu"
msgstr "Mostrar o menu" msgstr "Mostrar o menu"
#: converse.js:462 converse.js:1181 #: converse.js:758 converse.js:1553
msgid "Write in the third person" msgid "Write in the third person"
msgstr "Escrever em terceira pessoa" msgstr "Escrever em terceira pessoa"
#: converse.js:463 converse.js:1185 #: converse.js:759 converse.js:1557
msgid "Remove messages" msgid "Remove messages"
msgstr "Remover mensagens" msgstr "Remover mensagens"
#: converse.js:603 #: converse.js:830
msgid "Personal message" msgid "Your message could not be sent"
msgstr "Mensagem pessoal" msgstr ""
#: converse.js:833
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:836
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:845
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:863
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
"\n"
"Fingerprint for you, %2$s: %3$s\n"
"\n"
"Fingerprint for %1$s: %4$s\n"
"\n"
"If you have confirmed that the fingerprints match, click OK, otherwise click "
"Cancel."
msgstr ""
#: converse.js:876
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 "
"exact same answer (case sensitive), their identity will have been verified."
msgstr ""
#: converse.js:877
msgid "What is your security question?"
msgstr ""
#: converse.js:879
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:883
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:677 #: converse.js:953
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:955
msgid ""
"Your messages are now encrypted but your buddy's identity has not been "
"verified."
msgstr ""
#: converse.js:957
msgid "Your buddy's identify has been verified."
msgstr ""
#: converse.js:959
msgid "Your buddy has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:968
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:970
msgid "Your messages are encrypted, but your buddy has not been verified."
msgstr ""
#: converse.js:972
msgid "Your messages are encrypted and your buddy verified."
msgstr ""
#: converse.js:974
msgid ""
"Your buddy has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1049
msgid "Contacts" msgid "Contacts"
msgstr "Contatos" msgstr "Contatos"
#: converse.js:682 #: converse.js:1054
msgid "Online" msgid "Online"
msgstr "Online" msgstr "Online"
#: converse.js:683 #: converse.js:1055
msgid "Busy" msgid "Busy"
msgstr "Ocupado" msgstr "Ocupado"
#: converse.js:684 #: converse.js:1056
msgid "Away" msgid "Away"
msgstr "Ausente" msgstr "Ausente"
#: converse.js:685 #: converse.js:1057
msgid "Offline" msgid "Offline"
msgstr "Offline" msgstr "Offline"
#: converse.js:692 #: converse.js:1064
msgid "Click to add new chat contacts" msgid "Click to add new chat contacts"
msgstr "Clique para adicionar novos contatos ao chat" msgstr "Clique para adicionar novos contatos ao chat"
#: converse.js:693 #: converse.js:1065
msgid "Add a contact" msgid "Add a contact"
msgstr "Adicionar contato" msgstr "Adicionar contato"
#: converse.js:702 #: converse.js:1074
msgid "Contact username" msgid "Contact username"
msgstr "Usuário do contatt" msgstr "Usuário do contatt"
#: converse.js:703 #: converse.js:1075
msgid "Add" msgid "Add"
msgstr "Adicionar" msgstr "Adicionar"
#: converse.js:711 #: converse.js:1083
msgid "Contact name" msgid "Contact name"
msgstr "Nome do contato" msgstr "Nome do contato"
#: converse.js:712 #: converse.js:1084
msgid "Search" msgid "Search"
msgstr "Procurar" msgstr "Procurar"
#: converse.js:752 #: converse.js:1124
msgid "No users found" msgid "No users found"
msgstr "Não foram encontrados usuários" msgstr "Não foram encontrados usuários"
#: converse.js:759 #: converse.js:1131
msgid "Click to add as a chat contact" msgid "Click to add as a chat contact"
msgstr "Clique para adicionar como um contato do chat" msgstr "Clique para adicionar como um contato do chat"
#: converse.js:819 #: converse.js:1191
msgid "Click to open this room" msgid "Click to open this room"
msgstr "CLique para abrir a sala" msgstr "CLique para abrir a sala"
#: converse.js:821 #: converse.js:1193
msgid "Show more information on this room" msgid "Show more information on this room"
msgstr "Mostrar mais informações nessa sala" msgstr "Mostrar mais informações nessa sala"
#: converse.js:827 #: converse.js:1199
msgid "Description:" msgid "Description:"
msgstr "Descrição:" msgstr "Descrição:"
#: converse.js:828 #: converse.js:1200
msgid "Occupants:" msgid "Occupants:"
msgstr "Ocupantes:" msgstr "Ocupantes:"
#: converse.js:829 #: converse.js:1201
msgid "Features:" msgid "Features:"
msgstr "Recursos:" msgstr "Recursos:"
#: converse.js:831 #: converse.js:1203
msgid "Requires authentication" msgid "Requires authentication"
msgstr "Requer autenticação" msgstr "Requer autenticação"
#: converse.js:834 #: converse.js:1206
msgid "Hidden" msgid "Hidden"
msgstr "Escondido" msgstr "Escondido"
#: converse.js:837 #: converse.js:1209
msgid "Requires an invitation" msgid "Requires an invitation"
msgstr "Requer um convite" msgstr "Requer um convite"
#: converse.js:840 #: converse.js:1212
msgid "Moderated" msgid "Moderated"
msgstr "Moderado" msgstr "Moderado"
#: converse.js:843 #: converse.js:1215
msgid "Non-anonymous" msgid "Non-anonymous"
msgstr "Não anônimo" msgstr "Não anônimo"
#: converse.js:846 #: converse.js:1218
msgid "Open room" msgid "Open room"
msgstr "Sala aberta" msgstr "Sala aberta"
#: converse.js:849 #: converse.js:1221
msgid "Permanent room" msgid "Permanent room"
msgstr "Sala permanente" msgstr "Sala permanente"
#: converse.js:852 #: converse.js:1224
msgid "Public" msgid "Public"
msgstr "Público" msgstr "Público"
#: converse.js:855 #: converse.js:1227
msgid "Semi-anonymous" msgid "Semi-anonymous"
msgstr "Semi anônimo" msgstr "Semi anônimo"
#: converse.js:858 #: converse.js:1230
msgid "Temporary room" msgid "Temporary room"
msgstr "Sala temporária" msgstr "Sala temporária"
#: converse.js:861 #: converse.js:1233
msgid "Unmoderated" msgid "Unmoderated"
msgstr "Sem moderação" msgstr "Sem moderação"
#: converse.js:867 #: converse.js:1239
msgid "Rooms" msgid "Rooms"
msgstr "Salas" msgstr "Salas"
#: converse.js:871 #: converse.js:1243
msgid "Room name" msgid "Room name"
msgstr "Nome da sala" msgstr "Nome da sala"
#: converse.js:872 #: converse.js:1244
msgid "Nickname" msgid "Nickname"
msgstr "Apelido" msgstr "Apelido"
#: converse.js:873 #: converse.js:1245
msgid "Server" msgid "Server"
msgstr "Server" msgstr "Server"
#: converse.js:874 #: converse.js:1246
msgid "Join" msgid "Join"
msgstr "Entrar" msgstr "Entrar"
#: converse.js:875 #: converse.js:1247
msgid "Show rooms" msgid "Show rooms"
msgstr "Mostar salas" msgstr "Mostar salas"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name #. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:910 #: converse.js:1282
msgid "No rooms on %1$s" msgid "No rooms on %1$s"
msgstr "Sem salas em %1$s" msgstr "Sem salas em %1$s"
#. For translators: %1$s is a variable and will be #. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name #. replaced with the XMPP server name
#: converse.js:925 #: converse.js:1297
msgid "Rooms on %1$s" msgid "Rooms on %1$s"
msgstr "Salas em %1$s" msgstr "Salas em %1$s"
#: converse.js:1182 #: converse.js:1554
msgid "Set chatroom topic" msgid "Set chatroom topic"
msgstr "Definir tópico do chat" msgstr "Definir tópico do chat"
#: converse.js:1183 #: converse.js:1555
msgid "Kick user from chatroom" msgid "Kick user from chatroom"
msgstr "Expulsar usuário do chat" msgstr "Expulsar usuário do chat"
#: converse.js:1184 #: converse.js:1556
msgid "Ban user from chatroom" msgid "Ban user from chatroom"
msgstr "Banir usuário do chat" msgstr "Banir usuário do chat"
#: converse.js:1211 #: converse.js:1583
msgid "Message" msgid "Message"
msgstr "Mensagem" msgstr "Mensagem"
#: converse.js:1325 converse.js:2406 #: converse.js:1697 converse.js:2783
msgid "Save" msgid "Save"
msgstr "Salvar" msgstr "Salvar"
#: converse.js:1326 #: converse.js:1698
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: converse.js:1373 #: converse.js:1745
msgid "An error occurred while trying to save the form." msgid "An error occurred while trying to save the form."
msgstr "Ocorreu um erro enquanto tentava salvar o formulário" msgstr "Ocorreu um erro enquanto tentava salvar o formulário"
#: converse.js:1419 #: converse.js:1791
msgid "This chatroom requires a password" msgid "This chatroom requires a password"
msgstr "Esse chat precisa de senha" msgstr "Esse chat precisa de senha"
#: converse.js:1420 #: converse.js:1792
msgid "Password: " msgid "Password: "
msgstr "Senha: " msgstr "Senha: "
#: converse.js:1421 #: converse.js:1793
msgid "Submit" msgid "Submit"
msgstr "Enviar" msgstr "Enviar"
#: converse.js:1435 #: converse.js:1807
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Essa sala não é anônima" msgstr "Essa sala não é anônima"
#: converse.js:1436 #: converse.js:1808
msgid "This room now shows unavailable members" msgid "This room now shows unavailable members"
msgstr "Agora esta sala mostra membros indisponíveis" msgstr "Agora esta sala mostra membros indisponíveis"
#: converse.js:1437 #: converse.js:1809
msgid "This room does not show unavailable members" msgid "This room does not show unavailable members"
msgstr "Essa sala não mostra membros indisponíveis" msgstr "Essa sala não mostra membros indisponíveis"
#: converse.js:1438 #: converse.js:1810
msgid "Non-privacy-related room configuration has changed" msgid "Non-privacy-related room configuration has changed"
msgstr "Configuraçõs não relacionadas à privacidade mudaram" msgstr "Configuraçõs não relacionadas à privacidade mudaram"
#: converse.js:1439 #: converse.js:1811
msgid "Room logging is now enabled" msgid "Room logging is now enabled"
msgstr "O log da sala está ativado" msgstr "O log da sala está ativado"
#: converse.js:1440 #: converse.js:1812
msgid "Room logging is now disabled" msgid "Room logging is now disabled"
msgstr "O log da sala está desativado" msgstr "O log da sala está desativado"
#: converse.js:1441 #: converse.js:1813
msgid "This room is now non-anonymous" msgid "This room is now non-anonymous"
msgstr "Esse sala é não anônima" msgstr "Esse sala é não anônima"
#: converse.js:1442 #: converse.js:1814
msgid "This room is now semi-anonymous" msgid "This room is now semi-anonymous"
msgstr "Essa sala agora é semi anônima" msgstr "Essa sala agora é semi anônima"
#: converse.js:1443 #: converse.js:1815
msgid "This room is now fully-anonymous" msgid "This room is now fully-anonymous"
msgstr "Essa sala agora é totalmente anônima" msgstr "Essa sala agora é totalmente anônima"
#: converse.js:1444 #: converse.js:1816
msgid "A new room has been created" msgid "A new room has been created"
msgstr "Uma nova sala foi criada" msgstr "Uma nova sala foi criada"
#: converse.js:1445 #: converse.js:1817
msgid "Your nickname has been changed" msgid "Your nickname has been changed"
msgstr "Seu apelido foi mudado" msgstr "Seu apelido foi mudado"
#: converse.js:1459 #: converse.js:1831
msgid "<strong>%1$s</strong> has been banned" msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> foi banido" msgstr "<strong>%1$s</strong> foi banido"
#: converse.js:1460 #: converse.js:1832
msgid "<strong>%1$s</strong> has been kicked out" msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> foi expulso" msgstr "<strong>%1$s</strong> foi expulso"
#: converse.js:1461 #: converse.js:1833
msgid "<strong>%1$s</strong> has been removed because of an affiliation change" msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "<srtong>%1$s</strong> foi removido por causa de troca de associação" msgstr "<srtong>%1$s</strong> foi removido por causa de troca de associação"
#: converse.js:1462 #: converse.js:1834
msgid "<strong>%1$s</strong> has been removed for not being a member" msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> foi removido por não ser um membro" msgstr "<strong>%1$s</strong> foi removido por não ser um membro"
#: converse.js:1466 converse.js:1526 #: converse.js:1838 converse.js:1898
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Você foi banido dessa sala" msgstr "Você foi banido dessa sala"
#: converse.js:1467 #: converse.js:1839
msgid "You have been kicked from this room" msgid "You have been kicked from this room"
msgstr "Você foi expulso dessa sala" msgstr "Você foi expulso dessa sala"
#: converse.js:1468 #: converse.js:1840
msgid "You have been removed from this room because of an affiliation change" msgid "You have been removed from this room because of an affiliation change"
msgstr "Você foi removido da sala devido a uma mudança de associação" msgstr "Você foi removido da sala devido a uma mudança de associação"
#: converse.js:1469 #: converse.js:1841
msgid "" msgid ""
"You have been removed from this room because the room has changed to members-" "You have been removed from this room because the room has changed to members-"
"only and you're not a member" "only and you're not a member"
...@@ -343,7 +494,7 @@ msgstr "" ...@@ -343,7 +494,7 @@ msgstr ""
"Você foi removido da sala porque ela foi mudada para somente membrose você " "Você foi removido da sala porque ela foi mudada para somente membrose você "
"não é um membro" "não é um membro"
#: converse.js:1470 #: converse.js:1842
msgid "" msgid ""
"You have been removed from this room because the MUC (Multi-user chat) " "You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down." "service is being shut down."
...@@ -351,154 +502,155 @@ msgstr "" ...@@ -351,154 +502,155 @@ msgstr ""
"Você foi removido da sala devido a MUC (Multi-user chat)o serviço está sendo " "Você foi removido da sala devido a MUC (Multi-user chat)o serviço está sendo "
"desligado" "desligado"
#: converse.js:1524 #: converse.js:1896
msgid "You are not on the member list of this room" msgid "You are not on the member list of this room"
msgstr "Você não é membro dessa sala" msgstr "Você não é membro dessa sala"
#: converse.js:1530 #: converse.js:1902
msgid "No nickname was specified" msgid "No nickname was specified"
msgstr "Você não escolheu um apelido " msgstr "Você não escolheu um apelido "
#: converse.js:1534 #: converse.js:1906
msgid "You are not allowed to create new rooms" msgid "You are not allowed to create new rooms"
msgstr "Você não tem permitição de criar novas salas" msgstr "Você não tem permitição de criar novas salas"
#: converse.js:1536 #: converse.js:1908
msgid "Your nickname doesn't conform to this room's policies" msgid "Your nickname doesn't conform to this room's policies"
msgstr "Seu apelido não está de acordo com as regras da sala" msgstr "Seu apelido não está de acordo com as regras da sala"
#: converse.js:1538 #: converse.js:1910
msgid "Your nickname is already taken" msgid "Your nickname is already taken"
msgstr "Seu apelido já foi escolhido" msgstr "Seu apelido já foi escolhido"
#: converse.js:1540 #: converse.js:1912
msgid "This room does not (yet) exist" msgid "This room does not (yet) exist"
msgstr "A sala não existe (ainda)" msgstr "A sala não existe (ainda)"
#: converse.js:1542 #: converse.js:1914
msgid "This room has reached it's maximum number of occupants" msgid "This room has reached it's maximum number of occupants"
msgstr "A sala atingiu o número máximo de ocupantes" msgstr "A sala atingiu o número máximo de ocupantes"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively #: converse.js:1993
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1619
msgid "Topic set by %1$s to: %2$s" msgid "Topic set by %1$s to: %2$s"
msgstr "Topico definido por %1$s para: %2$s" msgstr "Topico definido por %1$s para: %2$s"
#: converse.js:1635 #: converse.js:2009
msgid "This user is a moderator" msgid "This user is a moderator"
msgstr "Esse usuário é o moderador" msgstr "Esse usuário é o moderador"
#: converse.js:1638 #: converse.js:2012
msgid "This user can send messages in this room" msgid "This user can send messages in this room"
msgstr "Esse usuário pode enviar mensagens nessa sala" msgstr "Esse usuário pode enviar mensagens nessa sala"
#: converse.js:1641 #: converse.js:2015
msgid "This user can NOT send messages in this room" msgid "This user can NOT send messages in this room"
msgstr "Esse usuário NÃO pode enviar mensagens nessa sala" msgstr "Esse usuário NÃO pode enviar mensagens nessa sala"
#: converse.js:1848 #: converse.js:2225
msgid "Click to chat with this contact" msgid "Click to chat with this contact"
msgstr "Clique para conversar com o contato" msgstr "Clique para conversar com o contato"
#: converse.js:1851 converse.js:1855 #: converse.js:2228 converse.js:2232
msgid "Click to remove this contact" msgid "Click to remove this contact"
msgstr "Clique para remover o contato" msgstr "Clique para remover o contato"
#: converse.js:1886 #: converse.js:2263
msgid "This contact is busy" msgid "This contact is busy"
msgstr "Este contato está ocupado" msgstr "Este contato está ocupado"
#: converse.js:1887 #: converse.js:2264
msgid "This contact is online" msgid "This contact is online"
msgstr "Este contato está online" msgstr "Este contato está online"
#: converse.js:1888 #: converse.js:2265
msgid "This contact is offline" msgid "This contact is offline"
msgstr "Este contato está offline" msgstr "Este contato está offline"
#: converse.js:1889 #: converse.js:2266
msgid "This contact is unavailable" msgid "This contact is unavailable"
msgstr "Este contato está indisponível" msgstr "Este contato está indisponível"
#: converse.js:1890 #: converse.js:2267
msgid "This contact is away for an extended period" msgid "This contact is away for an extended period"
msgstr "Este contato está ausente por um longo período" msgstr "Este contato está ausente por um longo período"
#: converse.js:1891 #: converse.js:2268
msgid "This contact is away" msgid "This contact is away"
msgstr "Este contato está ausente" msgstr "Este contato está ausente"
#: converse.js:2245 #: converse.js:2622
msgid "Contact requests" msgid "Contact requests"
msgstr "Solicitação de contatos" msgstr "Solicitação de contatos"
#: converse.js:2246 #: converse.js:2623
msgid "My contacts" msgid "My contacts"
msgstr "Meus contatos" msgstr "Meus contatos"
#: converse.js:2247 #: converse.js:2624
msgid "Pending contacts" msgid "Pending contacts"
msgstr "Contados pendentes" msgstr "Contados pendentes"
#: converse.js:2405 #: converse.js:2782
msgid "Custom status" msgid "Custom status"
msgstr "Status customizado" msgstr "Status customizado"
#: converse.js:2411 #: converse.js:2788
msgid "Click to change your chat status" msgid "Click to change your chat status"
msgstr "Clique para mudar seu status no chat" msgstr "Clique para mudar seu status no chat"
#: converse.js:2415 #: converse.js:2792
msgid "Click here to write a custom status message" msgid "Click here to write a custom status message"
msgstr "Clique aqui para customizar a mensagem de status" msgstr "Clique aqui para customizar a mensagem de status"
#: converse.js:2444 converse.js:2452 #: converse.js:2821 converse.js:2829
msgid "online" msgid "online"
msgstr "online" msgstr "online"
#: converse.js:2446 #: converse.js:2823
msgid "busy" msgid "busy"
msgstr "ocupado" msgstr "ocupado"
#: converse.js:2448 #: converse.js:2825
msgid "away for long" msgid "away for long"
msgstr "ausente a bastante tempo" msgstr "ausente a bastante tempo"
#: converse.js:2450 #: converse.js:2827
msgid "away" msgid "away"
msgstr "ausente" msgstr "ausente"
#. For translators: the %1$s part gets replaced with the status #. For translators: the %1$s part gets replaced with the status
#. Example, I am online #. Example, I am online
#: converse.js:2464 converse.js:2501 #: converse.js:2841 converse.js:2878
msgid "I am %1$s" msgid "I am %1$s"
msgstr "Estou %1$s" msgstr "Estou %1$s"
#: converse.js:2572 #: converse.js:2949
msgid "Sign in" msgid "Sign in"
msgstr "Conectar-se" msgstr "Conectar-se"
#: converse.js:2575 #: converse.js:2952
msgid "XMPP/Jabber Username:" msgid "XMPP/Jabber Username:"
msgstr "Usuário XMPP/Jabber:" msgstr "Usuário XMPP/Jabber:"
#: converse.js:2577 #: converse.js:2954
msgid "Password:" msgid "Password:"
msgstr "Senha:" msgstr "Senha:"
#: converse.js:2579 #: converse.js:2956
msgid "Log In" msgid "Log In"
msgstr "Entrar" msgstr "Entrar"
#: converse.js:2583 #: converse.js:2960
msgid "BOSH Service URL:" msgid "BOSH Service URL:"
msgstr "URL de serviço BOSH:" msgstr "URL de serviço BOSH:"
#: converse.js:2736 #: converse.js:3113
msgid "Online Contacts" msgid "Online Contacts"
msgstr "Contatos online" msgstr "Contatos online"
#~ msgid "%1$s is typing"
#~ msgstr "%1$s está digitando"
#~ msgid "Connected" #~ msgid "Connected"
#~ msgstr "Conectado" #~ msgstr "Conectado"
......
...@@ -10,7 +10,8 @@ require.config({ ...@@ -10,7 +10,8 @@ require.config({
"strophe.muc": "components/strophe.muc/index", "strophe.muc": "components/strophe.muc/index",
"strophe.roster": "components/strophe.roster/index", "strophe.roster": "components/strophe.roster/index",
"strophe.vcard": "components/strophe.vcard/index", "strophe.vcard": "components/strophe.vcard/index",
"strophe.disco": "components/strophe.disco/index" "strophe.disco": "components/strophe.disco/index",
"crypto.aes": "components/crypto-js/build/rollups/aes"
}, },
// define module dependencies for modules not using define // define module dependencies for modules not using define
...@@ -26,6 +27,9 @@ require.config({ ...@@ -26,6 +27,9 @@ require.config({
//module value. //module value.
exports: 'Backbone' exports: 'Backbone'
}, },
'crypto.aes': {
exports: 'CryptoJS'
},
'jquery.tinysort': { deps: ['jquery'] }, 'jquery.tinysort': { deps: ['jquery'] },
'strophe': { deps: ['jquery'] }, 'strophe': { deps: ['jquery'] },
'underscore': { exports: '_' }, 'underscore': { exports: '_' },
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<li><a class="current" href="#login">Sign in</a></li> <li><a class="current" href="#login">Sign in</a></li>
</ul> </ul>
<a class="close-chatbox-button icon-close"></a></div> <a class="close-chatbox-button icon-close"></a></div>
<div id="controlbox-panes"> <div class="controlbox-panes">
<div id="login-dialog"> <div id="login-dialog">
<form id="converse-login"> <form id="converse-login">
<label>XMPP/Jabber Username:</label><input type="text" id="jid"> <label>XMPP/Jabber Username:</label><input type="text" id="jid">
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</ul> </ul>
<a class="close-chatbox-button icon-close"></a> <a class="close-chatbox-button icon-close"></a>
</div> </div>
<div id="controlbox-panes"> <div class="controlbox-panes">
<div id="users" class="oc-chat-content" style="display: block;"> <div id="users" class="oc-chat-content" style="display: block;">
<form class="set-xmpp-status" action="" method="post"> <form class="set-xmpp-status" action="" method="post">
<span id="xmpp-status-holder"> <span id="xmpp-status-holder">
...@@ -200,8 +200,8 @@ ...@@ -200,8 +200,8 @@
<p></p> <p></p>
</div> </div>
<div class="chat-content"> <div class="chat-content">
<div class="chat-info"><strong>/help</strong>:Show this menu</div> <div class="chat-info"><strong>/help</strong>:This is an info message</div>
<div class="chat-info"><strong>/me</strong>:Write in the third person</div> <div class="chat-error">This is an error message</div>
<div class="chat-message"> <div class="chat-message">
<span class="chat-message-me">09:35 me:&nbsp;</span> <span class="chat-message-me">09:35 me:&nbsp;</span>
<span class="chat-message-content">Hello world</span> <span class="chat-message-content">Hello world</span>
...@@ -225,6 +225,23 @@ ...@@ -225,6 +225,23 @@
</div> </div>
</div> </div>
<form class="sendXMPPMessage" action="" method="post"> <form class="sendXMPPMessage" action="" method="post">
<ul class="chat-toolbar no-text-select">
<!--
<li class="icon-happy" title="Insert a smilery"></li>
<li class="icon-camera-2" title="Enable video chat"></li>
<li class="icon-newspaper" title="Fetch and show this user's vCard"></li>
-->
<li class="toggle-otr unencrypted" title="Turn on 'off-the-record' chat encryption">
<span class="chat-toolbar-text">unencrypted</span>
<span class="icon-unlocked"></span>
<ul>
<li><a href="#">Start private conversation</a></li>
<li><a href="#">End private conversation</a></li>
<li><a href="#">Authenticate buddy</a></li>
<li><a href="http://www.cypherpunks.ca/otr/help/3.2.0/levels.php" target="_blank">What's this?</a></li>
</ul>
</li>
</ul>
<textarea type="text" class="chat-textarea" placeholder="Personal message"></textarea> <textarea type="text" class="chat-textarea" placeholder="Personal message"></textarea>
</form> </form>
</div> </div>
...@@ -358,6 +375,19 @@ $(document).ready(function () { ...@@ -358,6 +375,19 @@ $(document).ready(function () {
}); });
}); });
} }
$(function() {
// Clickable Dropdown
$('.toggle-otr').click(function(e) {
$('.toggle-otr ul').slideToggle(200);
e.stopPropagation();
});
$(document).click(function() {
if ($('.toggle-otr ul').is(':visible')) {
$('.toggle-otr ul', this).slideUp(200);
}
});
});
}); });
</script> </script>
<script src="http://devbox:9001/socket.js" type="text/javascript" charset="utf-8"></script> <script src="http://devbox:9001/socket.js" type="text/javascript" charset="utf-8"></script>
......
...@@ -676,7 +676,7 @@ ...@@ -676,7 +676,7 @@
it("contains two tabs, 'Contacts' and 'ChatRooms'", $.proxy(function () { it("contains two tabs, 'Contacts' and 'ChatRooms'", $.proxy(function () {
var cbview = this.chatboxesview.views.controlbox; var cbview = this.chatboxesview.views.controlbox;
var $panels = cbview.$el.find('#controlbox-panes'); var $panels = cbview.$el.find('.controlbox-panes');
expect($panels.children().length).toBe(2); expect($panels.children().length).toBe(2);
expect($panels.children().first().attr('id')).toBe('users'); expect($panels.children().first().attr('id')).toBe('users');
expect($panels.children().first().is(':visible')).toBe(true); expect($panels.children().first().is(':visible')).toBe(true);
...@@ -693,7 +693,7 @@ ...@@ -693,7 +693,7 @@
it("is opened by clicking the 'Chatrooms' tab", $.proxy(function () { it("is opened by clicking the 'Chatrooms' tab", $.proxy(function () {
var cbview = this.chatboxesview.views.controlbox; var cbview = this.chatboxesview.views.controlbox;
var $tabs = cbview.$el.find('#controlbox-tabs'); var $tabs = cbview.$el.find('#controlbox-tabs');
var $panels = cbview.$el.find('#controlbox-panes'); var $panels = cbview.$el.find('.controlbox-panes');
var $contacts = $panels.children().first(); var $contacts = $panels.children().first();
var $chatrooms = $panels.children().last(); var $chatrooms = $panels.children().last();
spyOn(cbview, 'switchTab').andCallThrough(); spyOn(cbview, 'switchTab').andCallThrough();
......
...@@ -12,6 +12,7 @@ require.config({ ...@@ -12,6 +12,7 @@ require.config({
"strophe.roster": "components/strophe.roster/index", "strophe.roster": "components/strophe.roster/index",
"strophe.vcard": "components/strophe.vcard/index", "strophe.vcard": "components/strophe.vcard/index",
"strophe.disco": "components/strophe.disco/index", "strophe.disco": "components/strophe.disco/index",
"crypto.aes": "components/crypto-js/build/rollups/aes",
// Extra test dependencies // Extra test dependencies
"jasmine": "components/jasmine/lib/jasmine-core/jasmine", "jasmine": "components/jasmine/lib/jasmine-core/jasmine",
"jasmine-html": "components/jasmine/lib/jasmine-core/jasmine-html", "jasmine-html": "components/jasmine/lib/jasmine-core/jasmine-html",
...@@ -32,7 +33,7 @@ require.config({ ...@@ -32,7 +33,7 @@ require.config({
//module value. //module value.
exports: 'Backbone' exports: 'Backbone'
}, },
'tinysort': { deps: ['jquery'] }, 'jquery.tinysort': { deps: ['jquery'] },
'strophe': { deps: ['jquery'] }, 'strophe': { deps: ['jquery'] },
'underscore': { exports: '_' }, 'underscore': { exports: '_' },
'strophe.muc': { deps: ['strophe', 'jquery'] }, 'strophe.muc': { deps: ['strophe', 'jquery'] },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment