Merge branch 'master' into otr

Conflicts:
	converse.js
This commit is contained in:
JC Brand 2013-09-10 23:33:30 +02:00
commit 00cb015d6a
16 changed files with 1495 additions and 47 deletions

View File

@ -1,6 +1,11 @@
Changelog
=========
0.6.2 (Unreleased)
------------------
- French translations. [tdesvenain]
0.6.2 (2013-08-29)
------------------

View File

@ -2947,9 +2947,9 @@
template: _.template(
'<form id="converse-login">' +
'<label>'+__('XMPP/Jabber Username:')+'</label>' +
'<input type="text" id="jid">' +
'<input type="username" name="jid">' +
'<label>'+__('Password:')+'</label>' +
'<input type="password" id="password">' +
'<input type="password" name="password">' +
'<input class="login-submit" type="submit" value="'+__('Log In')+'">' +
'</form">'),
@ -2974,7 +2974,7 @@
},
initialize: function (cfg) {
cfg.$parent.append(this.$el.html(this.template()));
cfg.$parent.html(this.$el.html(this.template()));
this.$tabs = cfg.$parent.parent().find('#controlbox-tabs');
this.model.on('connection-fail', function () { this.showConnectButton(); }, this);
this.model.on('auth-fail', function () { this.showConnectButton(); }, this);
@ -2987,11 +2987,10 @@
},
authenticate: function (ev) {
ev.preventDefault();
var $form = $(ev.target),
$jid_input = $form.find('input#jid'),
$jid_input = $form.find('input[name=jid]'),
jid = $jid_input.val(),
$pw_input = $form.find('input#password'),
$pw_input = $form.find('input[name=password]'),
password = $pw_input.val(),
$bsu_input = null,
errors = false;
@ -3014,6 +3013,7 @@
}
if (errors) { return; }
this.connect($form, jid, password);
return false;
},
remove: function () {

Binary file not shown.

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 4e01f0b4332cc0ad20271406d2d00beb
config: f3d07787913495cdb19115593573816a
tags: fbb0d17656682115ca4d033fb2f83ba1

View File

@ -602,7 +602,7 @@ You can then create or update the PO file for a specific language by doing the f
::
msgmerge ./locale/af/LC_MESSAGES/converse.po ./locale/converse.pot -U
msgmerge ./locale/de/LC_MESSAGES/converse.po ./locale/converse.pot -U
This PO file is then what gets translated.
@ -614,11 +614,11 @@ that we're using.
::
"domain: converse\n"
"lang: af\n"
"lang: de\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
Unfortunately Jed cannot use the PO files directly. We have to generate from it
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.
@ -633,7 +633,7 @@ You can then convert the translations into JSON format:
::
po2json locale/af/LC_MESSAGES/converse.po locale/af/LC_MESSAGES/converse.json
po2json 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.
@ -644,7 +644,7 @@ create or update the file ./locale/LC_MESSAGES/de.js with the following code:
::
(function (root, factory) {
define("af", ['jed'], function () {
define("de", ['jed'], function () {
return factory(new Jed({
"domain": "converse",
"locale_data": {

View File

@ -9,7 +9,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index &mdash; Converse.js 0.6.0 documentation</title>
<title>Index &mdash; Converse.js 0.6.2 documentation</title>
<link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.6.0',
VERSION: '0.6.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -26,7 +26,7 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Converse.js 0.6.0 documentation" href="index.html" />
<link rel="top" title="Converse.js 0.6.2 documentation" href="index.html" />
</head>
<body>
<div id="header_wrap" class="outer">
@ -51,7 +51,7 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
accesskey="I">index</a></li>
<li><a href="index.html">Converse.js 0.6.0 documentation</a> &raquo;</li>
<li><a href="index.html">Converse.js 0.6.2 documentation</a> &raquo;</li>
</ul>
</div>
<section id="main_content" class="inner">
@ -80,7 +80,7 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
>index</a></li>
<li><a href="index.html">Converse.js 0.6.0 documentation</a> &raquo;</li>
<li><a href="index.html">Converse.js 0.6.2 documentation</a> &raquo;</li>
</ul>
</div>
</div>

View File

@ -7,7 +7,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Quickstart (to get a demo up and running) &mdash; Converse.js 0.6.0 documentation</title>
<title>Quickstart (to get a demo up and running) &mdash; Converse.js 0.6.2 documentation</title>
<link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -15,7 +15,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.6.0',
VERSION: '0.6.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -24,7 +24,7 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Converse.js 0.6.0 documentation" href="#" />
<link rel="top" title="Converse.js 0.6.2 documentation" href="#" />
</head>
<body>
<div id="header_wrap" class="outer">
@ -49,7 +49,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li><a href="#">Converse.js 0.6.0 documentation</a> &raquo;</li>
<li><a href="#">Converse.js 0.6.2 documentation</a> &raquo;</li>
</ul>
</div>
<section id="main_content" class="inner">
@ -550,7 +550,7 @@ function like so:</p>
<div class="highlight-python"><pre>make pot</pre>
</div>
<p>You can then create or update the PO file for a specific language by doing the following:</p>
<div class="highlight-python"><pre>msgmerge ./locale/af/LC_MESSAGES/converse.po ./locale/converse.pot -U</pre>
<div class="highlight-python"><pre>msgmerge ./locale/de/LC_MESSAGES/converse.po ./locale/converse.pot -U</pre>
</div>
<p>This PO file is then what gets translated.</p>
<p>If you&#8217;ve created a new PO file, please make sure to add the following
@ -558,11 +558,11 @@ attributes at the top of the file (under <em>Content-Transfer-Encoding</em>). Th
required as configuration settings for Jed, the Javascript translations library
that we&#8217;re using.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="s">&quot;domain: converse</span><span class="se">\n</span><span class="s">&quot;</span>
<span class="s">&quot;lang: af</span><span class="se">\n</span><span class="s">&quot;</span>
<span class="s">&quot;lang: de</span><span class="se">\n</span><span class="s">&quot;</span>
<span class="s">&quot;plural_forms: nplurals=2; plural=(n != 1);</span><span class="se">\n</span><span class="s">&quot;</span>
</pre></div>
</div>
<p>Unfortunately Jed cannot use the PO files directly. We have to generate from it
<p>Unfortunately <a class="reference external" href="http://slexaxton.github.io/Jed">Jed</a> 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.</p>
<p>To generate JSON from a PO file, you&#8217;ll need po2json for node.js. Run the
@ -570,14 +570,14 @@ following command to install it (npm being the node.js package manager):</p>
<div class="highlight-python"><pre>npm install po2json</pre>
</div>
<p>You can then convert the translations into JSON format:</p>
<div class="highlight-python"><pre>po2json locale/af/LC_MESSAGES/converse.po locale/af/LC_MESSAGES/converse.json</pre>
<div class="highlight-python"><pre>po2json locale/de/LC_MESSAGES/converse.po locale/de/LC_MESSAGES/converse.json</pre>
</div>
<p>Now from converse.json paste the data as a value for the &#8220;locale_data&#8221; key in the
object in the language&#8217;s .js file.</p>
<p>So, if you are for example translating into German (language code &#8216;de&#8217;), you&#8217;ll
create or update the file ./locale/LC_MESSAGES/de.js with the following code:</p>
<div class="highlight-python"><pre>(function (root, factory) {
define("af", ['jed'], function () {
define("de", ['jed'], function () {
return factory(new Jed({
"domain": "converse",
"locale_data": {
@ -613,7 +613,7 @@ those hoops you had to jump through.</p>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li><a href="#">Converse.js 0.6.0 documentation</a> &raquo;</li>
<li><a href="#">Converse.js 0.6.2 documentation</a> &raquo;</li>
</ul>
</div>
</div>

View File

@ -1,6 +1,6 @@
# Sphinx inventory version 2
# Project: Converse.js
# Version: 0.6.0
# Version: 0.6.2
# The remainder of this file is compressed using zlib.
xÚmÎÁ
à à{Ÿ"°³ƒ]÷;

View File

@ -7,7 +7,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search &mdash; Converse.js 0.6.0 documentation</title>
<title>Search &mdash; Converse.js 0.6.2 documentation</title>
<link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -15,7 +15,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.6.0',
VERSION: '0.6.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script>
<link rel="top" title="Converse.js 0.6.0 documentation" href="index.html" />
<link rel="top" title="Converse.js 0.6.2 documentation" href="index.html" />
<script type="text/javascript">
jQuery(function() { Search.loadIndex("searchindex.js"); });
</script>
@ -55,7 +55,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li><a href="index.html">Converse.js 0.6.0 documentation</a> &raquo;</li>
<li><a href="index.html">Converse.js 0.6.2 documentation</a> &raquo;</li>
</ul>
</div>
<section id="main_content" class="inner">
@ -100,7 +100,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li><a href="index.html">Converse.js 0.6.0 documentation</a> &raquo;</li>
<li><a href="index.html">Converse.js 0.6.2 documentation</a> &raquo;</li>
</ul>
</div>
</div>

File diff suppressed because one or more lines are too long

View File

@ -602,7 +602,7 @@ You can then create or update the PO file for a specific language by doing the f
::
msgmerge ./locale/af/LC_MESSAGES/converse.po ./locale/converse.pot -U
msgmerge ./locale/de/LC_MESSAGES/converse.po ./locale/converse.pot -U
This PO file is then what gets translated.
@ -614,11 +614,11 @@ that we're using.
::
"domain: converse\n"
"lang: af\n"
"lang: de\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
Unfortunately Jed cannot use the PO files directly. We have to generate from it
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.
@ -633,7 +633,7 @@ You can then convert the translations into JSON format:
::
po2json locale/af/LC_MESSAGES/converse.po locale/af/LC_MESSAGES/converse.json
po2json 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.
@ -644,7 +644,7 @@ create or update the file ./locale/LC_MESSAGES/de.js with the following code:
::
(function (root, factory) {
define("af", ['jed'], function () {
define("de", ['jed'], function () {
return factory(new Jed({
"domain": "converse",
"locale_data": {

View File

@ -54,7 +54,7 @@
<li>Custom status messages</li>
<li>Typing notifications</li>
<li>Third person messages (/me )</li>
<li>Translated into multiple languages (af, de, es, it, pt-BR)</li>
<li>Translated into multiple languages (af, de, es, fr, it, pt-BR)</li>
</ul>
<h2>Screencasts</h2>
@ -198,7 +198,7 @@
bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes
debug: true ,
hide_muc_server: false,
i18n: locales['fr'], // Refer to ./locale/locales.js to see which locales are supported
i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported
prebind: false,
show_controlbox_by_default: true,
xhr_user_search: false,

View File

@ -0,0 +1,465 @@
{
"converse": {
"": {
"Project-Id-Version": "Converse.js 0.4",
"Report-Msgid-Bugs-To": "",
"POT-Creation-Date": "2013-06-01 23:03+0200",
"PO-Revision-Date": "2013-07-22 18:13-0400",
"Last-Translator": "Leonardo J. Caballero G. <leonardocaballero@gmail.com>",
"Language-Team": "ES <LL@li.org>",
"MIME-Version": "1.0",
"Content-Type": "text/plain; charset=UTF-8",
"Content-Transfer-Encoding": "8bit",
"Plural-Forms": "nplurals=2; plural=(n != 1);",
"plural_forms": "nplurals=2; plural=(n != 1);",
"Language": "es",
"lang": "es",
"Language-Code": "es",
"Language-Name": "Español",
"Preferred-Encodings": "utf-8 latin1",
"Domain": "converse",
"domain": "converse",
"X-Is-Fallback-For": "es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve"
},
"Show this menu": [
null,
"Afficher ce menu"
],
"Write in the third person": [
null,
"Écrire à la troisième personne"
],
"Remove messages": [
null,
"Effacer les messages"
],
"Personal message": [
null,
"Message personnel"
],
"Contacts": [
null,
"Contacts"
],
"Online": [
null,
"En ligne"
],
"Busy": [
null,
"Occupé"
],
"Away": [
null,
"Absent"
],
"Offline": [
null,
"Déconnecté"
],
"Click to add new chat contacts": [
null,
"Cliquez pour ajouter de nouveaux contacts"
],
"Add a contact": [
null,
"Ajouter un contact"
],
"Contact username": [
null,
"Nom du contact"
],
"Add": [
null,
"Ajouter"
],
"Contact name": [
null,
"Nom du contact"
],
"Search": [
null,
"Rechercher"
],
"No users found": [
null,
"Aucun utilisateur trouvé"
],
"Click to add as a chat contact": [
null,
"Cliquer pour ajouter aux contacts de chat"
],
"Click to open this room": [
null,
"Cliquer pour ouvrir ce salon"
],
"Show more information on this room": [
null,
"Afficher davantage d'informations sur ce salon"
],
"Description:": [
null,
"Description :"
],
"Occupants:": [
null,
"Participants :"
],
"Features:": [
null,
"Caractéristiques :"
],
"Requires authentication": [
null,
"Nécessite une authentification"
],
"Hidden": [
null,
"Masqué"
],
"Requires an invitation": [
null,
"Nécessite une invitation"
],
"Moderated": [
null,
"Modéré"
],
"Non-anonymous": [
null,
"Non-anonyme"
],
"Open room": [
null,
"Ouvrir un salon"
],
"Permanent room": [
null,
"Salon permanent"
],
"Public": [
null,
"Public"
],
"Semi-anonymous": [
null,
"Semi-anonyme"
],
"Temporary room": [
null,
"Salon temporaire"
],
"Unmoderated": [
null,
"Non modéré"
],
"Rooms": [
null,
"Salons"
],
"Room name": [
null,
"Numéro de salon"
],
"Nickname": [
null,
"Alias"
],
"Server": [
null,
"Serveur"
],
"Join": [
null,
"Rejoindre"
],
"Show rooms": [
null,
"Afficher les salons"
],
"No rooms on %1$s": [
null,
"Aucun salon dans %1$s"
],
"Rooms on %1$s": [
null,
"Salons dans %1$s"
],
"Set chatroom topic": [
null,
"Indiquer le sujet du salon"
],
"Kick user from chatroom": [
null,
"Expulser l'utilisateur du salon."
],
"Ban user from chatroom": [
null,
"Bannir l'utilisateur du salon."
],
"Message": [
null,
"Message"
],
"Save": [
null,
"Enregistrer"
],
"Cancel": [
null,
"Annuler"
],
"An error occurred while trying to save the form.": [
null,
"Une erreur est survenue lors de l'enregistrement du formulaire."
],
"This chatroom requires a password": [
null,
"Ce salon nécessite un mot de passe."
],
"Password: ": [
null,
"Mot de passe : "
],
"Submit": [
null,
"Soumettre"
],
"This room is not anonymous": [
null,
"Ce salon n'est pas anonyme"
],
"This room now shows unavailable members": [
null,
"Ce salon affiche maintenant des membres indisponibles"
],
"This room does not show unavailable members": [
null,
"Ce salon n'affiche pas les membres indisponibles"
],
"Non-privacy-related room configuration has changed": [
null,
"Les paramètres du salon non liés à la confidentialité ont été modifiés"
],
"Room logging is now enabled": [
null,
"Le logging du salon est activé"
],
"Room logging is now disabled": [
null,
"Le logging du salon est désactivé"
],
"This room is now non-anonymous": [
null,
"Ce salon est maintenant non-anonyme"
],
"This room is now semi-anonymous": [
null,
"Ce salon est maintenant semi-anonyme"
],
"This room is now fully-anonymous": [
null,
"Ce salon est maintenant entièrement anonyme"
],
"A new room has been created": [
null,
"Un nouveau salon a été créé"
],
"Your nickname has been changed": [
null,
"Votre alias a été modifié"
],
"<strong>%1$s</strong> has been banned": [
null,
"<strong>%1$s</strong> a été banni"
],
"<strong>%1$s</strong> has been kicked out": [
null,
"<strong>%1$s</strong> a été expulsé"
],
"<strong>%1$s</strong> has been removed because of an affiliation change": [
null,
"<strong>%1$s</strong> a été supprimé à cause d'un changement d'affiliation"
],
"<strong>%1$s</strong> has been removed for not being a member": [
null,
"<strong>%1$s</strong> a été supprimé car il n'est pas membre"
],
"You have been banned from this room": [
null,
"Vous avez été banni de ce salon"
],
"You have been kicked from this room": [
null,
"Vous avez été expulsé de ce salon"
],
"You have been removed from this room because of an affiliation change": [
null,
"Vous avez été retiré de ce salon du fait d'un changement d'affiliation"
],
"You have been removed from this room because the room has changed to members-only and you're not a member": [
null,
"Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux membres et vous n'êtes pas membre"
],
"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [
null,
"Vous avez été retiré de ce salon parce que le service de chat multi-utilisateur a été désactivé."
],
"You are not on the member list of this room": [
null,
"Vous n'êtes pas dans la liste des membres de ce salon"
],
"No nickname was specified": [
null,
"Aucun alias n'a été indiqué"
],
"You are not allowed to create new rooms": [
null,
"Vous n'êtes pas autorisé à créer des salons"
],
"Your nickname doesn't conform to this room's policies": [
null,
"Votre alias n'est pas conforme à la politique de ce salon"
],
"Your nickname is already taken": [
null,
"Votre alias est déjà utilisé"
],
"This room does not (yet) exist": [
null,
"Ce salon n'existe pas encore"
],
"This room has reached it's maximum number of occupants": [
null,
"Ce salon a atteint la limite maximale d'occupants"
],
"Topic set by %1$s to: %2$s": [
null,
"Le sujet '%1$s' a été défini par %2$s"
],
"This user is a moderator": [
null,
"Cet utilisateur est modérateur"
],
"This user can send messages in this room": [
null,
"Cet utilisateur peut envoyer des messages dans ce salon"
],
"This user can NOT send messages in this room": [
null,
"Cet utilisateur ne peut PAS envoyer de messages dans ce salon"
],
"Click to chat with this contact": [
null,
"Cliquez pour discuter avec ce contact"
],
"Click to remove this contact": [
null,
"Cliquez pour supprimer ce contact"
],
"Contact requests": [
null,
"Demandes de contacts"
],
"My contacts": [
null,
"Mes contacts"
],
"Pending contacts": [
null,
"Contacts en attente"
],
"Custom status": [
null,
"Statut personnel"
],
"Click to change your chat status": [
null,
"Cliquez pour changer votre statut"
],
"Click here to write a custom status message": [
null,
"Cliquez ici pour indiquer votre statut personnel"
],
"online": [
null,
"en ligne"
],
"busy": [
null,
"occupé"
],
"away for long": [
null,
"absent pour une longue durée"
],
"away": [
null,
"absent"
],
"I am %1$s": [
null,
"Je suis %1$s"
],
"Sign in": [
null,
"S'inscrire"
],
"XMPP/Jabber Username:": [
null,
"Nom d'utilisateur XMPP/Jabber"
],
"Password:": [
null,
"Mot de passe :"
],
"Log In": [
null,
"Se connecter"
],
"BOSH Service URL:": [
null,
"URL du service BOSH:"
],
"Connected": [
null,
"Connecté"
],
"Disconnected": [
null,
"Déconnecté"
],
"Error": [
null,
"Erreur"
],
"Connecting": [
null,
"Connection"
],
"Connection Failed": [
null,
"La connection a échoué"
],
"Authenticating": [
null,
"Authentification"
],
"Authentication Failed": [
null,
"L'authentification a échoué"
],
"Disconnecting": [
null,
"Déconnection"
],
"Attached": [
null,
"Attaché"
],
"Online Contacts": [
null,
"Contacts en ligne"
]
}
}

View File

@ -0,0 +1,493 @@
# Spanish translations for Converse.js package.
# Copyright (C) 2013 Jan-Carel Brand
# This file is distributed under the same license as the Converse.js package.
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: Converse.js 0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-06-01 23:03+0200\n"
"PO-Revision-Date: 2013-07-22 18:13-0400\n"
"Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>\n"
"Language-Team: ES <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"plural_forms: nplurals=2; plural=(n != 1);\n"
"Language: es\n"
"lang: es\n"
"Language-Code: es\n"
"Language-Name: Español\n"
"Preferred-Encodings: utf-8 latin1\n"
"Domain: converse\n"
"domain: converse\n"
"X-Is-Fallback-For: es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve\n"
#: converse.js:397
#: converse.js:1128
msgid "Show this menu"
msgstr "Afficher ce menu"
#: converse.js:398
#: converse.js:1129
msgid "Write in the third person"
msgstr "Écrire à la troisième personne"
#: converse.js:399
#: converse.js:1133
msgid "Remove messages"
msgstr "Effacer les messages"
#: converse.js:539
msgid "Personal message"
msgstr "Message personnel"
#: converse.js:613
msgid "Contacts"
msgstr "Contacts"
#: converse.js:618
msgid "Online"
msgstr "En ligne"
#: converse.js:619
msgid "Busy"
msgstr "Occupé"
#: converse.js:620
msgid "Away"
msgstr "Absent"
#: converse.js:621
msgid "Offline"
msgstr "Déconnecté"
#: converse.js:628
msgid "Click to add new chat contacts"
msgstr "Cliquez pour ajouter de nouveaux contacts"
#: converse.js:628
msgid "Add a contact"
msgstr "Ajouter un contact"
#: converse.js:637
msgid "Contact username"
msgstr "Nom du contact"
#: converse.js:638
msgid "Add"
msgstr "Ajouter"
#: converse.js:646
msgid "Contact name"
msgstr "Nom du contact"
#: converse.js:647
msgid "Search"
msgstr "Rechercher"
#: converse.js:682
msgid "No users found"
msgstr "Aucun utilisateur trouvé"
#: converse.js:689
msgid "Click to add as a chat contact"
msgstr "Cliquer pour ajouter aux contacts de chat"
#: converse.js:753
msgid "Click to open this room"
msgstr "Cliquer pour ouvrir ce salon"
#: converse.js:755
msgid "Show more information on this room"
msgstr "Afficher davantage d'informations sur ce salon"
#: converse.js:760
msgid "Description:"
msgstr "Description :"
#: converse.js:761
msgid "Occupants:"
msgstr "Participants :"
#: converse.js:762
msgid "Features:"
msgstr "Caractéristiques :"
#: converse.js:764
msgid "Requires authentication"
msgstr "Nécessite une authentification"
#: converse.js:767
msgid "Hidden"
msgstr "Masqué"
#: converse.js:770
msgid "Requires an invitation"
msgstr "Nécessite une invitation"
#: converse.js:773
msgid "Moderated"
msgstr "Modéré"
#: converse.js:776
msgid "Non-anonymous"
msgstr "Non-anonyme"
#: converse.js:779
msgid "Open room"
msgstr "Ouvrir un salon"
#: converse.js:782
msgid "Permanent room"
msgstr "Salon permanent"
#: converse.js:785
msgid "Public"
msgstr "Public"
#: converse.js:788
msgid "Semi-anonymous"
msgstr "Semi-anonyme"
#: converse.js:791
msgid "Temporary room"
msgstr "Salon temporaire"
#: converse.js:794
msgid "Unmoderated"
msgstr "Non modéré"
#: converse.js:800
msgid "Rooms"
msgstr "Salons"
#: converse.js:804
msgid "Room name"
msgstr "Numéro de salon"
#: converse.js:805
msgid "Nickname"
msgstr "Alias"
#: converse.js:806
msgid "Server"
msgstr "Serveur"
#: converse.js:807
msgid "Join"
msgstr "Rejoindre"
#: converse.js:808
msgid "Show rooms"
msgstr "Afficher les salons"
#. For translators: %1$s is a variable and will be replaced with the XMPP server name
#: converse.js:841
msgid "No rooms on %1$s"
msgstr "Aucun salon dans %1$s"
#. For translators: %1$s is a variable and will be
#. replaced with the XMPP server name
#: converse.js:856
msgid "Rooms on %1$s"
msgstr "Salons dans %1$s"
#: converse.js:1130
msgid "Set chatroom topic"
msgstr "Indiquer le sujet du salon"
#: converse.js:1131
msgid "Kick user from chatroom"
msgstr "Expulser l'utilisateur du salon."
#: converse.js:1132
msgid "Ban user from chatroom"
msgstr "Bannir l'utilisateur du salon."
#: converse.js:1159
msgid "Message"
msgstr "Message"
#: converse.js:1273
#: converse.js:2318
msgid "Save"
msgstr "Enregistrer"
#: converse.js:1274
msgid "Cancel"
msgstr "Annuler"
#: converse.js:1321
msgid "An error occurred while trying to save the form."
msgstr "Une erreur est survenue lors de l'enregistrement du formulaire."
#: converse.js:1367
msgid "This chatroom requires a password"
msgstr "Ce salon nécessite un mot de passe."
#: converse.js:1368
msgid "Password: "
msgstr "Mot de passe : "
#: converse.js:1369
msgid "Submit"
msgstr "Soumettre"
#: converse.js:1383
msgid "This room is not anonymous"
msgstr "Ce salon n'est pas anonyme"
#: converse.js:1384
msgid "This room now shows unavailable members"
msgstr "Ce salon affiche maintenant des membres indisponibles"
#: converse.js:1385
msgid "This room does not show unavailable members"
msgstr "Ce salon n'affiche pas les membres indisponibles"
#: converse.js:1386
msgid "Non-privacy-related room configuration has changed"
msgstr "Les paramètres du salon non liés à la confidentialité ont été modifiés"
#: converse.js:1387
msgid "Room logging is now enabled"
msgstr "Le logging du salon est activé"
#: converse.js:1388
msgid "Room logging is now disabled"
msgstr "Le logging du salon est désactivé"
#: converse.js:1389
msgid "This room is now non-anonymous"
msgstr "Ce salon est maintenant non-anonyme"
#: converse.js:1390
msgid "This room is now semi-anonymous"
msgstr "Ce salon est maintenant semi-anonyme"
#: converse.js:1391
msgid "This room is now fully-anonymous"
msgstr "Ce salon est maintenant entièrement anonyme"
#: converse.js:1392
msgid "A new room has been created"
msgstr "Un nouveau salon a été créé"
#: converse.js:1393
msgid "Your nickname has been changed"
msgstr "Votre alias a été modifié"
#. For translations: %1$s will be replaced with the user's nickname
#. Don't translate "strong"
#. Example: <strong>jcbrand</strong> has been banned
#: converse.js:1400
msgid "<strong>%1$s</strong> has been banned"
msgstr "<strong>%1$s</strong> a été banni"
#. For translations: %1$s will be replaced with the user's nickname
#. Don't translate "strong"
#. Example: <strong>jcbrand</strong> has been kicked out
#: converse.js:1404
msgid "<strong>%1$s</strong> has been kicked out"
msgstr "<strong>%1$s</strong> a été expulsé"
#. For translations: %1$s will be replaced with the user's nickname
#. Don't translate "strong"
#. Example: <strong>jcbrand</strong> has been removed because of an affiliasion change
#: converse.js:1408
msgid "<strong>%1$s</strong> has been removed because of an affiliation change"
msgstr "<strong>%1$s</strong> a été supprimé à cause d'un changement d'affiliation"
#. For translations: %1$s will be replaced with the user's nickname
#. Don't translate "strong"
#. Example: <strong>jcbrand</strong> has been removed for not being a member
#: converse.js:1412
msgid "<strong>%1$s</strong> has been removed for not being a member"
msgstr "<strong>%1$s</strong> a été supprimé car il n'est pas membre"
#: converse.js:1416
#: converse.js:1478
msgid "You have been banned from this room"
msgstr "Vous avez été banni de ce salon"
#: converse.js:1417
msgid "You have been kicked from this room"
msgstr "Vous avez été expulsé de ce salon"
#: converse.js:1418
msgid "You have been removed from this room because of an affiliation change"
msgstr "Vous avez été retiré de ce salon du fait d'un changement d'affiliation"
#: converse.js:1419
msgid "You have been removed from this room because the room has changed to members-only and you're not a member"
msgstr "Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux membres et vous n'êtes pas membre"
#: converse.js:1420
msgid "You have been removed from this room because the MUC (Multi-user chat) service is being shut down."
msgstr "Vous avez été retiré de ce salon parce que le service de chat multi-utilisateur a été désactivé."
#: converse.js:1476
msgid "You are not on the member list of this room"
msgstr "Vous n'êtes pas dans la liste des membres de ce salon"
#: converse.js:1482
msgid "No nickname was specified"
msgstr "Aucun alias n'a été indiqué"
#: converse.js:1486
msgid "You are not allowed to create new rooms"
msgstr "Vous n'êtes pas autorisé à créer des salons"
#: converse.js:1488
msgid "Your nickname doesn't conform to this room's policies"
msgstr "Votre alias n'est pas conforme à la politique de ce salon"
#: converse.js:1490
msgid "Your nickname is already taken"
msgstr "Votre alias est déjà utilisé"
#: converse.js:1492
msgid "This room does not (yet) exist"
msgstr "Ce salon n'existe pas encore"
#: converse.js:1494
msgid "This room has reached it's maximum number of occupants"
msgstr "Ce salon a atteint la limite maximale d'occupants"
#. For translators: the %1$s and %2$s parts will get replaced by the user and topic text respectively
#. Example: Topic set by JC Brand to: Hello World!
#: converse.js:1571
msgid "Topic set by %1$s to: %2$s"
msgstr "Le sujet '%1$s' a été défini par %2$s"
#: converse.js:1587
msgid "This user is a moderator"
msgstr "Cet utilisateur est modérateur"
#: converse.js:1590
msgid "This user can send messages in this room"
msgstr "Cet utilisateur peut envoyer des messages dans ce salon"
#: converse.js:1593
msgid "This user can NOT send messages in this room"
msgstr "Cet utilisateur ne peut PAS envoyer de messages dans ce salon"
#: converse.js:1796
msgid "Click to chat with this contact"
msgstr "Cliquez pour discuter avec ce contact"
#: converse.js:1797
#: converse.js:1801
msgid "Click to remove this contact"
msgstr "Cliquez pour supprimer ce contact"
#: converse.js:2163
msgid "Contact requests"
msgstr "Demandes de contacts"
#: converse.js:2164
msgid "My contacts"
msgstr "Mes contacts"
#: converse.js:2165
msgid "Pending contacts"
msgstr "Contacts en attente"
#: converse.js:2317
msgid "Custom status"
msgstr "Statut personnel"
#: converse.js:2323
msgid "Click to change your chat status"
msgstr "Cliquez pour changer votre statut"
#: converse.js:2326
msgid "Click here to write a custom status message"
msgstr "Cliquez ici pour indiquer votre statut personnel"
#: converse.js:2355
#: converse.js:2363
msgid "online"
msgstr "en ligne"
#: converse.js:2357
msgid "busy"
msgstr "occupé"
#: converse.js:2359
msgid "away for long"
msgstr "absent pour une longue durée"
#: converse.js:2361
msgid "away"
msgstr "absent"
#. For translators: the %1$s part gets replaced with the status
#. Example, I am online
#: converse.js:2375
#: converse.js:2409
msgid "I am %1$s"
msgstr "Je suis %1$s"
#: converse.js:2480
msgid "Sign in"
msgstr "S'inscrire"
#: converse.js:2483
msgid "XMPP/Jabber Username:"
msgstr "Nom d'utilisateur XMPP/Jabber"
#: converse.js:2485
msgid "Password:"
msgstr "Mot de passe :"
#: converse.js:2487
msgid "Log In"
msgstr "Se connecter"
#: converse.js:2491
msgid "BOSH Service URL:"
msgstr "URL du service BOSH:"
#: converse.js:2503
msgid "Connected"
msgstr "Connecté"
#: converse.js:2507
msgid "Disconnected"
msgstr "Déconnecté"
#: converse.js:2511
msgid "Error"
msgstr "Erreur"
#: converse.js:2513
msgid "Connecting"
msgstr "Connection"
#: converse.js:2516
msgid "Connection Failed"
msgstr "La connection a échoué"
#: converse.js:2518
msgid "Authenticating"
msgstr "Authentification"
#: converse.js:2521
msgid "Authentication Failed"
msgstr "L'authentification a échoué"
#: converse.js:2523
msgid "Disconnecting"
msgstr "Déconnection"
#: converse.js:2525
msgid "Attached"
msgstr "Attaché"
#: converse.js:2656
msgid "Online Contacts"
msgstr "Contacts en ligne"

482
locale/fr/LC_MESSAGES/fr.js Normal file
View File

@ -0,0 +1,482 @@
(function (root, factory) {
var translations = {
"domain": "converse",
"locale_data": {
"converse": {
"": {
"Project-Id-Version": "Converse.js 0.4",
"Report-Msgid-Bugs-To": "",
"POT-Creation-Date": "2013-06-01 23:03+0200",
"PO-Revision-Date": "2013-07-22 18:13-0400",
"Last-Translator": "Leonardo J. Caballero G. <leonardocaballero@gmail.com>",
"Language-Team": "ES <LL@li.org>",
"MIME-Version": "1.0",
"Content-Type": "text/plain; charset=UTF-8",
"Content-Transfer-Encoding": "8bit",
"Plural-Forms": "nplurals=2; plural=(n != 1);",
"plural_forms": "nplurals=2; plural=(n != 1);",
"Language": "es",
"lang": "es",
"Language-Code": "es",
"Language-Name": "Español",
"Preferred-Encodings": "utf-8 latin1",
"Domain": "converse",
"domain": "converse",
"X-Is-Fallback-For": "es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve"
},
"Show this menu": [
null,
"Afficher ce menu"
],
"Write in the third person": [
null,
"Écrire à la troisième personne"
],
"Remove messages": [
null,
"Effacer les messages"
],
"Personal message": [
null,
"Message personnel"
],
"Contacts": [
null,
"Contacts"
],
"Online": [
null,
"En ligne"
],
"Busy": [
null,
"Occupé"
],
"Away": [
null,
"Absent"
],
"Offline": [
null,
"Déconnecté"
],
"Click to add new chat contacts": [
null,
"Cliquez pour ajouter de nouveaux contacts"
],
"Add a contact": [
null,
"Ajouter un contact"
],
"Contact username": [
null,
"Nom du contact"
],
"Add": [
null,
"Ajouter"
],
"Contact name": [
null,
"Nom du contact"
],
"Search": [
null,
"Rechercher"
],
"No users found": [
null,
"Aucun utilisateur trouvé"
],
"Click to add as a chat contact": [
null,
"Cliquer pour ajouter aux contacts de chat"
],
"Click to open this room": [
null,
"Cliquer pour ouvrir ce salon"
],
"Show more information on this room": [
null,
"Afficher davantage d'informations sur ce salon"
],
"Description:": [
null,
"Description :"
],
"Occupants:": [
null,
"Participants :"
],
"Features:": [
null,
"Caractéristiques :"
],
"Requires authentication": [
null,
"Nécessite une authentification"
],
"Hidden": [
null,
"Masqué"
],
"Requires an invitation": [
null,
"Nécessite une invitation"
],
"Moderated": [
null,
"Modéré"
],
"Non-anonymous": [
null,
"Non-anonyme"
],
"Open room": [
null,
"Ouvrir un salon"
],
"Permanent room": [
null,
"Salon permanent"
],
"Public": [
null,
"Public"
],
"Semi-anonymous": [
null,
"Semi-anonyme"
],
"Temporary room": [
null,
"Salon temporaire"
],
"Unmoderated": [
null,
"Non modéré"
],
"Rooms": [
null,
"Salons"
],
"Room name": [
null,
"Numéro de salon"
],
"Nickname": [
null,
"Alias"
],
"Server": [
null,
"Serveur"
],
"Join": [
null,
"Rejoindre"
],
"Show rooms": [
null,
"Afficher les salons"
],
"No rooms on %1$s": [
null,
"Aucun salon dans %1$s"
],
"Rooms on %1$s": [
null,
"Salons dans %1$s"
],
"Set chatroom topic": [
null,
"Indiquer le sujet du salon"
],
"Kick user from chatroom": [
null,
"Expulser l'utilisateur du salon."
],
"Ban user from chatroom": [
null,
"Bannir l'utilisateur du salon."
],
"Message": [
null,
"Message"
],
"Save": [
null,
"Enregistrer"
],
"Cancel": [
null,
"Annuler"
],
"An error occurred while trying to save the form.": [
null,
"Une erreur est survenue lors de l'enregistrement du formulaire."
],
"This chatroom requires a password": [
null,
"Ce salon nécessite un mot de passe."
],
"Password: ": [
null,
"Mot de passe : "
],
"Submit": [
null,
"Soumettre"
],
"This room is not anonymous": [
null,
"Ce salon n'est pas anonyme"
],
"This room now shows unavailable members": [
null,
"Ce salon affiche maintenant des membres indisponibles"
],
"This room does not show unavailable members": [
null,
"Ce salon n'affiche pas les membres indisponibles"
],
"Non-privacy-related room configuration has changed": [
null,
"Les paramètres du salon non liés à la confidentialité ont été modifiés"
],
"Room logging is now enabled": [
null,
"Le logging du salon est activé"
],
"Room logging is now disabled": [
null,
"Le logging du salon est désactivé"
],
"This room is now non-anonymous": [
null,
"Ce salon est maintenant non-anonyme"
],
"This room is now semi-anonymous": [
null,
"Ce salon est maintenant semi-anonyme"
],
"This room is now fully-anonymous": [
null,
"Ce salon est maintenant entièrement anonyme"
],
"A new room has been created": [
null,
"Un nouveau salon a été créé"
],
"Your nickname has been changed": [
null,
"Votre alias a été modifié"
],
"<strong>%1$s</strong> has been banned": [
null,
"<strong>%1$s</strong> a été banni"
],
"<strong>%1$s</strong> has been kicked out": [
null,
"<strong>%1$s</strong> a été expulsé"
],
"<strong>%1$s</strong> has been removed because of an affiliation change": [
null,
"<strong>%1$s</strong> a été supprimé à cause d'un changement d'affiliation"
],
"<strong>%1$s</strong> has been removed for not being a member": [
null,
"<strong>%1$s</strong> a été supprimé car il n'est pas membre"
],
"You have been banned from this room": [
null,
"Vous avez été banni de ce salon"
],
"You have been kicked from this room": [
null,
"Vous avez été expulsé de ce salon"
],
"You have been removed from this room because of an affiliation change": [
null,
"Vous avez été retiré de ce salon du fait d'un changement d'affiliation"
],
"You have been removed from this room because the room has changed to members-only and you're not a member": [
null,
"Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux membres et vous n'êtes pas membre"
],
"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [
null,
"Vous avez été retiré de ce salon parce que le service de chat multi-utilisateur a été désactivé."
],
"You are not on the member list of this room": [
null,
"Vous n'êtes pas dans la liste des membres de ce salon"
],
"No nickname was specified": [
null,
"Aucun alias n'a été indiqué"
],
"You are not allowed to create new rooms": [
null,
"Vous n'êtes pas autorisé à créer des salons"
],
"Your nickname doesn't conform to this room's policies": [
null,
"Votre alias n'est pas conforme à la politique de ce salon"
],
"Your nickname is already taken": [
null,
"Votre alias est déjà utilisé"
],
"This room does not (yet) exist": [
null,
"Ce salon n'existe pas encore"
],
"This room has reached it's maximum number of occupants": [
null,
"Ce salon a atteint la limite maximale d'occupants"
],
"Topic set by %1$s to: %2$s": [
null,
"Le sujet '%1$s' a été défini par %2$s"
],
"This user is a moderator": [
null,
"Cet utilisateur est modérateur"
],
"This user can send messages in this room": [
null,
"Cet utilisateur peut envoyer des messages dans ce salon"
],
"This user can NOT send messages in this room": [
null,
"Cet utilisateur ne peut PAS envoyer de messages dans ce salon"
],
"Click to chat with this contact": [
null,
"Cliquez pour discuter avec ce contact"
],
"Click to remove this contact": [
null,
"Cliquez pour supprimer ce contact"
],
"Contact requests": [
null,
"Demandes de contacts"
],
"My contacts": [
null,
"Mes contacts"
],
"Pending contacts": [
null,
"Contacts en attente"
],
"Custom status": [
null,
"Statut personnel"
],
"Click to change your chat status": [
null,
"Cliquez pour changer votre statut"
],
"Click here to write a custom status message": [
null,
"Cliquez ici pour indiquer votre statut personnel"
],
"online": [
null,
"en ligne"
],
"busy": [
null,
"occupé"
],
"away for long": [
null,
"absent pour une longue durée"
],
"away": [
null,
"absent"
],
"I am %1$s": [
null,
"Je suis %1$s"
],
"Sign in": [
null,
"S'inscrire"
],
"XMPP/Jabber Username:": [
null,
"Nom d'utilisateur XMPP/Jabber"
],
"Password:": [
null,
"Mot de passe :"
],
"Log In": [
null,
"Se connecter"
],
"BOSH Service URL:": [
null,
"URL du service BOSH:"
],
"Connected": [
null,
"Connecté"
],
"Disconnected": [
null,
"Déconnecté"
],
"Error": [
null,
"Erreur"
],
"Connecting": [
null,
"Connection"
],
"Connection Failed": [
null,
"La connection a échoué"
],
"Authenticating": [
null,
"Authentification"
],
"Authentication Failed": [
null,
"L'authentification a échoué"
],
"Disconnecting": [
null,
"Déconnection"
],
"Attached": [
null,
"Attaché"
],
"Online Contacts": [
null,
"Contacts en ligne"
]
}
}
};
if (typeof define === 'function' && define.amd) {
define("fr", ['jed'], function () {
return factory(new Jed(translations));
});
} else {
if (!window.locales) {
window.locales = {};
}
window.locales.fr = factory(new Jed(translations));
}
}(this, function (fr) {
return fr;
}));

View File

@ -10,9 +10,10 @@
paths: {
"jed": "components/jed/jed",
"af": "locale/af/LC_MESSAGES/af",
"de": "locale/de/LC_MESSAGES/de",
"en": "locale/en/LC_MESSAGES/en",
"es": "locale/es/LC_MESSAGES/es",
"de": "locale/de/LC_MESSAGES/de",
"fr": "locale/fr/LC_MESSAGES/fr",
"it": "locale/it/LC_MESSAGES/it",
"pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR"
}
@ -21,17 +22,19 @@
define("locales", [
'jed',
'af',
'de',
'en',
'es',
'de',
"it",
"pt_BR"
], function (jed, af, en, es, de, it, pt_BR) {
'fr',
'it',
'pt_BR'
], function (jed, af, de, en, es, fr, it, pt_BR) {
root.locales = {
'af': af,
'de': de,
'en': en,
'es': es,
'de': de,
'fr': fr,
'it': it,
'pt-br': pt_BR
};