Commit 00cb015d authored by JC Brand's avatar JC Brand

Merge branch 'master' into otr

Conflicts:
	converse.js
parents 778b8a7c bc971ed8
Changelog
=========
0.6.2 (Unreleased)
------------------
- French translations. [tdesvenain]
0.6.2 (2013-08-29)
------------------
......
......@@ -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 () {
......
# 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
......@@ -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": {
......
......@@ -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>
......
......@@ -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>
......
# Sphinx inventory version 2
# Project: Converse.js
# Version: 0.6.0
# Version: 0.6.2
# The remainder of this file is compressed using zlib.
xm
{"];
......
......@@ -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>
......
Search.setIndex({objects:{},terms:{all:0,code:0,partial:0,queri:0,webchat:0,follow:0,middl:0,depend:0,sensit:0,punjab:0,those:0,under:0,spec:0,string:0,fals:0,account:0,facebook:0,jack:0,veri:0,tri:0,chatpanel:0,list:0,sane:0,div:0,pleas:0,prevent:0,almond:0,past:0,second:0,pass:0,download:0,further:0,fullnam:0,click:0,even:0,index:0,what:0,hide:0,section:0,current:0,version:0,"new":0,net:0,"public":0,widget:0,themselv:0,gener:0,here:0,bodi:0,let:0,strong:0,modifi:0,sinc:0,valu:0,box:0,great:0,convers:0,reason:0,fetch:0,implement:0,sorri:0,via:0,although:0,extra:0,apach:0,prefer:0,ask:0,href:0,succesfulli:0,auto_list_room:0,instal:0,getsess:0,from:0,zip:0,commun:0,doubl:0,two:0,websit:0,few:0,stylesheet:0,call:0,recommend:0,type:0,until:0,toggl:0,more:0,peopl:0,notic:0,particular:0,vcard:0,must:0,none:0,room:0,work:0,xhr:0,can:0,lc_messag:0,purpos:0,root:0,blogpost:0,control:0,quickstart:0,give:0,share:0,templat:0,tag:0,proprietari:0,explor:0,onlin:0,unfortun:0,occup:0,end:0,goal:0,turn:0,snippet:0,how:0,sid:0,instead:0,css:0,updat:0,npm:0,regener:0,product:0,resourc:0,haven:0,after:0,usabl:0,befor:0,underscor:0,data:0,demonstr:0,man:0,github:0,practic:0,bind:0,show_controlbox_by_default:0,django:0,caus:0,inform:0,media:0,mechan:0,order:0,feedback:0,chatbox:0,xmpp:0,over:0,becaus:0,through:0,streamlin:0,write:0,jid:0,"8147a27e4a7f9b55ffc85c2683f9529a":0,directli:0,fit:0,fix:0,pend:0,hidden:0,therefor:0,might:0,them:0,anim:0,"return":0,thei:0,initi:0,front:0,now:0,introduct:0,edit:0,authent:0,separ:0,token:0,ejabberd:0,each:0,debug:0,side:0,mean:0,domain:0,"short":0,individu:0,realli:0,wrap:0,"static":0,connect:0,happen:0,extract:0,special:0,variabl:0,shown:0,"3rd":0,space:0,miss:0,content:0,method:0,rel:0,internet:0,plural:0,factori:0,po2json:0,proxi:0,insid:0,standard:0,standalon:0,ajax:0,put:0,org:0,afterward:0,could:0,keep:0,thing:0,first:0,origin:0,softwar:0,render:0,onc:0,hoop:0,lastnam:0,number:0,yourself:0,restrict:0,instruct:0,alreadi:0,done:0,"long":0,owner:0,happi:0,jabber:0,differ:0,script:0,top:0,attack:0,messag:0,attach:0,stori:0,master:0,jed:0,jcbrand:0,"final":0,luckili:0,consol:0,option:0,tool:0,specifi:0,part:0,pars:0,grunt:0,than:0,serv:0,jump:0,kind:0,bloat:0,provid:0,remov:0,exampl:0,bridg:0,browser:0,pre:0,analysi:0,saa:0,modern:0,ani:0,packag:0,have:0,tabl:0,need:0,moffitt:0,element:0,bosh_service_url:0,prebind:0,min:0,latter:0,note:0,also:0,contact:0,take:0,which:0,singl:0,sure:0,though:0,unsur:0,who:0,most:0,deploi:0,homepag:0,"class":0,don:0,url:0,request:0,doe:0,runtim:0,bower:0,latest:0,xdomainrequest:0,devdepend:0,show:0,german:0,text:0,session:0,fine:0,find:0,help:0,onli:0,exactli:0,locat:0,firstnam:0,configur:0,solut:0,should:0,folder:0,local:0,meant:0,info:0,get:0,soon:0,opkod:0,nativ:0,cannot:0,deploy:0,requir:0,enabl:0,emb:0,mainspec:0,multi:0,patch:0,reload:0,bad:0,integr:0,contain:0,where:0,set:0,habit:0,stroph:0,see:0,close:0,statu:0,said:0,extend:0,state:0,between:0,experi:0,jasmin:0,screen:0,attribut:0,appreci:0,kei:0,hide_muc_serv:0,javascript:0,style:0,job:0,bosh:0,otherwis:0,"5e64a30272af065bd72258c565a03f2f":0,both:0,cor:0,instant:0,shortliv:0,conversej:0,etc:0,grain:0,mani:0,login:0,com:0,load:0,pot:0,non:0,backend:0,quit:0,sucessfulli:0,addition:0,rebuild:0,compon:0,json:0,much:0,subscrib:0,non_amd:0,session_kei:0,convert:0,minifi:0,togeth:0,i18n:0,present:0,myself:0,main:0,look:0,servic:0,plugin:0,defin:0,abov:0,error:0,howev:0,hightlight:0,file:0,helper:0,demo:0,auto_subscrib:0,site:0,rid:0,conn:0,develop:0,open:0,minim:0,receiv:0,parti:0,make:0,minif:0,cross:0,same:0,webpag:0,onconnectfacebook:0,html:0,chatroom:0,document:0,medit:0,complet:0,signon:0,http:0,webserv:0,optim:0,upon:0,someon:0,hand:0,"50kb":0,user:0,xhr_user_search:0,cssmin:0,recent:0,stateless:0,markup:0,well:0,without:0,command:0,wherebi:0,thi:0,choos:0,usual:0,plural_form:0,protocol:0,just:0,when:0,jshint:0,languag:0,web:0,xmlhttprequest:0,had:0,add:0,valid:0,blob:0,input:0,match:0,build:0,applic:0,format:0,read:0,amd:0,nginx:0,traffic:0,know:0,background:0,backbon:0,xss:0,like:0,specif:0,manual:0,server:0,collect:0,benefit:0,either:0,output:0,manag:0,facebookconnect:0,old:0,deal:0,nplural:0,some:0,back:0,librari:0,bottom:0,roster:0,achiev:0,track:0,overcom:0,localhost:0,refer:0,object:0,run:0,host:0,repositori:0,panel:0,src:0,about:0,controlbox:0,page:0,act:0,own:0,curiou:0,encod:0,automat:0,contrib:0,your:0,merg:0,log:0,wai:0,transfer:0,support:0,submit:0,custom:0,avail:0,includ:0,lot:0,suit:0,"function":0,head:0,properli:0,form:0,bundl:0,link:0,translat:0,synonym:0,line:0,inlin:0,"true":0,bug:0,congratul:0,requirej:0,count:0,pull:0,made:0,dirti:0,locale_data:0,possibl:0,"default":0,bugfix:0,displai:0,asynchron:0,below:0,tightli:0,legwork:0,problem:0,expect:0,featur:0,creat:0,doesn:0,msgmerg:0,exist:0,chat:0,face:0,check:0,again:0,want:0,tip:0,detail:0,gettext:0,field:0,other:0,rememb:0,test:0,you:0,nice:0,node:0,intend:0,releas:0,stai:0,lang:0,longer:0,directori:0,getjson:0,potenti:0,time:0},objtypes:{},titles:["Quickstart (to get a demo up and running)"],objnames:{},filenames:["index"]})
\ No newline at end of file
Search.setIndex({objects:{},terms:{all:0,code:0,partial:0,queri:0,webchat:0,follow:0,middl:0,depend:0,sensit:0,punjab:0,present:0,under:0,spec:0,string:0,fals:0,than:0,account:0,facebook:0,jack:0,veri:0,tri:0,chatpanel:0,list:0,sane:0,div:0,pleas:0,prevent:0,almond:0,past:0,second:0,pass:0,download:0,further:0,fullnam:0,click:0,even:0,index:0,what:0,hide:0,section:0,current:0,"public":0,version:0,"new":0,net:0,method:0,widget:0,themselv:0,gener:0,here:0,bodi:0,let:0,strong:0,modifi:0,sinc:0,valu:0,box:0,great:0,convers:0,ajax:0,fetch:0,implement:0,sorri:0,via:0,repositori:0,extra:0,solut:0,prefer:0,put:0,href:0,org:0,auto_list_room:0,instal:0,getsess:0,from:0,zip:0,commun:0,doubl:0,two:0,websit:0,few:0,stylesheet:0,call:0,recommend:0,type:0,until:0,toggl:0,more:0,peopl:0,notic:0,site:0,particular:0,vcard:0,must:0,none:0,room:0,work:0,xhr:0,can:0,lc_messag:0,purpos:0,root:0,blogpost:0,control:0,quickstart:0,give:0,share:0,templat:0,tag:0,proprietari:0,explor:0,onlin:0,occup:0,end:0,goal:0,thing:0,write:0,how:0,sid:0,roster:0,instead:0,css:0,updat:0,npm:0,regener:0,product:0,resourc:0,after:0,usabl:0,befor:0,underscor:0,data:0,demonstr:0,man:0,"short":0,practic:0,bind:0,show_controlbox_by_default:0,element:0,caus:0,inform:0,parti:0,mechan:0,order:0,feedback:0,chatbox:0,xmpp:0,over:0,becaus:0,through:0,streamlin:0,snippet:0,jid:0,"8147a27e4a7f9b55ffc85c2683f9529a":0,directli:0,fit:0,fix:0,"static":0,pend:0,hidden:0,therefor:0,might:0,them:0,anim:0,"return":0,thei:0,initi:0,front:0,now:0,introduct:0,edit:0,authent:0,separ:0,token:0,ejabberd:0,each:0,debug:0,side:0,mean:0,domain:0,individu:0,realli:0,contrib:0,legwork:0,connect:0,happen:0,extract:0,special:0,variabl:0,shown:0,"3rd":0,space:0,miss:0,content:0,rel:0,internet:0,merg:0,plural:0,factori:0,po2json:0,proxi:0,insid:0,standard:0,standalon:0,reason:0,ask:0,succesfulli:0,afterward:0,could:0,keep:0,turn:0,first:0,origin:0,softwar:0,render:0,onc:0,hoop:0,lastnam:0,number:0,yourself:0,restrict:0,instruct:0,alreadi:0,done:0,submit:0,owner:0,custom:0,jabber:0,differ:0,script:0,top:0,attack:0,messag:0,attach:0,stori:0,master:0,jed:0,jcbrand:0,"final":0,luckili:0,consol:0,option:0,tool:0,specifi:0,github:0,pars:0,grunt:0,haven:0,serv:0,jump:0,kind:0,bloat:0,provid:0,remov:0,exampl:0,bridg:0,browser:0,pre:0,"function":0,saa:0,modern:0,ani:0,packag:0,have:0,tabl:0,need:0,moffitt:0,django:0,bosh_service_url:0,prebind:0,min:0,latter:0,note:0,also:0,contact:0,take:0,which:0,singl:0,sure:0,though:0,unsur:0,who:0,most:0,deploi:0,homepag:0,"class":0,don:0,url:0,request:0,doe:0,part:0,runtim:0,bower:0,usual:0,xdomainrequest:0,devdepend:0,show:0,german:0,text:0,session:0,fine:0,find:0,help:0,onli:0,exactli:0,locat:0,just:0,configur:0,apach:0,should:0,folder:0,local:0,meant:0,count:0,get:0,soon:0,opkod:0,nativ:0,cannot:0,requir:0,enabl:0,emb:0,mainspec:0,patch:0,reload:0,bad:0,integr:0,contain:0,where:0,set:0,habit:0,stroph:0,see:0,close:0,statu:0,said:0,kei:0,state:0,between:0,experi:0,jasmin:0,hide_muc_serv:0,attribut:0,appreci:0,extend:0,screen:0,javascript:0,style:0,job:0,bosh:0,"5e64a30272af065bd72258c565a03f2f":0,both:0,cor:0,instant:0,shortliv:0,conversej:0,myself:0,etc:0,grain:0,mani:0,login:0,com:0,load:0,pot:0,backend:0,quit:0,sucessfulli:0,addition:0,rebuild:0,compon:0,json:0,much:0,subscrib:0,blob:0,session_kei:0,convert:0,minifi:0,togeth:0,i18n:0,those:0,multi:0,main:0,look:0,servic:0,plugin:0,defin:0,abov:0,error:0,howev:0,hightlight:0,chat:0,helper:0,demo:0,auto_subscrib:0,non:0,rid:0,conn:0,develop:0,open:0,minim:0,receiv:0,media:0,make:0,minif:0,cross:0,same:0,read:0,onconnectfacebook:0,html:0,chatroom:0,document:0,medit:0,complet:0,signon:0,http:0,webserv:0,optim:0,upon:0,someon:0,hand:0,"50kb":0,user:0,xhr_user_search:0,cssmin:0,recent:0,stateless:0,markup:0,well:0,without:0,command:0,wherebi:0,thi:0,choos:0,latest:0,plural_form:0,protocol:0,firstnam:0,tip:0,jshint:0,languag:0,web:0,xmlhttprequest:0,had:0,add:0,other:0,non_amd:0,input:0,match:0,build:0,applic:0,format:0,webpag:0,amd:0,nginx:0,traffic:0,know:0,background:0,like:0,xss:0,backbon:0,specif:0,manual:0,server:0,collect:0,benefit:0,either:0,output:0,page:0,facebookconnect:0,old:0,deal:0,nplural:0,some:0,back:0,librari:0,bottom:0,deploy:0,achiev:0,track:0,overcom:0,localhost:0,refer:0,object:0,run:0,host:0,although:0,panel:0,src:0,about:0,controlbox:0,unfortun:0,act:0,own:0,curiou:0,encod:0,automat:0,wrap:0,your:0,manag:0,log:0,wai:0,transfer:0,support:0,"long":0,happi:0,avail:0,includ:0,lot:0,suit:0,analysi:0,head:0,properli:0,form:0,bundl:0,link:0,translat:0,synonym:0,line:0,inlin:0,"true":0,bug:0,congratul:0,longer:0,info:0,pull:0,made:0,dirti:0,locale_data:0,possibl:0,"default":0,bugfix:0,displai:0,asynchron:0,below:0,tightli:0,otherwis:0,problem:0,expect:0,featur:0,creat:0,doesn:0,msgmerg:0,exist:0,file:0,face:0,check:0,again:0,want:0,when:0,detail:0,gettext:0,field:0,valid:0,rememb:0,test:0,you:0,nice:0,node:0,intend:0,releas:0,stai:0,lang:0,requirej:0,directori:0,getjson:0,potenti:0,time:0},objtypes:{},titles:["Quickstart (to get a demo up and running)"],objnames:{},filenames:["index"]})
\ No newline at end of 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": {
......
......@@ -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,
......
{
"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"
]
}
}
\ No newline at end of file
# 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"
(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;
}));
......@@ -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
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment