Merge branch 'master' into skeleton

This commit is contained in:
JC Brand 2014-12-31 11:34:34 +01:00
commit 96d904f38e
47 changed files with 7393 additions and 4526 deletions

1
.gitignore vendored
View File

@ -8,6 +8,7 @@
.svn/
.project
.pydevproject
analytics.js
# Ruby/Sass/Bundler
.bundle

View File

@ -55,6 +55,7 @@ cssmin:
grunt cssmin
release:
sed -i s/Project-Id-Version:\ Converse\.js\ [0-9]\.[0-9]\.[0-9]/Project-Id-Version:\ Converse.js\ $(VERSION)/ locale/converse.pot
sed -i s/\"version\":\ \"[0-9]\.[0-9]\.[0-9]\"/\"version\":\ \"$(VERSION)\"/ bower.json
sed -i s/\"version\":\ \"[0-9]\.[0-9]\.[0-9]\"/\"version\":\ \"$(VERSION)\"/ package.json
sed -i s/v[0-9]\.[0-9]\.[0-9]\.zip/v$(VERSION)\.zip/ index.html
@ -64,6 +65,7 @@ release:
sed -i "s/(Unreleased)/(`date +%Y-%m-%d`)/" docs/CHANGES.rst
make pot
make po
make po2json
make build
########################################################################

View File

@ -33,7 +33,7 @@ It has the following features:
* Messages appear in all connnected chat clients `XEP 280 <http://xmpp.org/extensions/xep-0280.html>`_
* Typing and chat state notifications `XEP 85 <http://xmpp.org/extensions/xep-0085.html>`_
* Third person messages (/me )
* Translated into 14 languages
* Translated into 15 languages
* Off-the-record encryption
-----------

View File

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

View File

@ -13139,7 +13139,15 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<form id="converse-register">\n <span class="reg-feedback"></span>\n <label>'+
((__t=(label_domain))==null?'':__t)+
'</label>\n <input type="text" name="domain" placeholder=" e.g. conversejs.org">\n <p class="form-help">Tip: A list of public XMPP providers is available <a href="https://xmpp.net/directory.php" class="url" target="_blank">here</a>.</p>\n <input class="submit" type="submit" value="'+
'</label>\n <input type="text" name="domain" placeholder="'+
((__t=(domain_placeholder))==null?'':__t)+
'">\n <p class="form-help">'+
((__t=(help_providers))==null?'':__t)+
' <a href="'+
((__t=(href_providers))==null?'':__t)+
'" class="url" target="_blank">'+
((__t=(help_providers_link))==null?'':__t)+
'</a>.</p>\n <input class="submit" type="submit" value="'+
((__t=(label_register))==null?'':__t)+
'">\n</form>\n';
}
@ -27926,21 +27934,26 @@ define("converse-dependencies", [
bosh_service_url: undefined, // The BOSH connection manager URL.
cache_otr_key: false,
debug: false,
domain_placeholder: " e.g. conversejs.org", // Placeholder text shown in the domain input on the registration form
default_box_height: 400, // The default height, in pixels, for the control box, chat boxes and chatrooms.
expose_rid_and_sid: false,
forward_messages: false,
hide_muc_server: false,
hide_offline_users: false,
i18n: locales.en,
jid: undefined,
keepalive: false,
message_carbons: false,
no_trimming: false, // Set to true for phantomjs tests (where browser apparently has no width)
play_sounds: false,
prebind: false,
providers_link: 'https://xmpp.net/directory.php', // Link to XMPP providers shown on registration page
rid: undefined,
roster_groups: false,
show_controlbox_by_default: false,
show_only_online_users: false,
show_toolbar: true,
sid: undefined,
storage: 'session',
use_otr_by_default: false,
use_vcards: true,
@ -30099,17 +30112,18 @@ define("converse-dependencies", [
var $form= this.$el.find('form.chatroom-form'),
$stanza = $(stanza),
$fields = $stanza.find('field'),
title = $stanza.find('title').text();
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text();
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
if (instructions != title) {
$form.append($('<p class="instructions">').text(this.instructions));
if (instructions && instructions != title) {
$form.append($('<p class="instructions">').text(instructions));
}
_.each($fields, function (field) {
$form.append(utils.xForm2webForm(field));
$form.append(utils.xForm2webForm($(field), $stanza));
});
$form.append('<input type="submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" value="'+__('Cancel')+'"/>');
$form.append('<input type="submit" class="save-submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" class="cancel-submit" value="'+__('Cancel')+'"/>');
$form.on('submit', $.proxy(this.saveConfiguration, this));
$form.find('input[type=button]').on('click', $.proxy(this.cancelConfiguration, this));
},
@ -32174,7 +32188,11 @@ define("converse-dependencies", [
this.$parent.append(this.$el.html(
converse.templates.register_panel({
'label_domain': __("Your XMPP provider's domain name:"),
'label_register': __('Fetch registration form')
'label_register': __('Fetch registration form'),
'help_providers': __('Tip: A list of public XMPP providers is available'),
'help_providers_link': __('here'),
'href_providers': converse.providers_link,
'domain_placeholder': converse.domain_placeholder
})
));
this.$tabs.append(converse.templates.register_tab({label_register: __('Register')}));
@ -32579,6 +32597,9 @@ define("converse-dependencies", [
render: function () {
this.$tabs.append(converse.templates.login_tab({label_sign_in: __('Sign in')}));
this.$el.find('input#jid').focus();
if (!this.$el.is(':visible')) {
this.$el.show();
}
return this;
},
@ -32624,7 +32645,6 @@ define("converse-dependencies", [
converse.connection.connect(jid, password, converse.onConnect);
},
remove: function () {
this.$tabs.empty();
this.$el.parent().empty();

File diff suppressed because one or more lines are too long

View File

@ -13139,7 +13139,15 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<form id="converse-register">\n <span class="reg-feedback"></span>\n <label>'+
((__t=(label_domain))==null?'':__t)+
'</label>\n <input type="text" name="domain" placeholder=" e.g. conversejs.org">\n <p class="form-help">Tip: A list of public XMPP providers is available <a href="https://xmpp.net/directory.php" class="url" target="_blank">here</a>.</p>\n <input class="submit" type="submit" value="'+
'</label>\n <input type="text" name="domain" placeholder="'+
((__t=(domain_placeholder))==null?'':__t)+
'">\n <p class="form-help">'+
((__t=(help_providers))==null?'':__t)+
' <a href="'+
((__t=(href_providers))==null?'':__t)+
'" class="url" target="_blank">'+
((__t=(help_providers_link))==null?'':__t)+
'</a>.</p>\n <input class="submit" type="submit" value="'+
((__t=(label_register))==null?'':__t)+
'">\n</form>\n';
}
@ -34683,21 +34691,26 @@ define("converse-dependencies", [
bosh_service_url: undefined, // The BOSH connection manager URL.
cache_otr_key: false,
debug: false,
domain_placeholder: " e.g. conversejs.org", // Placeholder text shown in the domain input on the registration form
default_box_height: 400, // The default height, in pixels, for the control box, chat boxes and chatrooms.
expose_rid_and_sid: false,
forward_messages: false,
hide_muc_server: false,
hide_offline_users: false,
i18n: locales.en,
jid: undefined,
keepalive: false,
message_carbons: false,
no_trimming: false, // Set to true for phantomjs tests (where browser apparently has no width)
play_sounds: false,
prebind: false,
providers_link: 'https://xmpp.net/directory.php', // Link to XMPP providers shown on registration page
rid: undefined,
roster_groups: false,
show_controlbox_by_default: false,
show_only_online_users: false,
show_toolbar: true,
sid: undefined,
storage: 'session',
use_otr_by_default: false,
use_vcards: true,
@ -36856,17 +36869,18 @@ define("converse-dependencies", [
var $form= this.$el.find('form.chatroom-form'),
$stanza = $(stanza),
$fields = $stanza.find('field'),
title = $stanza.find('title').text();
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text();
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
if (instructions != title) {
$form.append($('<p class="instructions">').text(this.instructions));
if (instructions && instructions != title) {
$form.append($('<p class="instructions">').text(instructions));
}
_.each($fields, function (field) {
$form.append(utils.xForm2webForm(field));
$form.append(utils.xForm2webForm($(field), $stanza));
});
$form.append('<input type="submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" value="'+__('Cancel')+'"/>');
$form.append('<input type="submit" class="save-submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" class="cancel-submit" value="'+__('Cancel')+'"/>');
$form.on('submit', $.proxy(this.saveConfiguration, this));
$form.find('input[type=button]').on('click', $.proxy(this.cancelConfiguration, this));
},
@ -38931,7 +38945,11 @@ define("converse-dependencies", [
this.$parent.append(this.$el.html(
converse.templates.register_panel({
'label_domain': __("Your XMPP provider's domain name:"),
'label_register': __('Fetch registration form')
'label_register': __('Fetch registration form'),
'help_providers': __('Tip: A list of public XMPP providers is available'),
'help_providers_link': __('here'),
'href_providers': converse.providers_link,
'domain_placeholder': converse.domain_placeholder
})
));
this.$tabs.append(converse.templates.register_tab({label_register: __('Register')}));
@ -39336,6 +39354,9 @@ define("converse-dependencies", [
render: function () {
this.$tabs.append(converse.templates.login_tab({label_sign_in: __('Sign in')}));
this.$el.find('input#jid').focus();
if (!this.$el.is(':visible')) {
this.$el.show();
}
return this;
},
@ -39381,7 +39402,6 @@ define("converse-dependencies", [
converse.connection.connect(jid, password, converse.onConnect);
},
remove: function () {
this.$tabs.empty();
this.$el.parent().empty();

File diff suppressed because one or more lines are too long

View File

@ -13139,7 +13139,15 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<form id="converse-register">\n <span class="reg-feedback"></span>\n <label>'+
((__t=(label_domain))==null?'':__t)+
'</label>\n <input type="text" name="domain" placeholder=" e.g. conversejs.org">\n <p class="form-help">Tip: A list of public XMPP providers is available <a href="https://xmpp.net/directory.php" class="url" target="_blank">here</a>.</p>\n <input class="submit" type="submit" value="'+
'</label>\n <input type="text" name="domain" placeholder="'+
((__t=(domain_placeholder))==null?'':__t)+
'">\n <p class="form-help">'+
((__t=(help_providers))==null?'':__t)+
' <a href="'+
((__t=(href_providers))==null?'':__t)+
'" class="url" target="_blank">'+
((__t=(help_providers_link))==null?'':__t)+
'</a>.</p>\n <input class="submit" type="submit" value="'+
((__t=(label_register))==null?'':__t)+
'">\n</form>\n';
}
@ -42280,21 +42288,26 @@ define("converse-dependencies", [
bosh_service_url: undefined, // The BOSH connection manager URL.
cache_otr_key: false,
debug: false,
domain_placeholder: " e.g. conversejs.org", // Placeholder text shown in the domain input on the registration form
default_box_height: 400, // The default height, in pixels, for the control box, chat boxes and chatrooms.
expose_rid_and_sid: false,
forward_messages: false,
hide_muc_server: false,
hide_offline_users: false,
i18n: locales.en,
jid: undefined,
keepalive: false,
message_carbons: false,
no_trimming: false, // Set to true for phantomjs tests (where browser apparently has no width)
play_sounds: false,
prebind: false,
providers_link: 'https://xmpp.net/directory.php', // Link to XMPP providers shown on registration page
rid: undefined,
roster_groups: false,
show_controlbox_by_default: false,
show_only_online_users: false,
show_toolbar: true,
sid: undefined,
storage: 'session',
use_otr_by_default: false,
use_vcards: true,
@ -44453,17 +44466,18 @@ define("converse-dependencies", [
var $form= this.$el.find('form.chatroom-form'),
$stanza = $(stanza),
$fields = $stanza.find('field'),
title = $stanza.find('title').text();
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text();
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
if (instructions != title) {
$form.append($('<p class="instructions">').text(this.instructions));
if (instructions && instructions != title) {
$form.append($('<p class="instructions">').text(instructions));
}
_.each($fields, function (field) {
$form.append(utils.xForm2webForm(field));
$form.append(utils.xForm2webForm($(field), $stanza));
});
$form.append('<input type="submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" value="'+__('Cancel')+'"/>');
$form.append('<input type="submit" class="save-submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" class="cancel-submit" value="'+__('Cancel')+'"/>');
$form.on('submit', $.proxy(this.saveConfiguration, this));
$form.find('input[type=button]').on('click', $.proxy(this.cancelConfiguration, this));
},
@ -46528,7 +46542,11 @@ define("converse-dependencies", [
this.$parent.append(this.$el.html(
converse.templates.register_panel({
'label_domain': __("Your XMPP provider's domain name:"),
'label_register': __('Fetch registration form')
'label_register': __('Fetch registration form'),
'help_providers': __('Tip: A list of public XMPP providers is available'),
'help_providers_link': __('here'),
'href_providers': converse.providers_link,
'domain_placeholder': converse.domain_placeholder
})
));
this.$tabs.append(converse.templates.register_tab({label_register: __('Register')}));
@ -46933,6 +46951,9 @@ define("converse-dependencies", [
render: function () {
this.$tabs.append(converse.templates.login_tab({label_sign_in: __('Sign in')}));
this.$el.find('input#jid').focus();
if (!this.$el.is(':visible')) {
this.$el.show();
}
return this;
},
@ -46978,7 +46999,6 @@ define("converse-dependencies", [
converse.connection.connect(jid, password, converse.onConnect);
},
remove: function () {
this.$tabs.empty();
this.$el.parent().empty();

File diff suppressed because one or more lines are too long

View File

@ -2805,7 +2805,15 @@ var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments
with(obj||{}){
__p+='<form id="converse-register">\n <span class="reg-feedback"></span>\n <label>'+
((__t=(label_domain))==null?'':__t)+
'</label>\n <input type="text" name="domain" placeholder=" e.g. conversejs.org">\n <p class="form-help">Tip: A list of public XMPP providers is available <a href="https://xmpp.net/directory.php" class="url" target="_blank">here</a>.</p>\n <input class="submit" type="submit" value="'+
'</label>\n <input type="text" name="domain" placeholder="'+
((__t=(domain_placeholder))==null?'':__t)+
'">\n <p class="form-help">'+
((__t=(help_providers))==null?'':__t)+
' <a href="'+
((__t=(href_providers))==null?'':__t)+
'" class="url" target="_blank">'+
((__t=(help_providers_link))==null?'':__t)+
'</a>.</p>\n <input class="submit" type="submit" value="'+
((__t=(label_register))==null?'':__t)+
'">\n</form>\n';
}
@ -31946,21 +31954,26 @@ define("converse-dependencies", [
bosh_service_url: undefined, // The BOSH connection manager URL.
cache_otr_key: false,
debug: false,
domain_placeholder: " e.g. conversejs.org", // Placeholder text shown in the domain input on the registration form
default_box_height: 400, // The default height, in pixels, for the control box, chat boxes and chatrooms.
expose_rid_and_sid: false,
forward_messages: false,
hide_muc_server: false,
hide_offline_users: false,
i18n: locales.en,
jid: undefined,
keepalive: false,
message_carbons: false,
no_trimming: false, // Set to true for phantomjs tests (where browser apparently has no width)
play_sounds: false,
prebind: false,
providers_link: 'https://xmpp.net/directory.php', // Link to XMPP providers shown on registration page
rid: undefined,
roster_groups: false,
show_controlbox_by_default: false,
show_only_online_users: false,
show_toolbar: true,
sid: undefined,
storage: 'session',
use_otr_by_default: false,
use_vcards: true,
@ -34119,17 +34132,18 @@ define("converse-dependencies", [
var $form= this.$el.find('form.chatroom-form'),
$stanza = $(stanza),
$fields = $stanza.find('field'),
title = $stanza.find('title').text();
title = $stanza.find('title').text(),
instructions = $stanza.find('instructions').text();
$form.find('span.spinner').remove();
$form.append($('<legend>').text(title));
if (instructions != title) {
$form.append($('<p class="instructions">').text(this.instructions));
if (instructions && instructions != title) {
$form.append($('<p class="instructions">').text(instructions));
}
_.each($fields, function (field) {
$form.append(utils.xForm2webForm(field));
$form.append(utils.xForm2webForm($(field), $stanza));
});
$form.append('<input type="submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" value="'+__('Cancel')+'"/>');
$form.append('<input type="submit" class="save-submit" value="'+__('Save')+'"/>');
$form.append('<input type="button" class="cancel-submit" value="'+__('Cancel')+'"/>');
$form.on('submit', $.proxy(this.saveConfiguration, this));
$form.find('input[type=button]').on('click', $.proxy(this.cancelConfiguration, this));
},
@ -36194,7 +36208,11 @@ define("converse-dependencies", [
this.$parent.append(this.$el.html(
converse.templates.register_panel({
'label_domain': __("Your XMPP provider's domain name:"),
'label_register': __('Fetch registration form')
'label_register': __('Fetch registration form'),
'help_providers': __('Tip: A list of public XMPP providers is available'),
'help_providers_link': __('here'),
'href_providers': converse.providers_link,
'domain_placeholder': converse.domain_placeholder
})
));
this.$tabs.append(converse.templates.register_tab({label_register: __('Register')}));
@ -36599,6 +36617,9 @@ define("converse-dependencies", [
render: function () {
this.$tabs.append(converse.templates.login_tab({label_sign_in: __('Sign in')}));
this.$el.find('input#jid').focus();
if (!this.$el.is(':visible')) {
this.$el.show();
}
return this;
},
@ -36644,7 +36665,6 @@ define("converse-dependencies", [
converse.connection.connect(jid, password, converse.onConnect);
},
remove: function () {
this.$tabs.empty();
this.$el.parent().empty();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -608,7 +608,15 @@ var __t, __p = '', __e = _.escape;
with (obj) {
__p += '<form id="converse-register">\n <span class="reg-feedback"></span>\n <label>' +
((__t = (label_domain)) == null ? '' : __t) +
'</label>\n <input type="text" name="domain" placeholder=" e.g. conversejs.org">\n <p class="form-help">Tip: A list of public XMPP providers is available <a href="https://xmpp.net/directory.php" class="url" target="_blank">here</a>.</p>\n <input class="submit" type="submit" value="' +
'</label>\n <input type="text" name="domain" placeholder="' +
((__t = (domain_placeholder)) == null ? '' : __t) +
'">\n <p class="form-help">' +
((__t = (help_providers)) == null ? '' : __t) +
' <a href="' +
((__t = (href_providers)) == null ? '' : __t) +
'" class="url" target="_blank">' +
((__t = (help_providers_link)) == null ? '' : __t) +
'</a>.</p>\n <input class="submit" type="submit" value="' +
((__t = (label_register)) == null ? '' : __t) +
'">\n</form>\n';

View File

@ -164,9 +164,7 @@
// Logging
Strophe.log = function (level, msg) { console.log(level+' '+msg); };
Strophe.error = function (msg) {
console.log('ERROR: '+msg);
};
Strophe.error = function (msg) { console.log('ERROR: '+msg); };
// Add Strophe Namespaces
Strophe.addNamespace('REGISTER', 'jabber:iq:register');
@ -216,6 +214,11 @@
var OPENED = 'opened';
var CLOSED = 'closed';
// Translation machinery
// ---------------------
var __ = $.proxy(utils.__, this);
var ___ = utils.___;
// Default configuration values
// ----------------------------
var default_settings = {
@ -232,7 +235,7 @@
bosh_service_url: undefined, // The BOSH connection manager URL.
cache_otr_key: false,
debug: false,
domain_placeholder: " e.g. conversejs.org", // Placeholder text shown in the domain input on the registration form
domain_placeholder: __(" e.g. conversejs.org"), // Placeholder text shown in the domain input on the registration form
default_box_height: 400, // The default height, in pixels, for the control box, chat boxes and chatrooms.
expose_rid_and_sid: false,
forward_messages: false,
@ -286,10 +289,6 @@
// Only use OTR by default if allow OTR is enabled to begin with
this.use_otr_by_default = this.use_otr_by_default && this.allow_otr;
// Translation machinery
// ---------------------
var __ = $.proxy(utils.__, this);
var ___ = utils.___;
// Translation aware constants
// ---------------------------
var OTR_CLASS_MAPPING = {};
@ -3091,7 +3090,7 @@
this.model.messages.off('add',null,this);
this.remove();
this.model.maximize();
}, 200)
}, 200, true)
});
this.MinimizedChats = Backbone.Overview.extend({
@ -3230,10 +3229,13 @@
showInRoster: function () {
var chatStatus = this.get('chat_status');
if (converse.show_only_online_users && chatStatus !== 'online')
return false;
if (converse.hide_offline_users && chatStatus === 'offline')
if ((converse.show_only_online_users && chatStatus !== 'online') || (converse.hide_offline_users && chatStatus === 'offline')) {
// If pending or requesting, show
if ((this.get('ask') === 'subscribe') || (this.get('subscription') === 'from') || (this.get('requesting') === true)) {
return true;
}
return false;
}
return true;
}
});

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,13 @@
Changelog
=========
0.8.6 (Unreleased)
0.8.8 (Unreleased)
------------------
* Norwegian Bokmål translations. [Andreas Lorentsen]
* Updated Afrikaans translations. [jcbrand]
0.8.6 (2014-12-07)
------------------
* Bugfix. Login panel didn't appear under certain conditions. [jcbrand]

View File

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

View File

@ -8,12 +8,9 @@ Setup and integration
.. _what-you-will-need:
------------------
What you will need
------------------
--------------
An XMPP server
==============
--------------
*Converse.js* implements `XMPP <http://xmpp.org/about-xmpp/>`_ as its
messaging protocol, and therefore needs to connect to an XMPP/Jabber
@ -26,8 +23,9 @@ You can find a list of public XMPP servers/providers on `xmpp.net <http://xmpp.n
servers that you can set up yourself on `xmpp.org <http://xmpp.org/xmpp-software/servers/>`_.
-------------------------
A BOSH Connection Manager
=========================
-------------------------
Your website and *Converse.js* use `HTTP <https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol>`_
as protocol to communicate with the webserver. HTTP connections are stateless and usually shortlived.
@ -53,7 +51,7 @@ The demo on the `Converse.js homepage <http://conversejs.org>`_ uses a connectio
This connection manager is available for testing purposes only, please don't use it in production.
Overcoming cross-domain request restrictions
--------------------------------------------
============================================
Lets say your domain is *example.org*, but the domain of your connection
manager is *example.com*.
@ -78,7 +76,7 @@ Apache/Nginx which serves the connection manager under the same domain as your
website. This will remove the need for any cross-domain XHR support.
For example:
~~~~~~~~~~~~
------------
Assuming your site is accessible on port ``80`` for the domain ``mysite.com``
and your connection manager manager is running at ``someothersite.com/http-bind``.
@ -90,7 +88,7 @@ the cross-domain restriction is ``mysite.com/http-bind`` and not
Your ``nginx`` or ``apache`` configuration will look as follows:
Nginx
~~~~~
-----
.. code-block:: nginx
@ -105,7 +103,7 @@ Nginx
}
Apache
~~~~~~
------
.. code-block:: apache
@ -116,13 +114,14 @@ Apache
</VirtualHost>
Server-side authentication
==========================
.. _`session-support`:
Prebinding and Single Session Support
-------------------------------------
----------------------
Single Session Support
----------------------
Server-side authentication
==========================
It's possible to enable single-site login, whereby users already
authenticated in your website will also automatically be logged in on the chat server,
@ -196,7 +195,7 @@ These values are then passed to converse.js's ``initialize`` method.
Example code for server-side prebinding
---------------------------------------
=======================================
* PHP:
See `xmpp-prebind-php <https://github.com/candy-chat/xmpp-prebind-php>`_ by

View File

@ -14,26 +14,36 @@ Translations
./locale/locales.js those which you don't need. Remember to rebuild the
minified file afterwards.
The gettext POT file located in ./locale/converse.pot is the template
containing all translations and from which for each language an individual PO
----------------------------------------------
Updating the translations template (.pot file)
----------------------------------------------
The gettext `.pot` file located in
`./locale/converse.pot <https://github.com/jcbrand/converse.js/blob/master/locale/converse.pot>`_
is the template containing all translations and from which for each language an individual PO
file is generated.
The POT file contains all translateable strings extracted from converse.js.
The `.pot` file contains all translateable strings extracted from converse.js.
To make a user facing string translateable, wrap it in the double underscore helper
To make a user-facing string translateable, wrap it in the double underscore helper
function like so:
.. code-block:: javascript
__('This string will be translated at runtime');
After adding the string, you'll need to regenerate the POT file, like so:
After adding the string, you'll need to regenerate the POT file:
::
make pot
To create a new PO file for a language in which converse.js is not yet
-------------------------------------------
Making translations file for a new language
-------------------------------------------
To create a new translations file for a language in which converse.js is not yet
translated into, do the following
.. note:: In this example we use Polish (pl), you need to substitute 'pl' to your own language's code.
@ -43,7 +53,22 @@ translated into, do the following
mkdir -p ./locale/pl/LC_MESSAGES
msginit -i ./locale/converse.pot -o ./locale/pl/LC_MESSAGES/converse.po -l pl
You can then create or update the PO file for a specific language by doing the following:
Please make sure to add the following attributes at the top of the file (under
*Content-Transfer-Encoding*). They are required as configuration settings for Jed,
the Javascript translations library that we're using.
.. code-block:: po
"domain: converse\n"
"lang: pl\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
--------------------------------------
Updating an existing translations file
--------------------------------------
You can update the `.po` file for a specific language by doing the following:
.. note:: In this example we use German (de), you need to substitute 'de' to your own language's code.
@ -57,23 +82,17 @@ To do this for ALL languages, run:
make po
The resulting PO file is then what gets translated.
If you've created a new PO file, please make sure to add the following
attributes at the top of the file (under *Content-Transfer-Encoding*). They are
required as configuration settings for Jed, the Javascript translations library
that we're using.
.. code-block:: po
"domain: converse\n"
"lang: de\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
The resulting `.po` file is then what gets translated.
Unfortunately `Jed <http://slexaxton.github.io/Jed>`_ cannot use the PO files directly. We have to generate from it
a file in JSON format and then put that in a .js file for the specific
language.
-----------------------------------------------------
Generating a Javascript file from a translations file
-----------------------------------------------------
Unfortunately `Jed <http://slexaxton.github.io/Jed>`_, which we use for
translations in converse.js cannot use the `.po` files directly. We have
to generate from it a file in JSON format and then put that in a `.js` file
for the specific language.
To generate JSON from a PO file, you'll need po2json for node.js. Run the
following command to install it (npm being the node.js package manager):
@ -86,7 +105,7 @@ You can then convert the translations into JSON format:
::
po2json locale/de/LC_MESSAGES/converse.po locale/de/LC_MESSAGES/converse.json
po2json -p -f jed -d converse locale/de/LC_MESSAGES/converse.po locale/de/LC_MESSAGES/converse.json
Now from converse.json paste the data as a value for the "locale_data" key in the
object in the language's .js file.

View File

@ -12,8 +12,15 @@
<link type="text/css" rel="stylesheet" media="screen" href="components/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="components/fontawesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="css/theme.css" />
<link type="text/css" rel="stylesheet" media="screen" href="css/converse.css" />
<script data-main="main" src="components/requirejs/require.js"></script>
<link type="text/css" rel="stylesheet" media="screen" href="css/converse.min.css" />
<script type="text/javascript" src="analytics.js"></script>
<!-- Only for development: <script data-main="main" src="components/requirejs/require.js"></script> -->
<![if gte IE 9]>
<script src="builds/converse.website.min.js"></script>
<![endif]>
<!--[if lt IE 9]>
<script src="builds/converse.website-no-otr.min.js"></script>
<![endif]-->
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
@ -145,7 +152,7 @@
<li>Custom status messages</li>
<li>Typing notifications</li>
<li>Third person messages (/me )</li>
<li>Translated into 14 languages</li>
<li>Translated into 15 languages</li>
<li>Off-the-record encryption
</ul>
</div>
@ -205,6 +212,7 @@
<li>Follow me on <a href="http://twitter.com/jcopkode" target="_blank">Twitter</a>.</li>
<li>Chat with me via XMPP: <a href="xmpp:jc@opkode.com" class="xmpp JSnocheck" title="XMPP/Jabber">jc@opkode.com</a>.</li>
<li>For technical support, please write to the mailing list: <a href="mailto:conversejs@librelist.com">conversejs@librelist.com</a>.</li>
<li>Or ask in the Converse.js chat room: <a href="xmpp:discuss@conference.conversejs.org" class="xmpp JSnocheck" title="Converse.js chat room">discuss@conference.conversejs.org</a>.</li>
<li>Also check out the <a href="http://librelist.com/browser/conversejs" target="_blank">mailing list archives</a>.</li>
<li>Please file <a target="_blank" href="https://github.com/jcbrand/converse.js/issues">bugs on Github</a>.</li>
<li>I'm available for features and <a href="http://opkode.com/contact" target="_blank">consulting</a>.</li>
@ -216,12 +224,6 @@
</section>
</body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">try { var pageTracker = _gat._getTracker("UA-2128260-8"); pageTracker._trackPageview(); } catch(err) {}</script>
<script>
require(['converse'], function (converse) {
(function () {
@ -246,7 +248,6 @@
event.preventDefault();
});
})();
converse.initialize({
bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes
i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported
@ -255,7 +256,6 @@
play_sounds: true,
roster_groups: true,
show_controlbox_by_default: true,
debug: true,
xhr_user_search: false
});
});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-01 20:51+0100\n"
"POT-Creation-Date: 2014-12-07 13:45+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,111 +17,111 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: converse.js:297
#: converse.js:302
msgid "unencrypted"
msgstr ""
#: converse.js:298
#: converse.js:303
msgid "unverified"
msgstr ""
#: converse.js:299
#: converse.js:304
msgid "verified"
msgstr ""
#: converse.js:300
#: converse.js:305
msgid "finished"
msgstr ""
#: converse.js:303
#: converse.js:308
msgid "This contact is busy"
msgstr ""
#: converse.js:304
#: converse.js:309
msgid "This contact is online"
msgstr ""
#: converse.js:305
#: converse.js:310
msgid "This contact is offline"
msgstr ""
#: converse.js:306
#: converse.js:311
msgid "This contact is unavailable"
msgstr ""
#: converse.js:307
#: converse.js:312
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:308
#: converse.js:313
msgid "This contact is away"
msgstr ""
#: converse.js:310
#: converse.js:315
msgid "Click to hide these contacts"
msgstr ""
#: converse.js:312
#: converse.js:317
msgid "My contacts"
msgstr ""
#: converse.js:313
#: converse.js:318
msgid "Pending contacts"
msgstr ""
#: converse.js:314
#: converse.js:319
msgid "Contact requests"
msgstr ""
#: converse.js:315
#: converse.js:320
msgid "Ungrouped"
msgstr ""
#: converse.js:317
#: converse.js:322
msgid "Contacts"
msgstr ""
#: converse.js:318
#: converse.js:323
msgid "Groups"
msgstr ""
#: converse.js:405
#: converse.js:410
msgid "Reconnecting"
msgstr ""
#: converse.js:445
#: converse.js:450
msgid "Error"
msgstr ""
#: converse.js:447
#: converse.js:452
msgid "Connecting"
msgstr ""
#: converse.js:449
#: converse.js:454
msgid "Authenticating"
msgstr ""
#: converse.js:451 converse.js:452
#: converse.js:456 converse.js:457
msgid "Authentication Failed"
msgstr ""
#: converse.js:597 converse.js:639
#: converse.js:602 converse.js:644
msgid "Online Contacts"
msgstr ""
#: converse.js:757
#: converse.js:762
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:769
#: converse.js:774
msgid "Generating private key."
msgstr ""
#: converse.js:770
#: converse.js:775
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:805
#: converse.js:810
msgid ""
"Authentication request from %1$s\n"
"\n"
@ -131,67 +131,67 @@ msgid ""
"%2$s"
msgstr ""
#: converse.js:814
#: converse.js:819
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:853
#: converse.js:858
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1006
#: converse.js:1011
msgid "Personal message"
msgstr ""
#: converse.js:1038
#: converse.js:1043
msgid "Are you sure you want to clear the messages from this room?"
msgstr ""
#: converse.js:1060
#: converse.js:1065
msgid "me"
msgstr ""
#: converse.js:1114
#: converse.js:1119
msgid "is typing"
msgstr ""
#: converse.js:1117
#: converse.js:1122
msgid "has stopped typing"
msgstr ""
#: converse.js:1159 converse.js:2346
#: converse.js:1164 converse.js:2351
msgid "Show this menu"
msgstr ""
#: converse.js:1160
#: converse.js:1165
msgid "Write in the third person"
msgstr ""
#: converse.js:1161 converse.js:2345
#: converse.js:1166 converse.js:2350
msgid "Remove messages"
msgstr ""
#: converse.js:1245
#: converse.js:1250
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1280
#: converse.js:1285
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1283
#: converse.js:1288
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1286
#: converse.js:1291
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1295
#: converse.js:1300
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1317
#: converse.js:1322
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -204,7 +204,7 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1330
#: converse.js:1335
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
@ -213,599 +213,607 @@ msgid ""
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1331
#: converse.js:1336
msgid "What is your security question?"
msgstr ""
#: converse.js:1333
#: converse.js:1338
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1337
#: converse.js:1342
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1452
#: converse.js:1457
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1454
#: converse.js:1459
msgid ""
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1456
#: converse.js:1461
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1458
#: converse.js:1463
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1467
#: converse.js:1472
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1469
#: converse.js:1474
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1471
#: converse.js:1476
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1473
#: converse.js:1478
msgid ""
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1483
#: converse.js:1488
msgid "Clear all messages"
msgstr ""
#: converse.js:1484
#: converse.js:1489
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1485
#: converse.js:1490
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1486
#: converse.js:1491
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1487
#: converse.js:1492
msgid "Start a call"
msgstr ""
#: converse.js:1488
#: converse.js:1493
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1489
#: converse.js:1494
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1490
#: converse.js:1495
msgid "Verify with SMP"
msgstr ""
#: converse.js:1491
#: converse.js:1496
msgid "What's this?"
msgstr ""
#: converse.js:1582
#: converse.js:1587
msgid "Online"
msgstr ""
#: converse.js:1583
#: converse.js:1588
msgid "Busy"
msgstr ""
#: converse.js:1584
#: converse.js:1589
msgid "Away"
msgstr ""
#: converse.js:1585
#: converse.js:1590
msgid "Offline"
msgstr ""
#: converse.js:1586
#: converse.js:1591
msgid "Log out"
msgstr ""
#: converse.js:1592
#: converse.js:1597
msgid "Contact name"
msgstr ""
#: converse.js:1593
#: converse.js:1598
msgid "Search"
msgstr ""
#: converse.js:1597
#: converse.js:1602
msgid "Contact username"
msgstr ""
#: converse.js:1598
#: converse.js:1603
msgid "Add"
msgstr ""
#: converse.js:1603
#: converse.js:1608
msgid "Click to add new chat contacts"
msgstr ""
#: converse.js:1604
#: converse.js:1609
msgid "Add a contact"
msgstr ""
#: converse.js:1628
#: converse.js:1633
msgid "No users found"
msgstr ""
#: converse.js:1634
#: converse.js:1639
msgid "Click to add as a chat contact"
msgstr ""
#: converse.js:1698
#: converse.js:1703
msgid "Room name"
msgstr ""
#: converse.js:1699
#: converse.js:1704
msgid "Nickname"
msgstr ""
#: converse.js:1700
#: converse.js:1705
msgid "Server"
msgstr ""
#: converse.js:1701
#: converse.js:1706
msgid "Join"
msgstr ""
#: converse.js:1702
#: converse.js:1707
msgid "Show rooms"
msgstr ""
#: converse.js:1706
#: converse.js:1711
msgid "Rooms"
msgstr ""
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1726
#: converse.js:1731
msgid "No rooms on %1$s"
msgstr ""
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1741
#: converse.js:1746
msgid "Rooms on %1$s"
msgstr ""
#: converse.js:1750
#: converse.js:1755
msgid "Click to open this room"
msgstr ""
#: converse.js:1751
#: converse.js:1756
msgid "Show more information on this room"
msgstr ""
#: converse.js:1813
#: converse.js:1818
msgid "Description:"
msgstr ""
#: converse.js:1814
#: converse.js:1819
msgid "Occupants:"
msgstr ""
#: converse.js:1815
#: converse.js:1820
msgid "Features:"
msgstr ""
#: converse.js:1816
#: converse.js:1821
msgid "Requires authentication"
msgstr ""
#: converse.js:1817
#: converse.js:1822
msgid "Hidden"
msgstr ""
#: converse.js:1818
#: converse.js:1823
msgid "Requires an invitation"
msgstr ""
#: converse.js:1819
#: converse.js:1824
msgid "Moderated"
msgstr ""
#: converse.js:1820
#: converse.js:1825
msgid "Non-anonymous"
msgstr ""
#: converse.js:1821
#: converse.js:1826
msgid "Open room"
msgstr ""
#: converse.js:1822
#: converse.js:1827
msgid "Permanent room"
msgstr ""
#: converse.js:1823
#: converse.js:1828
msgid "Public"
msgstr ""
#: converse.js:1824
#: converse.js:1829
msgid "Semi-anonymous"
msgstr ""
#: converse.js:1825
#: converse.js:1830
msgid "Temporary room"
msgstr ""
#: converse.js:1826
#: converse.js:1831
msgid "Unmoderated"
msgstr ""
#: converse.js:2094
#: converse.js:2099
msgid "This user is a moderator"
msgstr ""
#: converse.js:2095
#: converse.js:2100
msgid "This user can send messages in this room"
msgstr ""
#: converse.js:2096
#: converse.js:2101
msgid "This user can NOT send messages in this room"
msgstr ""
#: converse.js:2128
#: converse.js:2133
msgid "Invite..."
msgstr ""
#: converse.js:2129
#: converse.js:2134
msgid "Occupants"
msgstr ""
#: converse.js:2194
#: converse.js:2199
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2195
#: converse.js:2200
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2278
#: converse.js:2283
msgid "Message"
msgstr ""
#: converse.js:2314
#: converse.js:2319
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2344
#: converse.js:2349
msgid "Ban user from room"
msgstr ""
#: converse.js:2347
#: converse.js:2352
msgid "Kick user from room"
msgstr ""
#: converse.js:2348
#: converse.js:2353
msgid "Write in 3rd person"
msgstr ""
#: converse.js:2349
#: converse.js:2354
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2350
#: converse.js:2355
msgid "Change your nickname"
msgstr ""
#: converse.js:2351
#: converse.js:2356
msgid "Set room topic"
msgstr ""
#: converse.js:2352
#: converse.js:2357
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2417 converse.js:4328
#: converse.js:2423 converse.js:4334
msgid "Save"
msgstr ""
#: converse.js:2418 converse.js:4593 converse.js:4697
#: converse.js:2424 converse.js:4603 converse.js:4707
msgid "Cancel"
msgstr ""
#: converse.js:2453
#: converse.js:2459
msgid "An error occurred while trying to save the form."
msgstr ""
#: converse.js:2497
#: converse.js:2503
msgid "This chatroom requires a password"
msgstr ""
#: converse.js:2498
#: converse.js:2504
msgid "Password: "
msgstr ""
#: converse.js:2499
#: converse.js:2505
msgid "Submit"
msgstr ""
#: converse.js:2534
#: converse.js:2540
msgid "This room is not anonymous"
msgstr ""
#: converse.js:2535
#: converse.js:2541
msgid "This room now shows unavailable members"
msgstr ""
#: converse.js:2536
#: converse.js:2542
msgid "This room does not show unavailable members"
msgstr ""
#: converse.js:2537
#: converse.js:2543
msgid "Non-privacy-related room configuration has changed"
msgstr ""
#: converse.js:2538
#: converse.js:2544
msgid "Room logging is now enabled"
msgstr ""
#: converse.js:2539
#: converse.js:2545
msgid "Room logging is now disabled"
msgstr ""
#: converse.js:2540
#: converse.js:2546
msgid "This room is now non-anonymous"
msgstr ""
#: converse.js:2541
#: converse.js:2547
msgid "This room is now semi-anonymous"
msgstr ""
#: converse.js:2542
#: converse.js:2548
msgid "This room is now fully-anonymous"
msgstr ""
#: converse.js:2543
#: converse.js:2549
msgid "A new room has been created"
msgstr ""
#: converse.js:2547 converse.js:2647
#: converse.js:2553 converse.js:2653
msgid "You have been banned from this room"
msgstr ""
#: converse.js:2548
#: converse.js:2554
msgid "You have been kicked from this room"
msgstr ""
#: converse.js:2549
#: converse.js:2555
msgid "You have been removed from this room because of an affiliation change"
msgstr ""
#: converse.js:2550
#: converse.js:2556
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
#: converse.js:2551
#: converse.js:2557
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
#: converse.js:2565
#: converse.js:2571
msgid "<strong>%1$s</strong> has been banned"
msgstr ""
#: converse.js:2566
#: converse.js:2572
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr ""
#: converse.js:2567
#: converse.js:2573
msgid "<strong>%1$s</strong> has been kicked out"
msgstr ""
#: converse.js:2568
#: converse.js:2574
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
#: converse.js:2569
#: converse.js:2575
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
#: converse.js:2573
#: converse.js:2579
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2574
#: converse.js:2580
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2622 converse.js:2632
#: converse.js:2628 converse.js:2638
msgid "The reason given is: \""
msgstr ""
#: converse.js:2645
#: converse.js:2651
msgid "You are not on the member list of this room"
msgstr ""
#: converse.js:2651
#: converse.js:2657
msgid "No nickname was specified"
msgstr ""
#: converse.js:2655
#: converse.js:2661
msgid "You are not allowed to create new rooms"
msgstr ""
#: converse.js:2657
#: converse.js:2663
msgid "Your nickname doesn't conform to this room's policies"
msgstr ""
#: converse.js:2661
#: converse.js:2667
msgid "Your nickname is already taken"
msgstr ""
#: converse.js:2663
#: converse.js:2669
msgid "This room does not (yet) exist"
msgstr ""
#: converse.js:2665
#: converse.js:2671
msgid "This room has reached it's maximum number of occupants"
msgstr ""
#: converse.js:2707
#: converse.js:2713
msgid "Topic set by %1$s to: %2$s"
msgstr ""
#: converse.js:2789
#: converse.js:2795
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2793
#: converse.js:2799
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3051
#: converse.js:3057
msgid "Click to restore this chat"
msgstr ""
#: converse.js:3196
#: converse.js:3202
msgid "Minimized"
msgstr ""
#: converse.js:3292 converse.js:3310
#: converse.js:3298 converse.js:3316
msgid "Click to remove this contact"
msgstr ""
#: converse.js:3299
#: converse.js:3305
msgid "Click to accept this contact request"
msgstr ""
#: converse.js:3300
#: converse.js:3306
msgid "Click to decline this contact request"
msgstr ""
#: converse.js:3309
#: converse.js:3315
msgid "Click to chat with this contact"
msgstr ""
#: converse.js:3334
#: converse.js:3340
msgid "Are you sure you want to remove this contact?"
msgstr ""
#: converse.js:3357
#: converse.js:3363
msgid "Are you sure you want to decline this contact request?"
msgstr ""
#: converse.js:3883
#: converse.js:3889
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4299 converse.js:4376
#: converse.js:4305 converse.js:4382
msgid "I am %1$s"
msgstr ""
#: converse.js:4301 converse.js:4381
#: converse.js:4307 converse.js:4387
msgid "Click here to write a custom status message"
msgstr ""
#: converse.js:4302 converse.js:4382
#: converse.js:4308 converse.js:4388
msgid "Click to change your chat status"
msgstr ""
#: converse.js:4327
#: converse.js:4333
msgid "Custom status"
msgstr ""
#: converse.js:4356 converse.js:4364
#: converse.js:4362 converse.js:4370
msgid "online"
msgstr ""
#: converse.js:4358
#: converse.js:4364
msgid "busy"
msgstr ""
#: converse.js:4360
#: converse.js:4366
msgid "away for long"
msgstr ""
#: converse.js:4362
#: converse.js:4368
msgid "away"
msgstr ""
#: converse.js:4482
#: converse.js:4488
msgid "Your XMPP provider's domain name:"
msgstr ""
#: converse.js:4483
#: converse.js:4489
msgid "Fetch registration form"
msgstr ""
#: converse.js:4486 converse.js:4695
#: converse.js:4490
msgid "Tip: A list of public XMPP providers is available"
msgstr ""
#: converse.js:4491
msgid "here"
msgstr ""
#: converse.js:4496 converse.js:4705
msgid "Register"
msgstr ""
#: converse.js:4533
#: converse.js:4543
msgid ""
"Sorry, the given provider does not support in band account registration. "
"Please try with a different provider."
msgstr ""
#: converse.js:4594
#: converse.js:4604
msgid "Requesting a registration form from the XMPP server"
msgstr ""
#: converse.js:4629
#: converse.js:4639
msgid ""
"Something went wrong while establishing a connection with \"%1$s\". Are you "
"sure it exists?"
msgstr ""
#: converse.js:4648
#: converse.js:4658
msgid "Now logging you in"
msgstr ""
#: converse.js:4652
#: converse.js:4662
msgid "Registered successfully"
msgstr ""
#: converse.js:4700
#: converse.js:4710
msgid "Return"
msgstr ""
#: converse.js:4732
#: converse.js:4742
msgid "The provider rejected your registration attempt. "
msgstr ""
#: converse.js:4877
#: converse.js:4887
msgid "XMPP Username:"
msgstr ""
#: converse.js:4878
#: converse.js:4888
msgid "Password:"
msgstr ""
#: converse.js:4879
#: converse.js:4889
msgid "Log In"
msgstr ""
#: converse.js:4886
#: converse.js:4896
msgid "Sign in"
msgstr ""
#: converse.js:4958
#: converse.js:4970
msgid "Toggle chat"
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,11 +18,12 @@
'id',
'it',
'ja',
'nb',
'nl',
'pt_BR',
'ru',
'zh'
], function (jed, af, de, en, es, fr, he, hu, id, it, ja, nl, pt_BR, ru, zh) {
], function (jed, af, de, en, es, fr, he, hu, id, it, ja, nb, nl, pt_BR, ru, zh) {
root.locales = {
'af': af,
'de': de,
@ -34,6 +35,7 @@
'id': id,
'it': it,
'ja': ja,
'nb': nb,
'nl': nl,
'pt-br': pt_BR,
'ru': ru,

View File

@ -0,0 +1,772 @@
{
"domain": "converse",
"locale_data": {
"converse": {
"": {
"domain": "converse",
"plural_forms": "nplurals=2; plural=(n != 1);",
"lang": "nb"
},
"unencrypted": [
null,
"ukryptertß"
],
"unverified": [
null,
"uverifisert"
],
"verified": [
null,
"verifisert"
],
"finished": [
null,
"ferdig"
],
"This contact is busy": [
null,
"Denne kontakten er opptatt"
],
"This contact is online": [
null,
"Kontakten er pålogget"
],
"This contact is offline": [
null,
"Kontakten er avlogget"
],
"This contact is unavailable": [
null,
"Kontakten er utilgjengelig"
],
"This contact is away for an extended period": [
null,
"Kontakten er borte for en lengre periode"
],
"This contact is away": [
null,
"Kontakten er borte"
],
"Click to hide these contacts": [
null,
"Klikk for å skjule disse kontaktene"
],
"My contacts": [
null,
"Mine Kontakter"
],
"Pending contacts": [
null,
"Kontakter som venter på godkjenning"
],
"Contact requests": [
null,
"Kontaktforespørsler"
],
"Ungrouped": [
null,
"Ugrupperte"
],
"Contacts": [
null,
"Kontakter"
],
"Groups": [
null,
"Grupper"
],
"Reconnecting": [
null,
"Kobler til igjen"
],
"Error": [
null,
"Feil"
],
"Connecting": [
null,
"Kobler til"
],
"Authenticating": [
null,
"Godkjenner"
],
"Authentication Failed": [
null,
"Godkjenning mislyktes"
],
"Online Contacts": [
null,
"Påloggede Kontakter"
],
"Re-establishing encrypted session": [
null,
"Gjenopptar kryptert økt"
],
"Generating private key.": [
null,
"Genererer privat nøkkel"
],
"Your browser might become unresponsive.": [
null,
"Din nettleser kan bli uresponsiv"
],
"Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s": [
null,
"Godkjenningsforespørsel fra %1$s\n\nDin nettpratkontakt forsøker å bekrefte din identitet, ved å spørre deg spørsmålet under.\n\n%2$s"
],
"Could not verify this user's identify.": [
null,
"Kunne ikke bekrefte denne brukerens identitet"
],
"Exchanging private key with contact.": [
null,
"Bytter private nøkler med kontakt"
],
"Personal message": [
null,
"Personlig melding"
],
"Are you sure you want to clear the messages from this room?": [
null,
"Er du sikker på at du vil fjerne meldingene fra dette rommet?"
],
"me": [
null,
"meg"
],
"is typing": [
null,
"skriver"
],
"has stopped typing": [
null,
"har stoppet å skrive"
],
"Show this menu": [
null,
"Viser denne menyen"
],
"Write in the third person": [
null,
"Skriv i tredjeperson"
],
"Remove messages": [
null,
"Fjern meldinger"
],
"Are you sure you want to clear the messages from this chat box?": [
null,
"Er du sikker på at du vil fjerne meldingene fra denne meldingsboksen?"
],
"Your message could not be sent": [
null,
"Beskjeden din kunne ikke sendes"
],
"We received an unencrypted message": [
null,
"Vi mottok en ukryptert beskjed"
],
"We received an unreadable encrypted message": [
null,
"Vi mottok en uleselig melding"
],
"This user has requested an encrypted session.": [
null,
"Denne brukeren har ønsket en kryptert økt"
],
"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.": [
null,
"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\nOm du har bekreftet at avtrykkene matcher, klikk OK. I motsatt fall, trykk Avbryt."
],
"You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [
null,
"Du vil bli spurt etter å tilby et sikkerhetsspørsmål og siden svare på dette.\n\nDin kontakt vil så bli spurt om det samme spørsmålet, og om de svarer det nøyaktig samme svaret (det er forskjell på små og store bokstaver), vil identiteten verifiseres."
],
"What is your security question?": [
null,
"Hva er ditt Sikkerhetsspørsmål?"
],
"What is the answer to the security question?": [
null,
"Hva er svaret på ditt Sikkerhetsspørsmål?"
],
"Invalid authentication scheme provided": [
null,
"Du har vedlagt en ugyldig godkjenningsplan."
],
"Your messages are not encrypted anymore": [
null,
"Dine meldinger er ikke kryptert lenger."
],
"Your messages are now encrypted but your contact's identity has not been verified.": [
null,
"Dine meldinger er nå krypterte, men identiteten til din kontakt har ikke blitt verifisert."
],
"Your contact's identify has been verified.": [
null,
"Din kontakts identitet har blitt verifisert."
],
"Your contact has ended encryption on their end, you should do the same.": [
null,
"Din kontakt har avsluttet kryptering i sin ende, dette burde du også gjøre."
],
"Your messages are not encrypted. Click here to enable OTR encryption.": [
null,
"Dine meldinger er ikke krypterte. Klikk her for å aktivere OTR-kryptering."
],
"Your messages are encrypted, but your contact has not been verified.": [
null,
"Dine meldinger er krypterte, men din kontakt har ikke blitt verifisert."
],
"Your messages are encrypted and your contact verified.": [
null,
"Dine meldinger er krypterte og din kontakt er verifisert."
],
"Your contact has closed their end of the private session, you should do the same": [
null,
"Din kontakt har avsluttet økten i sin ende, dette burde du også gjøre."
],
"Clear all messages": [
null,
"Fjern alle meldinger"
],
"End encrypted conversation": [
null,
"Avslutt kryptert økt"
],
"Hide the list of participants": [
null,
"Skjul deltakerlisten"
],
"Refresh encrypted conversation": [
null,
"Last inn kryptert samtale på nytt"
],
"Start a call": [
null,
"Start en samtale"
],
"Start encrypted conversation": [
null,
"Start en kryptert samtale"
],
"Verify with fingerprints": [
null,
"Verifiser med Avtrykk"
],
"Verify with SMP": [
null,
"Verifiser med SMP"
],
"What's this?": [
null,
"Hva er dette?"
],
"Online": [
null,
"Pålogget"
],
"Busy": [
null,
"Opptatt"
],
"Away": [
null,
"Borte"
],
"Offline": [
null,
"Avlogget"
],
"Log out": [
null,
"Logg Av"
],
"Contact name": [
null,
"Kontaktnavn"
],
"Search": [
null,
"Søk"
],
"Contact username": [
null,
"Brukernavnet til Kontakt"
],
"Add": [
null,
"Legg Til"
],
"Click to add new chat contacts": [
null,
"Klikk for å legge til nye meldingskontakter"
],
"Add a contact": [
null,
"Legg til en Kontakt"
],
"No users found": [
null,
"Ingen brukere funnet"
],
"Click to add as a chat contact": [
null,
"Klikk for å legge til som meldingskontakt"
],
"Room name": [
null,
"Romnavn"
],
"Nickname": [
null,
"Kallenavn"
],
"Server": [
null,
"Server"
],
"Join": [
null,
"Koble til"
],
"Show rooms": [
null,
"Vis Rom"
],
"Rooms": [
null,
"Rom"
],
"No rooms on %1$s": [
null,
"Ingen rom på %1$s"
],
"Rooms on %1$s": [
null,
"Rom på %1$s"
],
"Click to open this room": [
null,
"Klikk for å åpne dette rommet"
],
"Show more information on this room": [
null,
"Vis mer informasjon om dette rommet"
],
"Description:": [
null,
"Beskrivelse:"
],
"Occupants:": [
null,
"Brukere her:"
],
"Features:": [
null,
"Egenskaper:"
],
"Requires authentication": [
null,
"Krever Godkjenning"
],
"Hidden": [
null,
"Skjult"
],
"Requires an invitation": [
null,
"Krever en invitasjon"
],
"Moderated": [
null,
"Moderert"
],
"Non-anonymous": [
null,
"Ikke-Anonym"
],
"Open room": [
null,
"Åpent Rom"
],
"Permanent room": [
null,
"Permanent Rom"
],
"Public": [
null,
"Alle"
],
"Semi-anonymous": [
null,
"Semi-anonymt"
],
"Temporary room": [
null,
"Midlertidig Rom"
],
"Unmoderated": [
null,
"Umoderert"
],
"This user is a moderator": [
null,
"Denne brukeren er moderator"
],
"This user can send messages in this room": [
null,
"Denne brukeren kan skrive meldinger i dette rommet"
],
"This user can NOT send messages in this room": [
null,
"Denne brukeren kan IKKE sende meldinger i dette rommet"
],
"Invite...": [
null,
"Invitér..."
],
"Occupants": [
null,
"Brukere her:"
],
"You are about to invite %1$s to the chat room \"%2$s\". ": [
null,
"Du er i ferd med å invitere %1$s til samtalerommet \"%2$s\". "
],
"You may optionally include a message, explaining the reason for the invitation.": [
null,
"Du kan eventuelt inkludere en melding og forklare årsaken til invitasjonen."
],
"Message": [
null,
"Melding"
],
"Error: could not execute the command": [
null,
"Feil: kunne ikke utføre kommandoen"
],
"Ban user from room": [
null,
"Utesteng bruker fra rommet"
],
"Kick user from room": [
null,
"Kast ut bruker fra rommet"
],
"Write in 3rd person": [
null,
"Skriv i tredjeperson"
],
"Remove user's ability to post messages": [
null,
"Fjern brukerens muligheter til å skrive meldinger"
],
"Change your nickname": [
null,
"Endre ditt kallenavn"
],
"Set room topic": [
null,
"Endre rommets emne"
],
"Allow muted user to post messages": [
null,
"Tillat stumme brukere å skrive meldinger"
],
"Save": [
null,
"Lagre"
],
"Cancel": [
null,
"Avbryt"
],
"An error occurred while trying to save the form.": [
null,
"En feil skjedde under lagring av skjemaet."
],
"This chatroom requires a password": [
null,
"Dette rommet krever et passord"
],
"Password: ": [
null,
"Passord:"
],
"Submit": [
null,
"Send"
],
"This room is not anonymous": [
null,
"Dette rommet er ikke anonymt"
],
"This room now shows unavailable members": [
null,
"Dette rommet viser nå utilgjengelige medlemmer"
],
"This room does not show unavailable members": [
null,
"Dette rommet viser ikke utilgjengelige medlemmer"
],
"Non-privacy-related room configuration has changed": [
null,
"Ikke-personvernsrelatert romkonfigurasjon har blitt endret"
],
"Room logging is now enabled": [
null,
"Romlogging er nå aktivert"
],
"Room logging is now disabled": [
null,
"Romlogging er nå deaktivert"
],
"This room is now non-anonymous": [
null,
"Dette rommet er nå ikke-anonymt"
],
"This room is now semi-anonymous": [
null,
"Dette rommet er nå semi-anonymt"
],
"This room is now fully-anonymous": [
null,
"Dette rommet er nå totalt anonymt"
],
"A new room has been created": [
null,
"Et nytt rom har blitt opprettet"
],
"You have been banned from this room": [
null,
"Du har blitt utestengt fra dette rommet"
],
"You have been kicked from this room": [
null,
"Du ble kastet ut av dette rommet"
],
"You have been removed from this room because of an affiliation change": [
null,
"Du har blitt fjernet fra dette rommet på grunn av en holdningsendring"
],
"You have been removed from this room because the room has changed to members-only and you're not a member": [
null,
"Du har blitt fjernet fra dette rommet fordi rommet nå kun tillater medlemmer, noe du ikke er."
],
"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [
null,
"Du har blitt fjernet fra dette rommet fordi MBC (Multi-Bruker-Chat)-tjenesten er stengt ned."
],
"<strong>%1$s</strong> has been banned": [
null,
"<strong>%1$s</strong> har blitt utestengt"
],
"<strong>%1$s</strong>'s nickname has changed": [
null,
"<strong>%1$s</strong> sitt kallenavn er endret"
],
"<strong>%1$s</strong> has been kicked out": [
null,
"<strong>%1$s</strong> ble kastet ut"
],
"<strong>%1$s</strong> has been removed because of an affiliation change": [
null,
"<strong>%1$s</strong> har blitt fjernet på grunn av en holdningsendring"
],
"<strong>%1$s</strong> has been removed for not being a member": [
null,
"<strong>%1$s</strong> har blitt fjernet på grunn av at han/hun ikke er medlem"
],
"Your nickname has been automatically changed to: <strong>%1$s</strong>": [
null,
"Ditt kallenavn har blitt automatisk endret til <strong>%1$s</strong> "
],
"Your nickname has been changed to: <strong>%1$s</strong>": [
null,
"Ditt kallenavn har blitt endret til <strong>%1$s</strong> "
],
"The reason given is: \"": [
null,
"Årsaken som er oppgitt er: \""
],
"You are not on the member list of this room": [
null,
"Du er ikke på medlemslisten til dette rommet"
],
"No nickname was specified": [
null,
"Ingen kallenavn var spesifisert"
],
"You are not allowed to create new rooms": [
null,
"Du har ikke tillatelse til å opprette nye rom"
],
"Your nickname doesn't conform to this room's policies": [
null,
"Ditt kallenavn er ikke i samsvar med rommets regler"
],
"Your nickname is already taken": [
null,
"Kallenavnet er allerede tatt"
],
"This room does not (yet) exist": [
null,
"Dette rommet eksisterer ikke (enda)"
],
"This room has reached it's maximum number of occupants": [
null,
"Dette rommet har nådd maksimalt antall brukere"
],
"Topic set by %1$s to: %2$s": [
null,
"Emnet ble endret den %1$s til: %2$s"
],
"%1$s has invited you to join a chat room: %2$s": [
null,
"%1$s har invitert deg til å bli med i chatterommet: %2$s"
],
"%1$s has invited you to join a chat room: %2$s, and left the following reason: \"%3$s\"": [
null,
"%1$s har invitert deg til å bli med i chatterommet: %2$s, og forlot selv av følgende grunn: \"%3$s\""
],
"Click to restore this chat": [
null,
"Klikk for å gjenopprette denne samtalen"
],
"Minimized": [
null,
"Minimert"
],
"Click to remove this contact": [
null,
"Klikk for å fjerne denne kontakten"
],
"Click to accept this contact request": [
null,
"Klikk for å Godta denne kontaktforespørselen"
],
"Click to decline this contact request": [
null,
"Klikk for å avslå denne kontaktforespørselen"
],
"Click to chat with this contact": [
null,
"Klikk for å chatte med denne kontakten"
],
"Are you sure you want to remove this contact?": [
null,
"Er du sikker på at du vil fjerne denne kontakten?"
],
"Are you sure you want to decline this contact request?": [
null,
"Er du sikker på at du vil avslå denne kontaktforespørselen?"
],
"Type to filter": [
null,
"Skriv til filter"
],
"I am %1$s": [
null,
"Jeg er %1$s"
],
"Click here to write a custom status message": [
null,
"Klikk her for å skrive en personlig statusmelding"
],
"Click to change your chat status": [
null,
"Klikk for å endre din meldingsstatus"
],
"Custom status": [
null,
"Personlig status"
],
"online": [
null,
"pålogget"
],
"busy": [
null,
"opptatt"
],
"away for long": [
null,
"borte lenge"
],
"away": [
null,
"borte"
],
"Your XMPP provider's domain name:": [
null,
"Din XMPP-tilbyders domenenavn:"
],
"Fetch registration form": [
null,
"Hent registreringsskjema"
],
"Tip: A list of public XMPP providers is available": [
null,
"Tips: En liste med offentlige XMPP-tilbydere er tilgjengelig"
],
"here": [
null,
"her"
],
"Register": [
null,
"Registrér deg"
],
"Sorry, the given provider does not support in band account registration. Please try with a different provider.": [
null,
"Beklager, den valgte tilbyderen støtter ikke in band kontoregistrering. Vennligst prøv igjen med en annen tilbyder. "
],
"Requesting a registration form from the XMPP server": [
null,
"Spør etter registreringsskjema fra XMPP-tjeneren"
],
"Something went wrong while establishing a connection with \"%1$s\". Are you sure it exists?": [
null,
"Noe gikk galt under etablering av forbindelse med \"%1$s\". Er du sikker på at denne eksisterer?"
],
"Now logging you in": [
null,
"Logger deg inn"
],
"Registered successfully": [
null,
"Registrering var vellykket"
],
"Return": [
null,
"Tilbake"
],
"The provider rejected your registration attempt. ": [
null,
"Tilbyderen avviste ditt registreringsforsøk."
],
"XMPP Username:": [
null,
"XMPP Brukernavn:"
],
"Password:": [
null,
"Passord:"
],
"Log In": [
null,
"Logg inn"
],
"Sign in": [
null,
"Innlogging"
],
"Toggle chat": [
null,
"Endre chatten"
]
}
}
}

View File

@ -0,0 +1,859 @@
msgid ""
msgstr ""
"Project-Id-Version: Converse JS 0.8.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-07 13:45+0100\n"
"PO-Revision-Date: 2014-12-20 10:55+0100\n"
"Last-Translator: Andreas Lorentsen <andreas.lorentsen@gmail.com>\n"
"Language-Team: \n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.8\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"domain: converse\n"
"lang: nb\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
#: converse.js:302
msgid "unencrypted"
msgstr "ukryptertß"
#: converse.js:303
msgid "unverified"
msgstr "uverifisert"
#: converse.js:304
msgid "verified"
msgstr "verifisert"
#: converse.js:305
msgid "finished"
msgstr "ferdig"
#: converse.js:308
msgid "This contact is busy"
msgstr "Denne kontakten er opptatt"
#: converse.js:309
msgid "This contact is online"
msgstr "Kontakten er pålogget"
#: converse.js:310
msgid "This contact is offline"
msgstr "Kontakten er avlogget"
#: converse.js:311
msgid "This contact is unavailable"
msgstr "Kontakten er utilgjengelig"
#: converse.js:312
msgid "This contact is away for an extended period"
msgstr "Kontakten er borte for en lengre periode"
#: converse.js:313
msgid "This contact is away"
msgstr "Kontakten er borte"
#: converse.js:315
msgid "Click to hide these contacts"
msgstr "Klikk for å skjule disse kontaktene"
#: converse.js:317
msgid "My contacts"
msgstr "Mine Kontakter"
#: converse.js:318
msgid "Pending contacts"
msgstr "Kontakter som venter på godkjenning"
#: converse.js:319
msgid "Contact requests"
msgstr "Kontaktforespørsler"
#: converse.js:320
msgid "Ungrouped"
msgstr "Ugrupperte"
#: converse.js:322
msgid "Contacts"
msgstr "Kontakter"
#: converse.js:323
msgid "Groups"
msgstr "Grupper"
#: converse.js:410
msgid "Reconnecting"
msgstr "Kobler til igjen"
#: converse.js:450
msgid "Error"
msgstr "Feil"
#: converse.js:452
msgid "Connecting"
msgstr "Kobler til"
#: converse.js:454
msgid "Authenticating"
msgstr "Godkjenner"
#: converse.js:456 converse.js:457
msgid "Authentication Failed"
msgstr "Godkjenning mislyktes"
#: converse.js:602 converse.js:644
msgid "Online Contacts"
msgstr "Påloggede Kontakter"
#: converse.js:762
msgid "Re-establishing encrypted session"
msgstr "Gjenopptar kryptert økt"
#: converse.js:774
msgid "Generating private key."
msgstr "Genererer privat nøkkel"
#: converse.js:775
msgid "Your browser might become unresponsive."
msgstr "Din nettleser kan bli uresponsiv"
#: converse.js:810
msgid ""
"Authentication request from %1$s\n"
"\n"
"Your chat contact is attempting to verify your identity, by asking you the "
"question below.\n"
"\n"
"%2$s"
msgstr ""
"Godkjenningsforespørsel fra %1$s\n"
"\n"
"Din nettpratkontakt forsøker å bekrefte din identitet, ved å spørre deg "
"spørsmålet under.\n"
"\n"
"%2$s"
#: converse.js:819
msgid "Could not verify this user's identify."
msgstr "Kunne ikke bekrefte denne brukerens identitet"
#: converse.js:858
msgid "Exchanging private key with contact."
msgstr "Bytter private nøkler med kontakt"
#: converse.js:1011
msgid "Personal message"
msgstr "Personlig melding"
#: converse.js:1043
msgid "Are you sure you want to clear the messages from this room?"
msgstr "Er du sikker på at du vil fjerne meldingene fra dette rommet?"
#: converse.js:1065
msgid "me"
msgstr "meg"
#: converse.js:1119
msgid "is typing"
msgstr "skriver"
#: converse.js:1122
msgid "has stopped typing"
msgstr "har stoppet å skrive"
#: converse.js:1164 converse.js:2351
msgid "Show this menu"
msgstr "Viser denne menyen"
#: converse.js:1165
msgid "Write in the third person"
msgstr "Skriv i tredjeperson"
#: converse.js:1166 converse.js:2350
msgid "Remove messages"
msgstr "Fjern meldinger"
#: converse.js:1250
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr "Er du sikker på at du vil fjerne meldingene fra denne meldingsboksen?"
#: converse.js:1285
msgid "Your message could not be sent"
msgstr "Beskjeden din kunne ikke sendes"
#: converse.js:1288
msgid "We received an unencrypted message"
msgstr "Vi mottok en ukryptert beskjed"
#: converse.js:1291
msgid "We received an unreadable encrypted message"
msgstr "Vi mottok en uleselig melding"
#: converse.js:1300
msgid "This user has requested an encrypted session."
msgstr "Denne brukeren har ønsket en kryptert økt"
#: converse.js:1322
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 ""
"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"
"Om du har bekreftet at avtrykkene matcher, klikk OK. I motsatt fall, trykk "
"Avbryt."
#: converse.js:1335
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
"\n"
"Your contact will then be prompted the same question and if they type the "
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
"Du vil bli spurt etter å tilby et sikkerhetsspørsmål og siden svare på "
"dette.\n"
"\n"
"Din kontakt vil så bli spurt om det samme spørsmålet, og om de svarer det "
"nøyaktig samme svaret (det er forskjell på små og store bokstaver), vil "
"identiteten verifiseres."
#: converse.js:1336
msgid "What is your security question?"
msgstr "Hva er ditt Sikkerhetsspørsmål?"
#: converse.js:1338
msgid "What is the answer to the security question?"
msgstr "Hva er svaret på ditt Sikkerhetsspørsmål?"
#: converse.js:1342
msgid "Invalid authentication scheme provided"
msgstr "Du har vedlagt en ugyldig godkjenningsplan."
#: converse.js:1457
msgid "Your messages are not encrypted anymore"
msgstr "Dine meldinger er ikke kryptert lenger."
#: converse.js:1459
msgid ""
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
"Dine meldinger er nå krypterte, men identiteten til din kontakt har ikke "
"blitt verifisert."
#: converse.js:1461
msgid "Your contact's identify has been verified."
msgstr "Din kontakts identitet har blitt verifisert."
#: converse.js:1463
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
"Din kontakt har avsluttet kryptering i sin ende, dette burde du også gjøre."
#: converse.js:1472
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
"Dine meldinger er ikke krypterte. Klikk her for å aktivere OTR-kryptering."
#: converse.js:1474
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
"Dine meldinger er krypterte, men din kontakt har ikke blitt verifisert."
#: converse.js:1476
msgid "Your messages are encrypted and your contact verified."
msgstr "Dine meldinger er krypterte og din kontakt er verifisert."
#: converse.js:1478
msgid ""
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr "Din kontakt har avsluttet økten i sin ende, dette burde du også gjøre."
#: converse.js:1488
msgid "Clear all messages"
msgstr "Fjern alle meldinger"
#: converse.js:1489
msgid "End encrypted conversation"
msgstr "Avslutt kryptert økt"
#: converse.js:1490
msgid "Hide the list of participants"
msgstr "Skjul deltakerlisten"
#: converse.js:1491
msgid "Refresh encrypted conversation"
msgstr "Last inn kryptert samtale på nytt"
#: converse.js:1492
msgid "Start a call"
msgstr "Start en samtale"
#: converse.js:1493
msgid "Start encrypted conversation"
msgstr "Start en kryptert samtale"
#: converse.js:1494
msgid "Verify with fingerprints"
msgstr "Verifiser med Avtrykk"
#: converse.js:1495
msgid "Verify with SMP"
msgstr "Verifiser med SMP"
#: converse.js:1496
msgid "What's this?"
msgstr "Hva er dette?"
#: converse.js:1587
msgid "Online"
msgstr "Pålogget"
#: converse.js:1588
msgid "Busy"
msgstr "Opptatt"
#: converse.js:1589
msgid "Away"
msgstr "Borte"
#: converse.js:1590
msgid "Offline"
msgstr "Avlogget"
#: converse.js:1591
msgid "Log out"
msgstr "Logg Av"
#: converse.js:1597
msgid "Contact name"
msgstr "Kontaktnavn"
#: converse.js:1598
msgid "Search"
msgstr "Søk"
#: converse.js:1602
msgid "Contact username"
msgstr "Brukernavnet til Kontakt"
#: converse.js:1603
msgid "Add"
msgstr "Legg Til"
#: converse.js:1608
msgid "Click to add new chat contacts"
msgstr "Klikk for å legge til nye meldingskontakter"
#: converse.js:1609
msgid "Add a contact"
msgstr "Legg til en Kontakt"
#: converse.js:1633
msgid "No users found"
msgstr "Ingen brukere funnet"
#: converse.js:1639
msgid "Click to add as a chat contact"
msgstr "Klikk for å legge til som meldingskontakt"
#: converse.js:1703
msgid "Room name"
msgstr "Romnavn"
#: converse.js:1704
msgid "Nickname"
msgstr "Kallenavn"
#: converse.js:1705
msgid "Server"
msgstr "Server"
#: converse.js:1706
msgid "Join"
msgstr "Koble til"
#: converse.js:1707
msgid "Show rooms"
msgstr "Vis Rom"
#: converse.js:1711
msgid "Rooms"
msgstr "Rom"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1731
msgid "No rooms on %1$s"
msgstr "Ingen rom på %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1746
msgid "Rooms on %1$s"
msgstr "Rom på %1$s"
#: converse.js:1755
msgid "Click to open this room"
msgstr "Klikk for å åpne dette rommet"
#: converse.js:1756
msgid "Show more information on this room"
msgstr "Vis mer informasjon om dette rommet"
#: converse.js:1818
msgid "Description:"
msgstr "Beskrivelse:"
#: converse.js:1819
msgid "Occupants:"
msgstr "Brukere her:"
#: converse.js:1820
msgid "Features:"
msgstr "Egenskaper:"
#: converse.js:1821
msgid "Requires authentication"
msgstr "Krever Godkjenning"
#: converse.js:1822
msgid "Hidden"
msgstr "Skjult"
#: converse.js:1823
msgid "Requires an invitation"
msgstr "Krever en invitasjon"
#: converse.js:1824
msgid "Moderated"
msgstr "Moderert"
#: converse.js:1825
msgid "Non-anonymous"
msgstr "Ikke-Anonym"
#: converse.js:1826
msgid "Open room"
msgstr "Åpent Rom"
#: converse.js:1827
msgid "Permanent room"
msgstr "Permanent Rom"
#: converse.js:1828
msgid "Public"
msgstr "Alle"
#: converse.js:1829
msgid "Semi-anonymous"
msgstr "Semi-anonymt"
#: converse.js:1830
msgid "Temporary room"
msgstr "Midlertidig Rom"
#: converse.js:1831
msgid "Unmoderated"
msgstr "Umoderert"
#: converse.js:2099
msgid "This user is a moderator"
msgstr "Denne brukeren er moderator"
#: converse.js:2100
msgid "This user can send messages in this room"
msgstr "Denne brukeren kan skrive meldinger i dette rommet"
#: converse.js:2101
msgid "This user can NOT send messages in this room"
msgstr "Denne brukeren kan IKKE sende meldinger i dette rommet"
#: converse.js:2133
msgid "Invite..."
msgstr "Invitér..."
#: converse.js:2134
msgid "Occupants"
msgstr "Brukere her:"
#: converse.js:2199
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr "Du er i ferd med å invitere %1$s til samtalerommet \"%2$s\". "
#: converse.js:2200
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
"Du kan eventuelt inkludere en melding og forklare årsaken til invitasjonen."
#: converse.js:2283
msgid "Message"
msgstr "Melding"
#: converse.js:2319
msgid "Error: could not execute the command"
msgstr "Feil: kunne ikke utføre kommandoen"
#: converse.js:2349
msgid "Ban user from room"
msgstr "Utesteng bruker fra rommet"
#: converse.js:2352
msgid "Kick user from room"
msgstr "Kast ut bruker fra rommet"
#: converse.js:2353
msgid "Write in 3rd person"
msgstr "Skriv i tredjeperson"
#: converse.js:2354
msgid "Remove user's ability to post messages"
msgstr "Fjern brukerens muligheter til å skrive meldinger"
#: converse.js:2355
msgid "Change your nickname"
msgstr "Endre ditt kallenavn"
#: converse.js:2356
msgid "Set room topic"
msgstr "Endre rommets emne"
#: converse.js:2357
msgid "Allow muted user to post messages"
msgstr "Tillat stumme brukere å skrive meldinger"
#: converse.js:2423 converse.js:4334
msgid "Save"
msgstr "Lagre"
#: converse.js:2424 converse.js:4603 converse.js:4707
msgid "Cancel"
msgstr "Avbryt"
#: converse.js:2459
msgid "An error occurred while trying to save the form."
msgstr "En feil skjedde under lagring av skjemaet."
#: converse.js:2503
msgid "This chatroom requires a password"
msgstr "Dette rommet krever et passord"
#: converse.js:2504
msgid "Password: "
msgstr "Passord:"
#: converse.js:2505
msgid "Submit"
msgstr "Send"
#: converse.js:2540
msgid "This room is not anonymous"
msgstr "Dette rommet er ikke anonymt"
#: converse.js:2541
msgid "This room now shows unavailable members"
msgstr "Dette rommet viser nå utilgjengelige medlemmer"
#: converse.js:2542
msgid "This room does not show unavailable members"
msgstr "Dette rommet viser ikke utilgjengelige medlemmer"
#: converse.js:2543
msgid "Non-privacy-related room configuration has changed"
msgstr "Ikke-personvernsrelatert romkonfigurasjon har blitt endret"
#: converse.js:2544
msgid "Room logging is now enabled"
msgstr "Romlogging er nå aktivert"
#: converse.js:2545
msgid "Room logging is now disabled"
msgstr "Romlogging er nå deaktivert"
#: converse.js:2546
msgid "This room is now non-anonymous"
msgstr "Dette rommet er nå ikke-anonymt"
#: converse.js:2547
msgid "This room is now semi-anonymous"
msgstr "Dette rommet er nå semi-anonymt"
#: converse.js:2548
msgid "This room is now fully-anonymous"
msgstr "Dette rommet er nå totalt anonymt"
#: converse.js:2549
msgid "A new room has been created"
msgstr "Et nytt rom har blitt opprettet"
#: converse.js:2553 converse.js:2653
msgid "You have been banned from this room"
msgstr "Du har blitt utestengt fra dette rommet"
#: converse.js:2554
msgid "You have been kicked from this room"
msgstr "Du ble kastet ut av dette rommet"
#: converse.js:2555
msgid "You have been removed from this room because of an affiliation change"
msgstr "Du har blitt fjernet fra dette rommet på grunn av en holdningsendring"
#: converse.js:2556
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
"Du har blitt fjernet fra dette rommet fordi rommet nå kun tillater "
"medlemmer, noe du ikke er."
#: converse.js:2557
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
"Du har blitt fjernet fra dette rommet fordi MBC (Multi-Bruker-Chat)-"
"tjenesten er stengt ned."
#: converse.js:2571
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> har blitt utestengt"
#: converse.js:2572
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr "<strong>%1$s</strong> sitt kallenavn er endret"
#: converse.js:2573
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> ble kastet ut"
#: converse.js:2574
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
"<strong>%1$s</strong> har blitt fjernet på grunn av en holdningsendring"
#: converse.js:2575
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
"<strong>%1$s</strong> har blitt fjernet på grunn av at han/hun ikke er medlem"
#: converse.js:2579
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr "Ditt kallenavn har blitt automatisk endret til <strong>%1$s</strong> "
#: converse.js:2580
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr "Ditt kallenavn har blitt endret til <strong>%1$s</strong> "
#: converse.js:2628 converse.js:2638
msgid "The reason given is: \""
msgstr "Årsaken som er oppgitt er: \""
#: converse.js:2651
msgid "You are not on the member list of this room"
msgstr "Du er ikke på medlemslisten til dette rommet"
#: converse.js:2657
msgid "No nickname was specified"
msgstr "Ingen kallenavn var spesifisert"
#: converse.js:2661
msgid "You are not allowed to create new rooms"
msgstr "Du har ikke tillatelse til å opprette nye rom"
#: converse.js:2663
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Ditt kallenavn er ikke i samsvar med rommets regler"
#: converse.js:2667
msgid "Your nickname is already taken"
msgstr "Kallenavnet er allerede tatt"
#: converse.js:2669
msgid "This room does not (yet) exist"
msgstr "Dette rommet eksisterer ikke (enda)"
#: converse.js:2671
msgid "This room has reached it's maximum number of occupants"
msgstr "Dette rommet har nådd maksimalt antall brukere"
#: converse.js:2713
msgid "Topic set by %1$s to: %2$s"
msgstr "Emnet ble endret den %1$s til: %2$s"
#: converse.js:2795
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr "%1$s har invitert deg til å bli med i chatterommet: %2$s"
#: converse.js:2799
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
"%1$s har invitert deg til å bli med i chatterommet: %2$s, og forlot selv av "
"følgende grunn: \"%3$s\""
#: converse.js:3057
msgid "Click to restore this chat"
msgstr "Klikk for å gjenopprette denne samtalen"
#: converse.js:3202
msgid "Minimized"
msgstr "Minimert"
#: converse.js:3298 converse.js:3316
msgid "Click to remove this contact"
msgstr "Klikk for å fjerne denne kontakten"
#: converse.js:3305
msgid "Click to accept this contact request"
msgstr "Klikk for å Godta denne kontaktforespørselen"
#: converse.js:3306
msgid "Click to decline this contact request"
msgstr "Klikk for å avslå denne kontaktforespørselen"
#: converse.js:3315
msgid "Click to chat with this contact"
msgstr "Klikk for å chatte med denne kontakten"
#: converse.js:3340
msgid "Are you sure you want to remove this contact?"
msgstr "Er du sikker på at du vil fjerne denne kontakten?"
#: converse.js:3363
msgid "Are you sure you want to decline this contact request?"
msgstr "Er du sikker på at du vil avslå denne kontaktforespørselen?"
#: converse.js:3889
msgid "Type to filter"
msgstr "Skriv til filter"
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4305 converse.js:4382
msgid "I am %1$s"
msgstr "Jeg er %1$s"
#: converse.js:4307 converse.js:4387
msgid "Click here to write a custom status message"
msgstr "Klikk her for å skrive en personlig statusmelding"
#: converse.js:4308 converse.js:4388
msgid "Click to change your chat status"
msgstr "Klikk for å endre din meldingsstatus"
#: converse.js:4333
msgid "Custom status"
msgstr "Personlig status"
#: converse.js:4362 converse.js:4370
msgid "online"
msgstr "pålogget"
#: converse.js:4364
msgid "busy"
msgstr "opptatt"
#: converse.js:4366
msgid "away for long"
msgstr "borte lenge"
#: converse.js:4368
msgid "away"
msgstr "borte"
#: converse.js:4488
msgid "Your XMPP provider's domain name:"
msgstr "Din XMPP-tilbyders domenenavn:"
#: converse.js:4489
msgid "Fetch registration form"
msgstr "Hent registreringsskjema"
#: converse.js:4490
msgid "Tip: A list of public XMPP providers is available"
msgstr "Tips: En liste med offentlige XMPP-tilbydere er tilgjengelig"
#: converse.js:4491
msgid "here"
msgstr "her"
#: converse.js:4496 converse.js:4705
msgid "Register"
msgstr "Registrér deg"
#: converse.js:4543
msgid ""
"Sorry, the given provider does not support in band account registration. "
"Please try with a different provider."
msgstr ""
"Beklager, den valgte tilbyderen støtter ikke in band kontoregistrering. "
"Vennligst prøv igjen med en annen tilbyder. "
#: converse.js:4604
msgid "Requesting a registration form from the XMPP server"
msgstr "Spør etter registreringsskjema fra XMPP-tjeneren"
#: converse.js:4639
msgid ""
"Something went wrong while establishing a connection with \"%1$s\". Are you "
"sure it exists?"
msgstr ""
"Noe gikk galt under etablering av forbindelse med \"%1$s\". Er du sikker på "
"at denne eksisterer?"
#: converse.js:4658
msgid "Now logging you in"
msgstr "Logger deg inn"
#: converse.js:4662
msgid "Registered successfully"
msgstr "Registrering var vellykket"
#: converse.js:4710
msgid "Return"
msgstr "Tilbake"
#: converse.js:4742
msgid "The provider rejected your registration attempt. "
msgstr "Tilbyderen avviste ditt registreringsforsøk."
#: converse.js:4887
msgid "XMPP Username:"
msgstr "XMPP Brukernavn:"
#: converse.js:4888
msgid "Password:"
msgstr "Passord:"
#: converse.js:4889
msgid "Log In"
msgstr "Logg inn"
#: converse.js:4896
msgid "Sign in"
msgstr "Innlogging"
#: converse.js:4970
msgid "Toggle chat"
msgstr "Endre chatten"

786
locale/nb/LC_MESSAGES/nb.js Normal file
View File

@ -0,0 +1,786 @@
(function (root, factory) {
var translations = {
"domain": "converse",
"locale_data": {
"converse": {
"": {
"domain": "converse",
"plural_forms": "nplurals=2; plural=(n != 1);",
"lang": "nb"
},
"unencrypted": [
null,
"ukryptertß"
],
"unverified": [
null,
"uverifisert"
],
"verified": [
null,
"verifisert"
],
"finished": [
null,
"ferdig"
],
"This contact is busy": [
null,
"Denne kontakten er opptatt"
],
"This contact is online": [
null,
"Kontakten er pålogget"
],
"This contact is offline": [
null,
"Kontakten er avlogget"
],
"This contact is unavailable": [
null,
"Kontakten er utilgjengelig"
],
"This contact is away for an extended period": [
null,
"Kontakten er borte for en lengre periode"
],
"This contact is away": [
null,
"Kontakten er borte"
],
"Click to hide these contacts": [
null,
"Klikk for å skjule disse kontaktene"
],
"My contacts": [
null,
"Mine Kontakter"
],
"Pending contacts": [
null,
"Kontakter som venter på godkjenning"
],
"Contact requests": [
null,
"Kontaktforespørsler"
],
"Ungrouped": [
null,
"Ugrupperte"
],
"Contacts": [
null,
"Kontakter"
],
"Groups": [
null,
"Grupper"
],
"Reconnecting": [
null,
"Kobler til igjen"
],
"Error": [
null,
"Feil"
],
"Connecting": [
null,
"Kobler til"
],
"Authenticating": [
null,
"Godkjenner"
],
"Authentication Failed": [
null,
"Godkjenning mislyktes"
],
"Online Contacts": [
null,
"Påloggede Kontakter"
],
"Re-establishing encrypted session": [
null,
"Gjenopptar kryptert økt"
],
"Generating private key.": [
null,
"Genererer privat nøkkel"
],
"Your browser might become unresponsive.": [
null,
"Din nettleser kan bli uresponsiv"
],
"Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s": [
null,
"Godkjenningsforespørsel fra %1$s\n\nDin nettpratkontakt forsøker å bekrefte din identitet, ved å spørre deg spørsmålet under.\n\n%2$s"
],
"Could not verify this user's identify.": [
null,
"Kunne ikke bekrefte denne brukerens identitet"
],
"Exchanging private key with contact.": [
null,
"Bytter private nøkler med kontakt"
],
"Personal message": [
null,
"Personlig melding"
],
"Are you sure you want to clear the messages from this room?": [
null,
"Er du sikker på at du vil fjerne meldingene fra dette rommet?"
],
"me": [
null,
"meg"
],
"is typing": [
null,
"skriver"
],
"has stopped typing": [
null,
"har stoppet å skrive"
],
"Show this menu": [
null,
"Viser denne menyen"
],
"Write in the third person": [
null,
"Skriv i tredjeperson"
],
"Remove messages": [
null,
"Fjern meldinger"
],
"Are you sure you want to clear the messages from this chat box?": [
null,
"Er du sikker på at du vil fjerne meldingene fra denne meldingsboksen?"
],
"Your message could not be sent": [
null,
"Beskjeden din kunne ikke sendes"
],
"We received an unencrypted message": [
null,
"Vi mottok en ukryptert beskjed"
],
"We received an unreadable encrypted message": [
null,
"Vi mottok en uleselig melding"
],
"This user has requested an encrypted session.": [
null,
"Denne brukeren har ønsket en kryptert økt"
],
"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.": [
null,
"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\nOm du har bekreftet at avtrykkene matcher, klikk OK. I motsatt fall, trykk Avbryt."
],
"You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [
null,
"Du vil bli spurt etter å tilby et sikkerhetsspørsmål og siden svare på dette.\n\nDin kontakt vil så bli spurt om det samme spørsmålet, og om de svarer det nøyaktig samme svaret (det er forskjell på små og store bokstaver), vil identiteten verifiseres."
],
"What is your security question?": [
null,
"Hva er ditt Sikkerhetsspørsmål?"
],
"What is the answer to the security question?": [
null,
"Hva er svaret på ditt Sikkerhetsspørsmål?"
],
"Invalid authentication scheme provided": [
null,
"Du har vedlagt en ugyldig godkjenningsplan."
],
"Your messages are not encrypted anymore": [
null,
"Dine meldinger er ikke kryptert lenger."
],
"Your messages are now encrypted but your contact's identity has not been verified.": [
null,
"Dine meldinger er nå krypterte, men identiteten til din kontakt har ikke blitt verifisert."
],
"Your contact's identify has been verified.": [
null,
"Din kontakts identitet har blitt verifisert."
],
"Your contact has ended encryption on their end, you should do the same.": [
null,
"Din kontakt har avsluttet kryptering i sin ende, dette burde du også gjøre."
],
"Your messages are not encrypted. Click here to enable OTR encryption.": [
null,
"Dine meldinger er ikke krypterte. Klikk her for å aktivere OTR-kryptering."
],
"Your messages are encrypted, but your contact has not been verified.": [
null,
"Dine meldinger er krypterte, men din kontakt har ikke blitt verifisert."
],
"Your messages are encrypted and your contact verified.": [
null,
"Dine meldinger er krypterte og din kontakt er verifisert."
],
"Your contact has closed their end of the private session, you should do the same": [
null,
"Din kontakt har avsluttet økten i sin ende, dette burde du også gjøre."
],
"Clear all messages": [
null,
"Fjern alle meldinger"
],
"End encrypted conversation": [
null,
"Avslutt kryptert økt"
],
"Hide the list of participants": [
null,
"Skjul deltakerlisten"
],
"Refresh encrypted conversation": [
null,
"Last inn kryptert samtale på nytt"
],
"Start a call": [
null,
"Start en samtale"
],
"Start encrypted conversation": [
null,
"Start en kryptert samtale"
],
"Verify with fingerprints": [
null,
"Verifiser med Avtrykk"
],
"Verify with SMP": [
null,
"Verifiser med SMP"
],
"What's this?": [
null,
"Hva er dette?"
],
"Online": [
null,
"Pålogget"
],
"Busy": [
null,
"Opptatt"
],
"Away": [
null,
"Borte"
],
"Offline": [
null,
"Avlogget"
],
"Log out": [
null,
"Logg Av"
],
"Contact name": [
null,
"Kontaktnavn"
],
"Search": [
null,
"Søk"
],
"Contact username": [
null,
"Brukernavnet til Kontakt"
],
"Add": [
null,
"Legg Til"
],
"Click to add new chat contacts": [
null,
"Klikk for å legge til nye meldingskontakter"
],
"Add a contact": [
null,
"Legg til en Kontakt"
],
"No users found": [
null,
"Ingen brukere funnet"
],
"Click to add as a chat contact": [
null,
"Klikk for å legge til som meldingskontakt"
],
"Room name": [
null,
"Romnavn"
],
"Nickname": [
null,
"Kallenavn"
],
"Server": [
null,
"Server"
],
"Join": [
null,
"Koble til"
],
"Show rooms": [
null,
"Vis Rom"
],
"Rooms": [
null,
"Rom"
],
"No rooms on %1$s": [
null,
"Ingen rom på %1$s"
],
"Rooms on %1$s": [
null,
"Rom på %1$s"
],
"Click to open this room": [
null,
"Klikk for å åpne dette rommet"
],
"Show more information on this room": [
null,
"Vis mer informasjon om dette rommet"
],
"Description:": [
null,
"Beskrivelse:"
],
"Occupants:": [
null,
"Brukere her:"
],
"Features:": [
null,
"Egenskaper:"
],
"Requires authentication": [
null,
"Krever Godkjenning"
],
"Hidden": [
null,
"Skjult"
],
"Requires an invitation": [
null,
"Krever en invitasjon"
],
"Moderated": [
null,
"Moderert"
],
"Non-anonymous": [
null,
"Ikke-Anonym"
],
"Open room": [
null,
"Åpent Rom"
],
"Permanent room": [
null,
"Permanent Rom"
],
"Public": [
null,
"Alle"
],
"Semi-anonymous": [
null,
"Semi-anonymt"
],
"Temporary room": [
null,
"Midlertidig Rom"
],
"Unmoderated": [
null,
"Umoderert"
],
"This user is a moderator": [
null,
"Denne brukeren er moderator"
],
"This user can send messages in this room": [
null,
"Denne brukeren kan skrive meldinger i dette rommet"
],
"This user can NOT send messages in this room": [
null,
"Denne brukeren kan IKKE sende meldinger i dette rommet"
],
"Invite...": [
null,
"Invitér..."
],
"Occupants": [
null,
"Brukere her:"
],
"You are about to invite %1$s to the chat room \"%2$s\". ": [
null,
"Du er i ferd med å invitere %1$s til samtalerommet \"%2$s\". "
],
"You may optionally include a message, explaining the reason for the invitation.": [
null,
"Du kan eventuelt inkludere en melding og forklare årsaken til invitasjonen."
],
"Message": [
null,
"Melding"
],
"Error: could not execute the command": [
null,
"Feil: kunne ikke utføre kommandoen"
],
"Ban user from room": [
null,
"Utesteng bruker fra rommet"
],
"Kick user from room": [
null,
"Kast ut bruker fra rommet"
],
"Write in 3rd person": [
null,
"Skriv i tredjeperson"
],
"Remove user's ability to post messages": [
null,
"Fjern brukerens muligheter til å skrive meldinger"
],
"Change your nickname": [
null,
"Endre ditt kallenavn"
],
"Set room topic": [
null,
"Endre rommets emne"
],
"Allow muted user to post messages": [
null,
"Tillat stumme brukere å skrive meldinger"
],
"Save": [
null,
"Lagre"
],
"Cancel": [
null,
"Avbryt"
],
"An error occurred while trying to save the form.": [
null,
"En feil skjedde under lagring av skjemaet."
],
"This chatroom requires a password": [
null,
"Dette rommet krever et passord"
],
"Password: ": [
null,
"Passord:"
],
"Submit": [
null,
"Send"
],
"This room is not anonymous": [
null,
"Dette rommet er ikke anonymt"
],
"This room now shows unavailable members": [
null,
"Dette rommet viser nå utilgjengelige medlemmer"
],
"This room does not show unavailable members": [
null,
"Dette rommet viser ikke utilgjengelige medlemmer"
],
"Non-privacy-related room configuration has changed": [
null,
"Ikke-personvernsrelatert romkonfigurasjon har blitt endret"
],
"Room logging is now enabled": [
null,
"Romlogging er nå aktivert"
],
"Room logging is now disabled": [
null,
"Romlogging er nå deaktivert"
],
"This room is now non-anonymous": [
null,
"Dette rommet er nå ikke-anonymt"
],
"This room is now semi-anonymous": [
null,
"Dette rommet er nå semi-anonymt"
],
"This room is now fully-anonymous": [
null,
"Dette rommet er nå totalt anonymt"
],
"A new room has been created": [
null,
"Et nytt rom har blitt opprettet"
],
"You have been banned from this room": [
null,
"Du har blitt utestengt fra dette rommet"
],
"You have been kicked from this room": [
null,
"Du ble kastet ut av dette rommet"
],
"You have been removed from this room because of an affiliation change": [
null,
"Du har blitt fjernet fra dette rommet på grunn av en holdningsendring"
],
"You have been removed from this room because the room has changed to members-only and you're not a member": [
null,
"Du har blitt fjernet fra dette rommet fordi rommet nå kun tillater medlemmer, noe du ikke er."
],
"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [
null,
"Du har blitt fjernet fra dette rommet fordi MBC (Multi-Bruker-Chat)-tjenesten er stengt ned."
],
"<strong>%1$s</strong> has been banned": [
null,
"<strong>%1$s</strong> har blitt utestengt"
],
"<strong>%1$s</strong>'s nickname has changed": [
null,
"<strong>%1$s</strong> sitt kallenavn er endret"
],
"<strong>%1$s</strong> has been kicked out": [
null,
"<strong>%1$s</strong> ble kastet ut"
],
"<strong>%1$s</strong> has been removed because of an affiliation change": [
null,
"<strong>%1$s</strong> har blitt fjernet på grunn av en holdningsendring"
],
"<strong>%1$s</strong> has been removed for not being a member": [
null,
"<strong>%1$s</strong> har blitt fjernet på grunn av at han/hun ikke er medlem"
],
"Your nickname has been automatically changed to: <strong>%1$s</strong>": [
null,
"Ditt kallenavn har blitt automatisk endret til <strong>%1$s</strong> "
],
"Your nickname has been changed to: <strong>%1$s</strong>": [
null,
"Ditt kallenavn har blitt endret til <strong>%1$s</strong> "
],
"The reason given is: \"": [
null,
"Årsaken som er oppgitt er: \""
],
"You are not on the member list of this room": [
null,
"Du er ikke på medlemslisten til dette rommet"
],
"No nickname was specified": [
null,
"Ingen kallenavn var spesifisert"
],
"You are not allowed to create new rooms": [
null,
"Du har ikke tillatelse til å opprette nye rom"
],
"Your nickname doesn't conform to this room's policies": [
null,
"Ditt kallenavn er ikke i samsvar med rommets regler"
],
"Your nickname is already taken": [
null,
"Kallenavnet er allerede tatt"
],
"This room does not (yet) exist": [
null,
"Dette rommet eksisterer ikke (enda)"
],
"This room has reached it's maximum number of occupants": [
null,
"Dette rommet har nådd maksimalt antall brukere"
],
"Topic set by %1$s to: %2$s": [
null,
"Emnet ble endret den %1$s til: %2$s"
],
"%1$s has invited you to join a chat room: %2$s": [
null,
"%1$s har invitert deg til å bli med i chatterommet: %2$s"
],
"%1$s has invited you to join a chat room: %2$s, and left the following reason: \"%3$s\"": [
null,
"%1$s har invitert deg til å bli med i chatterommet: %2$s, og forlot selv av følgende grunn: \"%3$s\""
],
"Click to restore this chat": [
null,
"Klikk for å gjenopprette denne samtalen"
],
"Minimized": [
null,
"Minimert"
],
"Click to remove this contact": [
null,
"Klikk for å fjerne denne kontakten"
],
"Click to accept this contact request": [
null,
"Klikk for å Godta denne kontaktforespørselen"
],
"Click to decline this contact request": [
null,
"Klikk for å avslå denne kontaktforespørselen"
],
"Click to chat with this contact": [
null,
"Klikk for å chatte med denne kontakten"
],
"Are you sure you want to remove this contact?": [
null,
"Er du sikker på at du vil fjerne denne kontakten?"
],
"Are you sure you want to decline this contact request?": [
null,
"Er du sikker på at du vil avslå denne kontaktforespørselen?"
],
"Type to filter": [
null,
"Skriv til filter"
],
"I am %1$s": [
null,
"Jeg er %1$s"
],
"Click here to write a custom status message": [
null,
"Klikk her for å skrive en personlig statusmelding"
],
"Click to change your chat status": [
null,
"Klikk for å endre din meldingsstatus"
],
"Custom status": [
null,
"Personlig status"
],
"online": [
null,
"pålogget"
],
"busy": [
null,
"opptatt"
],
"away for long": [
null,
"borte lenge"
],
"away": [
null,
"borte"
],
"Your XMPP provider's domain name:": [
null,
"Din XMPP-tilbyders domenenavn:"
],
"Fetch registration form": [
null,
"Hent registreringsskjema"
],
"Tip: A list of public XMPP providers is available": [
null,
"Tips: En liste med offentlige XMPP-tilbydere er tilgjengelig"
],
"here": [
null,
"her"
],
"Register": [
null,
"Registrér deg"
],
"Sorry, the given provider does not support in band account registration. Please try with a different provider.": [
null,
"Beklager, den valgte tilbyderen støtter ikke in band kontoregistrering. Vennligst prøv igjen med en annen tilbyder. "
],
"Requesting a registration form from the XMPP server": [
null,
"Spør etter registreringsskjema fra XMPP-tjeneren"
],
"Something went wrong while establishing a connection with \"%1$s\". Are you sure it exists?": [
null,
"Noe gikk galt under etablering av forbindelse med \"%1$s\". Er du sikker på at denne eksisterer?"
],
"Now logging you in": [
null,
"Logger deg inn"
],
"Registered successfully": [
null,
"Registrering var vellykket"
],
"Return": [
null,
"Tilbake"
],
"The provider rejected your registration attempt. ": [
null,
"Tilbyderen avviste ditt registreringsforsøk."
],
"XMPP Username:": [
null,
"XMPP Brukernavn:"
],
"Password:": [
null,
"Passord:"
],
"Log In": [
null,
"Logg inn"
],
"Sign in": [
null,
"Innlogging"
],
"Toggle chat": [
null,
"Endre chatten"
]
}
}
};
if (typeof define === 'function' && define.amd) {
define("nb", ['jed'], function () {
return factory(new Jed(translations));
});
} else {
if (!window.locales) {
window.locales = {};
}
window.locales.nb = factory(new Jed(translations));
}
}(this, function (nb) {
return nb;
}));

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.8.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-01 20:51+0100\n"
"POT-Creation-Date: 2014-12-07 13:45+0100\n"
"PO-Revision-Date: 2014-10-21 13:13+0200\n"
"Last-Translator: Dev Account <info@elkom.com.tw>\n"
"Language-Team: Polish\n"
@ -19,111 +19,111 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: converse.js:297
#: converse.js:302
msgid "unencrypted"
msgstr ""
#: converse.js:298
#: converse.js:303
msgid "unverified"
msgstr ""
#: converse.js:299
#: converse.js:304
msgid "verified"
msgstr ""
#: converse.js:300
#: converse.js:305
msgid "finished"
msgstr ""
#: converse.js:303
#: converse.js:308
msgid "This contact is busy"
msgstr ""
#: converse.js:304
#: converse.js:309
msgid "This contact is online"
msgstr ""
#: converse.js:305
#: converse.js:310
msgid "This contact is offline"
msgstr ""
#: converse.js:306
#: converse.js:311
msgid "This contact is unavailable"
msgstr ""
#: converse.js:307
#: converse.js:312
msgid "This contact is away for an extended period"
msgstr ""
#: converse.js:308
#: converse.js:313
msgid "This contact is away"
msgstr ""
#: converse.js:310
#: converse.js:315
msgid "Click to hide these contacts"
msgstr ""
#: converse.js:312
#: converse.js:317
msgid "My contacts"
msgstr ""
#: converse.js:313
#: converse.js:318
msgid "Pending contacts"
msgstr ""
#: converse.js:314
#: converse.js:319
msgid "Contact requests"
msgstr ""
#: converse.js:315
#: converse.js:320
msgid "Ungrouped"
msgstr ""
#: converse.js:317
#: converse.js:322
msgid "Contacts"
msgstr ""
#: converse.js:318
#: converse.js:323
msgid "Groups"
msgstr ""
#: converse.js:405
#: converse.js:410
msgid "Reconnecting"
msgstr ""
#: converse.js:445
#: converse.js:450
msgid "Error"
msgstr ""
#: converse.js:447
#: converse.js:452
msgid "Connecting"
msgstr ""
#: converse.js:449
#: converse.js:454
msgid "Authenticating"
msgstr ""
#: converse.js:451 converse.js:452
#: converse.js:456 converse.js:457
msgid "Authentication Failed"
msgstr ""
#: converse.js:597 converse.js:639
#: converse.js:602 converse.js:644
msgid "Online Contacts"
msgstr ""
#: converse.js:757
#: converse.js:762
msgid "Re-establishing encrypted session"
msgstr ""
#: converse.js:769
#: converse.js:774
msgid "Generating private key."
msgstr ""
#: converse.js:770
#: converse.js:775
msgid "Your browser might become unresponsive."
msgstr ""
#: converse.js:805
#: converse.js:810
msgid ""
"Authentication request from %1$s\n"
"\n"
@ -133,67 +133,67 @@ msgid ""
"%2$s"
msgstr ""
#: converse.js:814
#: converse.js:819
msgid "Could not verify this user's identify."
msgstr ""
#: converse.js:853
#: converse.js:858
msgid "Exchanging private key with contact."
msgstr ""
#: converse.js:1006
#: converse.js:1011
msgid "Personal message"
msgstr ""
#: converse.js:1038
#: converse.js:1043
msgid "Are you sure you want to clear the messages from this room?"
msgstr ""
#: converse.js:1060
#: converse.js:1065
msgid "me"
msgstr ""
#: converse.js:1114
#: converse.js:1119
msgid "is typing"
msgstr ""
#: converse.js:1117
#: converse.js:1122
msgid "has stopped typing"
msgstr ""
#: converse.js:1159 converse.js:2346
#: converse.js:1164 converse.js:2351
msgid "Show this menu"
msgstr ""
#: converse.js:1160
#: converse.js:1165
msgid "Write in the third person"
msgstr ""
#: converse.js:1161 converse.js:2345
#: converse.js:1166 converse.js:2350
msgid "Remove messages"
msgstr ""
#: converse.js:1245
#: converse.js:1250
msgid "Are you sure you want to clear the messages from this chat box?"
msgstr ""
#: converse.js:1280
#: converse.js:1285
msgid "Your message could not be sent"
msgstr ""
#: converse.js:1283
#: converse.js:1288
msgid "We received an unencrypted message"
msgstr ""
#: converse.js:1286
#: converse.js:1291
msgid "We received an unreadable encrypted message"
msgstr ""
#: converse.js:1295
#: converse.js:1300
msgid "This user has requested an encrypted session."
msgstr ""
#: converse.js:1317
#: converse.js:1322
msgid ""
"Here are the fingerprints, please confirm them with %1$s, outside of this "
"chat.\n"
@ -206,7 +206,7 @@ msgid ""
"Cancel."
msgstr ""
#: converse.js:1330
#: converse.js:1335
msgid ""
"You will be prompted to provide a security question and then an answer to "
"that question.\n"
@ -215,599 +215,607 @@ msgid ""
"exact same answer (case sensitive), their identity will be verified."
msgstr ""
#: converse.js:1331
#: converse.js:1336
msgid "What is your security question?"
msgstr ""
#: converse.js:1333
#: converse.js:1338
msgid "What is the answer to the security question?"
msgstr ""
#: converse.js:1337
#: converse.js:1342
msgid "Invalid authentication scheme provided"
msgstr ""
#: converse.js:1452
#: converse.js:1457
msgid "Your messages are not encrypted anymore"
msgstr ""
#: converse.js:1454
#: converse.js:1459
msgid ""
"Your messages are now encrypted but your contact's identity has not been "
"verified."
msgstr ""
#: converse.js:1456
#: converse.js:1461
msgid "Your contact's identify has been verified."
msgstr ""
#: converse.js:1458
#: converse.js:1463
msgid "Your contact has ended encryption on their end, you should do the same."
msgstr ""
#: converse.js:1467
#: converse.js:1472
msgid "Your messages are not encrypted. Click here to enable OTR encryption."
msgstr ""
#: converse.js:1469
#: converse.js:1474
msgid "Your messages are encrypted, but your contact has not been verified."
msgstr ""
#: converse.js:1471
#: converse.js:1476
msgid "Your messages are encrypted and your contact verified."
msgstr ""
#: converse.js:1473
#: converse.js:1478
msgid ""
"Your contact has closed their end of the private session, you should do the "
"same"
msgstr ""
#: converse.js:1483
#: converse.js:1488
msgid "Clear all messages"
msgstr ""
#: converse.js:1484
#: converse.js:1489
msgid "End encrypted conversation"
msgstr ""
#: converse.js:1485
#: converse.js:1490
msgid "Hide the list of participants"
msgstr ""
#: converse.js:1486
#: converse.js:1491
msgid "Refresh encrypted conversation"
msgstr ""
#: converse.js:1487
#: converse.js:1492
msgid "Start a call"
msgstr ""
#: converse.js:1488
#: converse.js:1493
msgid "Start encrypted conversation"
msgstr ""
#: converse.js:1489
#: converse.js:1494
msgid "Verify with fingerprints"
msgstr ""
#: converse.js:1490
#: converse.js:1495
msgid "Verify with SMP"
msgstr ""
#: converse.js:1491
#: converse.js:1496
msgid "What's this?"
msgstr ""
#: converse.js:1582
#: converse.js:1587
msgid "Online"
msgstr ""
#: converse.js:1583
#: converse.js:1588
msgid "Busy"
msgstr ""
#: converse.js:1584
#: converse.js:1589
msgid "Away"
msgstr ""
#: converse.js:1585
#: converse.js:1590
msgid "Offline"
msgstr ""
#: converse.js:1586
#: converse.js:1591
msgid "Log out"
msgstr ""
#: converse.js:1592
#: converse.js:1597
msgid "Contact name"
msgstr ""
#: converse.js:1593
#: converse.js:1598
msgid "Search"
msgstr ""
#: converse.js:1597
#: converse.js:1602
msgid "Contact username"
msgstr ""
#: converse.js:1598
#: converse.js:1603
msgid "Add"
msgstr ""
#: converse.js:1603
#: converse.js:1608
msgid "Click to add new chat contacts"
msgstr ""
#: converse.js:1604
#: converse.js:1609
msgid "Add a contact"
msgstr ""
#: converse.js:1628
#: converse.js:1633
msgid "No users found"
msgstr ""
#: converse.js:1634
#: converse.js:1639
msgid "Click to add as a chat contact"
msgstr ""
#: converse.js:1698
#: converse.js:1703
msgid "Room name"
msgstr ""
#: converse.js:1699
#: converse.js:1704
msgid "Nickname"
msgstr ""
#: converse.js:1700
#: converse.js:1705
msgid "Server"
msgstr ""
#: converse.js:1701
#: converse.js:1706
msgid "Join"
msgstr ""
#: converse.js:1702
#: converse.js:1707
msgid "Show rooms"
msgstr ""
#: converse.js:1706
#: converse.js:1711
msgid "Rooms"
msgstr ""
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:1726
#: converse.js:1731
msgid "No rooms on %1$s"
msgstr ""
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:1741
#: converse.js:1746
msgid "Rooms on %1$s"
msgstr ""
#: converse.js:1750
#: converse.js:1755
msgid "Click to open this room"
msgstr ""
#: converse.js:1751
#: converse.js:1756
msgid "Show more information on this room"
msgstr ""
#: converse.js:1813
#: converse.js:1818
msgid "Description:"
msgstr ""
#: converse.js:1814
#: converse.js:1819
msgid "Occupants:"
msgstr ""
#: converse.js:1815
#: converse.js:1820
msgid "Features:"
msgstr ""
#: converse.js:1816
#: converse.js:1821
msgid "Requires authentication"
msgstr ""
#: converse.js:1817
#: converse.js:1822
msgid "Hidden"
msgstr ""
#: converse.js:1818
#: converse.js:1823
msgid "Requires an invitation"
msgstr ""
#: converse.js:1819
#: converse.js:1824
msgid "Moderated"
msgstr ""
#: converse.js:1820
#: converse.js:1825
msgid "Non-anonymous"
msgstr ""
#: converse.js:1821
#: converse.js:1826
msgid "Open room"
msgstr ""
#: converse.js:1822
#: converse.js:1827
msgid "Permanent room"
msgstr ""
#: converse.js:1823
#: converse.js:1828
msgid "Public"
msgstr ""
#: converse.js:1824
#: converse.js:1829
msgid "Semi-anonymous"
msgstr ""
#: converse.js:1825
#: converse.js:1830
msgid "Temporary room"
msgstr ""
#: converse.js:1826
#: converse.js:1831
msgid "Unmoderated"
msgstr ""
#: converse.js:2094
#: converse.js:2099
msgid "This user is a moderator"
msgstr ""
#: converse.js:2095
#: converse.js:2100
msgid "This user can send messages in this room"
msgstr ""
#: converse.js:2096
#: converse.js:2101
msgid "This user can NOT send messages in this room"
msgstr ""
#: converse.js:2128
#: converse.js:2133
msgid "Invite..."
msgstr ""
#: converse.js:2129
#: converse.js:2134
msgid "Occupants"
msgstr ""
#: converse.js:2194
#: converse.js:2199
msgid "You are about to invite %1$s to the chat room \"%2$s\". "
msgstr ""
#: converse.js:2195
#: converse.js:2200
msgid ""
"You may optionally include a message, explaining the reason for the "
"invitation."
msgstr ""
#: converse.js:2278
#: converse.js:2283
msgid "Message"
msgstr ""
#: converse.js:2314
#: converse.js:2319
msgid "Error: could not execute the command"
msgstr ""
#: converse.js:2344
#: converse.js:2349
msgid "Ban user from room"
msgstr ""
#: converse.js:2347
#: converse.js:2352
msgid "Kick user from room"
msgstr ""
#: converse.js:2348
#: converse.js:2353
msgid "Write in 3rd person"
msgstr ""
#: converse.js:2349
#: converse.js:2354
msgid "Remove user's ability to post messages"
msgstr ""
#: converse.js:2350
#: converse.js:2355
msgid "Change your nickname"
msgstr ""
#: converse.js:2351
#: converse.js:2356
msgid "Set room topic"
msgstr ""
#: converse.js:2352
#: converse.js:2357
msgid "Allow muted user to post messages"
msgstr ""
#: converse.js:2417 converse.js:4328
#: converse.js:2423 converse.js:4334
msgid "Save"
msgstr ""
#: converse.js:2418 converse.js:4593 converse.js:4697
#: converse.js:2424 converse.js:4603 converse.js:4707
msgid "Cancel"
msgstr ""
#: converse.js:2453
#: converse.js:2459
msgid "An error occurred while trying to save the form."
msgstr ""
#: converse.js:2497
#: converse.js:2503
msgid "This chatroom requires a password"
msgstr ""
#: converse.js:2498
#: converse.js:2504
msgid "Password: "
msgstr ""
#: converse.js:2499
#: converse.js:2505
msgid "Submit"
msgstr ""
#: converse.js:2534
#: converse.js:2540
msgid "This room is not anonymous"
msgstr ""
#: converse.js:2535
#: converse.js:2541
msgid "This room now shows unavailable members"
msgstr ""
#: converse.js:2536
#: converse.js:2542
msgid "This room does not show unavailable members"
msgstr ""
#: converse.js:2537
#: converse.js:2543
msgid "Non-privacy-related room configuration has changed"
msgstr ""
#: converse.js:2538
#: converse.js:2544
msgid "Room logging is now enabled"
msgstr ""
#: converse.js:2539
#: converse.js:2545
msgid "Room logging is now disabled"
msgstr ""
#: converse.js:2540
#: converse.js:2546
msgid "This room is now non-anonymous"
msgstr ""
#: converse.js:2541
#: converse.js:2547
msgid "This room is now semi-anonymous"
msgstr ""
#: converse.js:2542
#: converse.js:2548
msgid "This room is now fully-anonymous"
msgstr ""
#: converse.js:2543
#: converse.js:2549
msgid "A new room has been created"
msgstr ""
#: converse.js:2547 converse.js:2647
#: converse.js:2553 converse.js:2653
msgid "You have been banned from this room"
msgstr ""
#: converse.js:2548
#: converse.js:2554
msgid "You have been kicked from this room"
msgstr ""
#: converse.js:2549
#: converse.js:2555
msgid "You have been removed from this room because of an affiliation change"
msgstr ""
#: converse.js:2550
#: converse.js:2556
msgid ""
"You have been removed from this room because the room has changed to members-"
"only and you're not a member"
msgstr ""
#: converse.js:2551
#: converse.js:2557
msgid ""
"You have been removed from this room because the MUC (Multi-user chat) "
"service is being shut down."
msgstr ""
#: converse.js:2565
#: converse.js:2571
msgid "<strong>%1$s</strong> has been banned"
msgstr ""
#: converse.js:2566
#: converse.js:2572
msgid "<strong>%1$s</strong>'s nickname has changed"
msgstr ""
#: converse.js:2567
#: converse.js:2573
msgid "<strong>%1$s</strong> has been kicked out"
msgstr ""
#: converse.js:2568
#: converse.js:2574
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr ""
#: converse.js:2569
#: converse.js:2575
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr ""
#: converse.js:2573
#: converse.js:2579
msgid "Your nickname has been automatically changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2574
#: converse.js:2580
msgid "Your nickname has been changed to: <strong>%1$s</strong>"
msgstr ""
#: converse.js:2622 converse.js:2632
#: converse.js:2628 converse.js:2638
msgid "The reason given is: \""
msgstr ""
#: converse.js:2645
#: converse.js:2651
msgid "You are not on the member list of this room"
msgstr ""
#: converse.js:2651
#: converse.js:2657
msgid "No nickname was specified"
msgstr ""
#: converse.js:2655
#: converse.js:2661
msgid "You are not allowed to create new rooms"
msgstr ""
#: converse.js:2657
#: converse.js:2663
msgid "Your nickname doesn't conform to this room's policies"
msgstr ""
#: converse.js:2661
#: converse.js:2667
msgid "Your nickname is already taken"
msgstr ""
#: converse.js:2663
#: converse.js:2669
msgid "This room does not (yet) exist"
msgstr ""
#: converse.js:2665
#: converse.js:2671
msgid "This room has reached it's maximum number of occupants"
msgstr ""
#: converse.js:2707
#: converse.js:2713
msgid "Topic set by %1$s to: %2$s"
msgstr ""
#: converse.js:2789
#: converse.js:2795
msgid "%1$s has invited you to join a chat room: %2$s"
msgstr ""
#: converse.js:2793
#: converse.js:2799
msgid ""
"%1$s has invited you to join a chat room: %2$s, and left the following "
"reason: \"%3$s\""
msgstr ""
#: converse.js:3051
#: converse.js:3057
msgid "Click to restore this chat"
msgstr ""
#: converse.js:3196
#: converse.js:3202
msgid "Minimized"
msgstr ""
#: converse.js:3292 converse.js:3310
#: converse.js:3298 converse.js:3316
msgid "Click to remove this contact"
msgstr ""
#: converse.js:3299
#: converse.js:3305
msgid "Click to accept this contact request"
msgstr ""
#: converse.js:3300
#: converse.js:3306
msgid "Click to decline this contact request"
msgstr ""
#: converse.js:3309
#: converse.js:3315
msgid "Click to chat with this contact"
msgstr ""
#: converse.js:3334
#: converse.js:3340
msgid "Are you sure you want to remove this contact?"
msgstr ""
#: converse.js:3357
#: converse.js:3363
msgid "Are you sure you want to decline this contact request?"
msgstr ""
#: converse.js:3883
#: converse.js:3889
msgid "Type to filter"
msgstr ""
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:4299 converse.js:4376
#: converse.js:4305 converse.js:4382
msgid "I am %1$s"
msgstr ""
#: converse.js:4301 converse.js:4381
#: converse.js:4307 converse.js:4387
msgid "Click here to write a custom status message"
msgstr ""
#: converse.js:4302 converse.js:4382
#: converse.js:4308 converse.js:4388
msgid "Click to change your chat status"
msgstr ""
#: converse.js:4327
#: converse.js:4333
msgid "Custom status"
msgstr ""
#: converse.js:4356 converse.js:4364
#: converse.js:4362 converse.js:4370
msgid "online"
msgstr ""
#: converse.js:4358
#: converse.js:4364
msgid "busy"
msgstr ""
#: converse.js:4360
#: converse.js:4366
msgid "away for long"
msgstr ""
#: converse.js:4362
#: converse.js:4368
msgid "away"
msgstr ""
#: converse.js:4482
#: converse.js:4488
msgid "Your XMPP provider's domain name:"
msgstr ""
#: converse.js:4483
#: converse.js:4489
msgid "Fetch registration form"
msgstr ""
#: converse.js:4486 converse.js:4695
#: converse.js:4490
msgid "Tip: A list of public XMPP providers is available"
msgstr ""
#: converse.js:4491
msgid "here"
msgstr ""
#: converse.js:4496 converse.js:4705
msgid "Register"
msgstr ""
#: converse.js:4533
#: converse.js:4543
msgid ""
"Sorry, the given provider does not support in band account registration. "
"Please try with a different provider."
msgstr ""
#: converse.js:4594
#: converse.js:4604
msgid "Requesting a registration form from the XMPP server"
msgstr ""
#: converse.js:4629
#: converse.js:4639
msgid ""
"Something went wrong while establishing a connection with \"%1$s\". Are you "
"sure it exists?"
msgstr ""
#: converse.js:4648
#: converse.js:4658
msgid "Now logging you in"
msgstr ""
#: converse.js:4652
#: converse.js:4662
msgid "Registered successfully"
msgstr ""
#: converse.js:4700
#: converse.js:4710
msgid "Return"
msgstr ""
#: converse.js:4732
#: converse.js:4742
msgid "The provider rejected your registration attempt. "
msgstr ""
#: converse.js:4877
#: converse.js:4887
msgid "XMPP Username:"
msgstr ""
#: converse.js:4878
#: converse.js:4888
msgid "Password:"
msgstr ""
#: converse.js:4879
#: converse.js:4889
msgid "Log In"
msgstr ""
#: converse.js:4886
#: converse.js:4896
msgid "Sign in"
msgstr ""
#: converse.js:4958
#: converse.js:4970
msgid "Toggle chat"
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -68,6 +68,7 @@ require.config({
"id": "locale/id/LC_MESSAGES/id",
"it": "locale/it/LC_MESSAGES/it",
"ja": "locale/ja/LC_MESSAGES/ja",
"nb": "locale/nb/LC_MESSAGES/nb",
"nl": "locale/nl/LC_MESSAGES/nl",
"pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR",
"ru": "locale/ru/LC_MESSAGES/ru",

View File

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

View File

@ -410,6 +410,44 @@
}, converse));
}, converse));
it("are shown in the roster when show_only_online_users", $.proxy(function () {
converse.show_only_online_users = true;
runs(function () {
_addContacts();
});
waits(50);
spyOn(this.rosterview, 'update').andCallThrough();
runs($.proxy(function () {
expect(this.rosterview.$el.is(':visible')).toEqual(true);
expect(this.rosterview.update).toHaveBeenCalled();
}, converse));
waits(300); // Needed, due to debounce
runs ($.proxy(function () {
expect(this.rosterview.$el.find('dd:visible').length).toBe(3);
expect(this.rosterview.$el.find('dt:visible').length).toBe(1);
}, converse));
converse.show_only_online_users = false;
}, converse));
it("are shown in the roster when hide_offline_users", $.proxy(function () {
converse.hide_offline_users = true;
runs(function () {
_addContacts();
});
waits(50);
spyOn(this.rosterview, 'update').andCallThrough();
runs($.proxy(function () {
expect(this.rosterview.$el.is(':visible')).toEqual(true);
expect(this.rosterview.update).toHaveBeenCalled();
}, converse));
waits(300); // Needed, due to debounce
runs ($.proxy(function () {
expect(this.rosterview.$el.find('dd:visible').length).toBe(3);
expect(this.rosterview.$el.find('dt:visible').length).toBe(1);
}, converse));
converse.hide_offline_users = false;
}, converse));
it("can be removed by the user", $.proxy(function () {
runs($.proxy(function () {
_addContacts();