From 3fba1123f330337c2be26af5845561c1a43e99f6 Mon Sep 17 00:00:00 2001 From: Ting-Kuan <gintau2000@gmail.com> Date: Fri, 4 Apr 2014 12:49:39 -0400 Subject: [PATCH 01/79] no message --- .gitignore | 80 --------------------------- vendor/scripts/notify-combined.min.js | 5 ++ 2 files changed, 5 insertions(+), 80 deletions(-) delete mode 100644 .gitignore create mode 100644 vendor/scripts/notify-combined.min.js diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ba0802aa6..000000000 --- a/.gitignore +++ /dev/null @@ -1,80 +0,0 @@ -### If you add something here, copy it to the end of .npmignore, too. ### - -# Python -*.pyc -*.pyo - -# OS X -.DS_Store -Icon? -._* -.Spotlight-V100 -.Trashes - -# Windows -Thumbs.db - -# Emacs -*.*~ -*.# -.#* -*# - -# Vim -.*.sw[a-z] -*.un~i - -# Sublime -*.sublime-project -*.sublime-workspace - -# NPM packages folder. -node_modules/ -bower_components/ - -# Some other random stuff -always-ignore extensions -*.diff -*.err -*.orig -*.log -*.rej -*.vi -*.sass-cache - -# OS or Editor folders -.cache -.project -.settings -.tmproj -.idea -nbproject - -# Brunch folder for temporary files. -tmp/ - -# Brunch output -public/ - -# Redis? -dump.rdb - -# Mongo -mongo/ - -# Karma coverage -coverage/ - -# Floo -.floo -FLOOBITS_README.md - -# mongodb -db/ -bin/node/ -bin/mongo/ - -# windows -/SCOCODE.bat - -### If you add something here, copy it to the end of .npmignore, too. ### diff --git a/vendor/scripts/notify-combined.min.js b/vendor/scripts/notify-combined.min.js new file mode 100644 index 000000000..bafa7af50 --- /dev/null +++ b/vendor/scripts/notify-combined.min.js @@ -0,0 +1,5 @@ +/** Notify.js - v0.3.1 - 2014/02/06 + * http://notifyjs.com/ + * Copyright (c) 2014 Jaime Pillora - MIT + */ +(function(t,i,n,e){"use strict";var o,r,s,a,l,h,c,p,u,d,f,A,m,w,g,y,b,v,x,C,S,E,M,k,H,D,F,T=[].indexOf||function(t){for(var i=0,n=this.length;n>i;i++)if(i in this&&this[i]===t)return i;return-1};S="notify",C=S+"js",s=S+"!blank",M={t:"top",m:"middle",b:"bottom",l:"left",c:"center",r:"right"},m=["l","c","r"],F=["t","m","b"],b=["t","b","l","r"],v={t:"b",m:null,b:"t",l:"r",c:null,r:"l"},x=function(t){var i;return i=[],n.each(t.split(/\W+/),function(t,n){var o;return o=n.toLowerCase().charAt(0),M[o]?i.push(o):e}),i},D={},a={name:"core",html:'<div class="'+C+'-wrapper">\n <div class="'+C+'-arrow"></div>\n <div class="'+C+'-container"></div>\n</div>',css:"."+C+"-corner {\n position: fixed;\n margin: 5px;\n z-index: 1050;\n}\n\n."+C+"-corner ."+C+"-wrapper,\n."+C+"-corner ."+C+"-container {\n position: relative;\n display: block;\n height: inherit;\n width: inherit;\n margin: 3px;\n}\n\n."+C+"-wrapper {\n z-index: 1;\n position: absolute;\n display: inline-block;\n height: 0;\n width: 0;\n}\n\n."+C+"-container {\n display: none;\n z-index: 1;\n position: absolute;\n cursor: pointer;\n}\n\n[data-notify-text],[data-notify-html] {\n position: relative;\n}\n\n."+C+"-arrow {\n position: absolute;\n z-index: 2;\n width: 0;\n height: 0;\n}"},H={"border-radius":["-webkit-","-moz-"]},f=function(t){return D[t]},r=function(i,e){var o,r,s,a;if(!i)throw"Missing Style name";if(!e)throw"Missing Style definition";if(!e.html)throw"Missing Style HTML";return(null!=(a=D[i])?a.cssElem:void 0)&&(t.console&&console.warn(""+S+": overwriting style '"+i+"'"),D[i].cssElem.remove()),e.name=i,D[i]=e,o="",e.classes&&n.each(e.classes,function(t,i){return o+="."+C+"-"+e.name+"-"+t+" {\n",n.each(i,function(t,i){return H[t]&&n.each(H[t],function(n,e){return o+=" "+e+t+": "+i+";\n"}),o+=" "+t+": "+i+";\n"}),o+="}\n"}),e.css&&(o+="/* styles for "+e.name+" */\n"+e.css),o&&(e.cssElem=y(o),e.cssElem.attr("id","notify-"+e.name)),s={},r=n(e.html),u("html",r,s),u("text",r,s),e.fields=s},y=function(t){var i;i=l("style"),i.attr("type","text/css"),n("head").append(i);try{i.html(t)}catch(e){i[0].styleSheet.cssText=t}return i},u=function(t,i,e){var o;return"html"!==t&&(t="text"),o="data-notify-"+t,p(i,"["+o+"]").each(function(){var i;return i=n(this).attr(o),i||(i=s),e[i]=t})},p=function(t,i){return t.is(i)?t:t.find(i)},E={clickToHide:!0,autoHide:!0,autoHideDelay:5e3,arrowShow:!0,arrowSize:5,breakNewLines:!0,elementPosition:"bottom",globalPosition:"top right",style:"bootstrap",className:"error",showAnimation:"slideDown",showDuration:400,hideAnimation:"slideUp",hideDuration:200,gap:5},g=function(t,i){var e;return e=function(){},e.prototype=t,n.extend(!0,new e,i)},h=function(t){return n.extend(E,t)},l=function(t){return n("<"+t+"></"+t+">")},A={},d=function(t){var i;return t.is("[type=radio]")&&(i=t.parents("form:first").find("[type=radio]").filter(function(i,e){return n(e).attr("name")===t.attr("name")}),t=i.first()),t},w=function(t,i,n){var o,r;if("string"==typeof n)n=parseInt(n,10);else if("number"!=typeof n)return;if(!isNaN(n))return o=M[v[i.charAt(0)]],r=i,t[o]!==e&&(i=M[o.charAt(0)],n=-n),t[i]===e?t[i]=n:t[i]+=n,null},k=function(t,i,n){if("l"===t||"t"===t)return 0;if("c"===t||"m"===t)return n/2-i/2;if("r"===t||"b"===t)return n-i;throw"Invalid alignment"},c=function(t){return c.e=c.e||l("div"),c.e.text(t).html()},o=function(){function t(t,i,e){"string"==typeof e&&(e={className:e}),this.options=g(E,n.isPlainObject(e)?e:{}),this.loadHTML(),this.wrapper=n(a.html),this.wrapper.data(C,this),this.arrow=this.wrapper.find("."+C+"-arrow"),this.container=this.wrapper.find("."+C+"-container"),this.container.append(this.userContainer),t&&t.length&&(this.elementType=t.attr("type"),this.originalElement=t,this.elem=d(t),this.elem.data(C,this),this.elem.before(this.wrapper)),this.container.hide(),this.run(i)}return t.prototype.loadHTML=function(){var t;return t=this.getStyle(),this.userContainer=n(t.html),this.userFields=t.fields},t.prototype.show=function(t,i){var n,o,r,s,a,l=this;if(o=function(){return t||l.elem||l.destroy(),i?i():e},a=this.container.parent().parents(":hidden").length>0,r=this.container.add(this.arrow),n=[],a&&t)s="show";else if(a&&!t)s="hide";else if(!a&&t)s=this.options.showAnimation,n.push(this.options.showDuration);else{if(a||t)return o();s=this.options.hideAnimation,n.push(this.options.hideDuration)}return n.push(o),r[s].apply(r,n)},t.prototype.setGlobalPosition=function(){var t,i,e,o,r,s,a,h;return h=this.getPosition(),a=h[0],s=h[1],r=M[a],t=M[s],o=a+"|"+s,i=A[o],i||(i=A[o]=l("div"),e={},e[r]=0,"middle"===t?e.top="45%":"center"===t?e.left="45%":e[t]=0,i.css(e).addClass(""+C+"-corner"),n("body").append(i)),i.prepend(this.wrapper)},t.prototype.setElementPosition=function(){var t,i,o,r,s,a,l,h,c,p,u,d,f,A,g,y,x,C,S,E,H,D,z,Q,B,R,N,P,U;for(z=this.getPosition(),E=z[0],C=z[1],S=z[2],u=this.elem.position(),h=this.elem.outerHeight(),d=this.elem.outerWidth(),c=this.elem.innerHeight(),p=this.elem.innerWidth(),Q=this.wrapper.position(),s=this.container.height(),a=this.container.width(),A=M[E],y=v[E],x=M[y],l={},l[x]="b"===E?h:"r"===E?d:0,w(l,"top",u.top-Q.top),w(l,"left",u.left-Q.left),U=["top","left"],B=0,N=U.length;N>B;B++)H=U[B],g=parseInt(this.elem.css("margin-"+H),10),g&&w(l,H,g);if(f=Math.max(0,this.options.gap-(this.options.arrowShow?o:0)),w(l,x,f),this.options.arrowShow){for(o=this.options.arrowSize,i=n.extend({},l),t=this.userContainer.css("border-color")||this.userContainer.css("background-color")||"white",R=0,P=b.length;P>R;R++)H=b[R],D=M[H],H!==y&&(r=D===A?t:"transparent",i["border-"+D]=""+o+"px solid "+r);w(l,M[y],o),T.call(b,C)>=0&&w(i,M[C],2*o)}else this.arrow.hide();return T.call(F,E)>=0?(w(l,"left",k(C,a,d)),i&&w(i,"left",k(C,o,p))):T.call(m,E)>=0&&(w(l,"top",k(C,s,h)),i&&w(i,"top",k(C,o,c))),this.container.is(":visible")&&(l.display="block"),this.container.removeAttr("style").css(l),i?this.arrow.removeAttr("style").css(i):e},t.prototype.getPosition=function(){var t,i,n,e,o,r,s,a;if(i=this.options.position||(this.elem?this.options.elementPosition:this.options.globalPosition),t=x(i),0===t.length&&(t[0]="b"),n=t[0],0>T.call(b,n))throw"Must be one of ["+b+"]";return(1===t.length||(e=t[0],T.call(F,e)>=0&&(o=t[1],0>T.call(m,o)))||(r=t[0],T.call(m,r)>=0&&(s=t[1],0>T.call(F,s))))&&(t[1]=(a=t[0],T.call(m,a)>=0?"m":"l")),2===t.length&&(t[2]=t[1]),t},t.prototype.getStyle=function(t){var i;if(t||(t=this.options.style),t||(t="default"),i=D[t],!i)throw"Missing style: "+t;return i},t.prototype.updateClasses=function(){var t,i;return t=["base"],n.isArray(this.options.className)?t=t.concat(this.options.className):this.options.className&&t.push(this.options.className),i=this.getStyle(),t=n.map(t,function(t){return""+C+"-"+i.name+"-"+t}).join(" "),this.userContainer.attr("class",t)},t.prototype.run=function(t,i){var o,r,a,l,h,u=this;if(n.isPlainObject(i)?n.extend(this.options,i):"string"===n.type(i)&&(this.options.className=i),this.container&&!t)return this.show(!1),e;if(this.container||t){r={},n.isPlainObject(t)?r=t:r[s]=t;for(a in r)o=r[a],l=this.userFields[a],l&&("text"===l&&(o=c(o),this.options.breakNewLines&&(o=o.replace(/\n/g,"<br/>"))),h=a===s?"":"="+a,p(this.userContainer,"[data-notify-"+l+h+"]").html(o));return this.updateClasses(),this.elem?this.setElementPosition():this.setGlobalPosition(),this.show(!0),this.options.autoHide?(clearTimeout(this.autohideTimer),this.autohideTimer=setTimeout(function(){return u.show(!1)},this.options.autoHideDelay)):e}},t.prototype.destroy=function(){return this.wrapper.remove()},t}(),n[S]=function(t,i,e){return t&&t.nodeName||t.jquery?n(t)[S](i,e):(e=i,i=t,new o(null,i,e)),t},n.fn[S]=function(t,i){return n(this).each(function(){var e;return e=d(n(this)).data(C),e?e.run(t,i):new o(n(this),t,i)}),this},n.extend(n[S],{defaults:h,addStyle:r,pluginOptions:E,getStyle:f,insertCSS:y}),n(function(){return y(a.css).attr("id","core-notify"),n(i).on("click notify-hide","."+C+"-wrapper",function(t){var i;return i=n(this).data(C),i&&(i.options.clickToHide||"notify-hide"===t.type)?i.show(!1):e})})})(window,document,jQuery),$.notify.addStyle("bootstrap",{html:"<div>\n<span data-notify-text></span>\n</div>",classes:{base:{"font-weight":"bold",padding:"8px 15px 8px 14px","text-shadow":"0 1px 0 rgba(255, 255, 255, 0.5)","background-color":"#fcf8e3",border:"1px solid #fbeed5","border-radius":"4px","white-space":"nowrap","padding-left":"25px","background-repeat":"no-repeat","background-position":"3px 7px"},error:{color:"#B94A48","background-color":"#F2DEDE","border-color":"#EED3D7","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtRJREFUeNqkVc1u00AQHq+dOD+0poIQfkIjalW0SEGqRMuRnHos3DjwAH0ArlyQeANOOSMeAA5VjyBxKBQhgSpVUKKQNGloFdw4cWw2jtfMOna6JOUArDTazXi/b3dm55socPqQhFka++aHBsI8GsopRJERNFlY88FCEk9Yiwf8RhgRyaHFQpPHCDmZG5oX2ui2yilkcTT1AcDsbYC1NMAyOi7zTX2Agx7A9luAl88BauiiQ/cJaZQfIpAlngDcvZZMrl8vFPK5+XktrWlx3/ehZ5r9+t6e+WVnp1pxnNIjgBe4/6dAysQc8dsmHwPcW9C0h3fW1hans1ltwJhy0GxK7XZbUlMp5Ww2eyan6+ft/f2FAqXGK4CvQk5HueFz7D6GOZtIrK+srupdx1GRBBqNBtzc2AiMr7nPplRdKhb1q6q6zjFhrklEFOUutoQ50xcX86ZlqaZpQrfbBdu2R6/G19zX6XSgh6RX5ubyHCM8nqSID6ICrGiZjGYYxojEsiw4PDwMSL5VKsC8Yf4VRYFzMzMaxwjlJSlCyAQ9l0CW44PBADzXhe7xMdi9HtTrdYjFYkDQL0cn4Xdq2/EAE+InCnvADTf2eah4Sx9vExQjkqXT6aAERICMewd/UAp/IeYANM2joxt+q5VI+ieq2i0Wg3l6DNzHwTERPgo1ko7XBXj3vdlsT2F+UuhIhYkp7u7CarkcrFOCtR3H5JiwbAIeImjT/YQKKBtGjRFCU5IUgFRe7fF4cCNVIPMYo3VKqxwjyNAXNepuopyqnld602qVsfRpEkkz+GFL1wPj6ySXBpJtWVa5xlhpcyhBNwpZHmtX8AGgfIExo0ZpzkWVTBGiXCSEaHh62/PoR0p/vHaczxXGnj4bSo+G78lELU80h1uogBwWLf5YlsPmgDEd4M236xjm+8nm4IuE/9u+/PH2JXZfbwz4zw1WbO+SQPpXfwG/BBgAhCNZiSb/pOQAAAAASUVORK5CYII=)"},success:{color:"#468847","background-color":"#DFF0D8","border-color":"#D6E9C6","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAutJREFUeNq0lctPE0Ecx38zu/RFS1EryqtgJFA08YCiMZIAQQ4eRG8eDGdPJiYeTIwHTfwPiAcvXIwXLwoXPaDxkWgQ6islKlJLSQWLUraPLTv7Gme32zoF9KSTfLO7v53vZ3d/M7/fIth+IO6INt2jjoA7bjHCJoAlzCRw59YwHYjBnfMPqAKWQYKjGkfCJqAF0xwZjipQtA3MxeSG87VhOOYegVrUCy7UZM9S6TLIdAamySTclZdYhFhRHloGYg7mgZv1Zzztvgud7V1tbQ2twYA34LJmF4p5dXF1KTufnE+SxeJtuCZNsLDCQU0+RyKTF27Unw101l8e6hns3u0PBalORVVVkcaEKBJDgV3+cGM4tKKmI+ohlIGnygKX00rSBfszz/n2uXv81wd6+rt1orsZCHRdr1Imk2F2Kob3hutSxW8thsd8AXNaln9D7CTfA6O+0UgkMuwVvEFFUbbAcrkcTA8+AtOk8E6KiQiDmMFSDqZItAzEVQviRkdDdaFgPp8HSZKAEAL5Qh7Sq2lIJBJwv2scUqkUnKoZgNhcDKhKg5aH+1IkcouCAdFGAQsuWZYhOjwFHQ96oagWgRoUov1T9kRBEODAwxM2QtEUl+Wp+Ln9VRo6BcMw4ErHRYjH4/B26AlQoQQTRdHWwcd9AH57+UAXddvDD37DmrBBV34WfqiXPl61g+vr6xA9zsGeM9gOdsNXkgpEtTwVvwOklXLKm6+/p5ezwk4B+j6droBs2CsGa/gNs6RIxazl4Tc25mpTgw/apPR1LYlNRFAzgsOxkyXYLIM1V8NMwyAkJSctD1eGVKiq5wWjSPdjmeTkiKvVW4f2YPHWl3GAVq6ymcyCTgovM3FzyRiDe2TaKcEKsLpJvNHjZgPNqEtyi6mZIm4SRFyLMUsONSSdkPeFtY1n0mczoY3BHTLhwPRy9/lzcziCw9ACI+yql0VLzcGAZbYSM5CCSZg1/9oc/nn7+i8N9p/8An4JMADxhH+xHfuiKwAAAABJRU5ErkJggg==)"},info:{color:"#3A87AD","background-color":"#D9EDF7","border-color":"#BCE8F1","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYFAhkSsdes/QAAA8dJREFUOMvVlGtMW2UYx//POaWHXg6lLaW0ypAtw1UCgbniNOLcVOLmAjHZolOYlxmTGXVZdAnRfXQm+7SoU4mXaOaiZsEpC9FkiQs6Z6bdCnNYruM6KNBw6YWewzl9z+sHImEWv+vz7XmT95f/+3/+7wP814v+efDOV3/SoX3lHAA+6ODeUFfMfjOWMADgdk+eEKz0pF7aQdMAcOKLLjrcVMVX3xdWN29/GhYP7SvnP0cWfS8caSkfHZsPE9Fgnt02JNutQ0QYHB2dDz9/pKX8QjjuO9xUxd/66HdxTeCHZ3rojQObGQBcuNjfplkD3b19Y/6MrimSaKgSMmpGU5WevmE/swa6Oy73tQHA0Rdr2Mmv/6A1n9w9suQ7097Z9lM4FlTgTDrzZTu4StXVfpiI48rVcUDM5cmEksrFnHxfpTtU/3BFQzCQF/2bYVoNbH7zmItbSoMj40JSzmMyX5qDvriA7QdrIIpA+3cdsMpu0nXI8cV0MtKXCPZev+gCEM1S2NHPvWfP/hL+7FSr3+0p5RBEyhEN5JCKYr8XnASMT0xBNyzQGQeI8fjsGD39RMPk7se2bd5ZtTyoFYXftF6y37gx7NeUtJJOTFlAHDZLDuILU3j3+H5oOrD3yWbIztugaAzgnBKJuBLpGfQrS8wO4FZgV+c1IxaLgWVU0tMLEETCos4xMzEIv9cJXQcyagIwigDGwJgOAtHAwAhisQUjy0ORGERiELgG4iakkzo4MYAxcM5hAMi1WWG1yYCJIcMUaBkVRLdGeSU2995TLWzcUAzONJ7J6FBVBYIggMzmFbvdBV44Corg8vjhzC+EJEl8U1kJtgYrhCzgc/vvTwXKSib1paRFVRVORDAJAsw5FuTaJEhWM2SHB3mOAlhkNxwuLzeJsGwqWzf5TFNdKgtY5qHp6ZFf67Y/sAVadCaVY5YACDDb3Oi4NIjLnWMw2QthCBIsVhsUTU9tvXsjeq9+X1d75/KEs4LNOfcdf/+HthMnvwxOD0wmHaXr7ZItn2wuH2SnBzbZAbPJwpPx+VQuzcm7dgRCB57a1uBzUDRL4bfnI0RE0eaXd9W89mpjqHZnUI5Hh2l2dkZZUhOqpi2qSmpOmZ64Tuu9qlz/SEXo6MEHa3wOip46F1n7633eekV8ds8Wxjn37Wl63VVa+ej5oeEZ/82ZBETJjpJ1Rbij2D3Z/1trXUvLsblCK0XfOx0SX2kMsn9dX+d+7Kf6h8o4AIykuffjT8L20LU+w4AZd5VvEPY+XpWqLV327HR7DzXuDnD8r+ovkBehJ8i+y8YAAAAASUVORK5CYII=)"},warn:{color:"#C09853","background-color":"#FCF8E3","border-color":"#FBEED5","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABJlBMVEXr6eb/2oD/wi7/xjr/0mP/ykf/tQD/vBj/3o7/uQ//vyL/twebhgD/4pzX1K3z8e349vK6tHCilCWbiQymn0jGworr6dXQza3HxcKkn1vWvV/5uRfk4dXZ1bD18+/52YebiAmyr5S9mhCzrWq5t6ufjRH54aLs0oS+qD751XqPhAybhwXsujG3sm+Zk0PTwG6Shg+PhhObhwOPgQL4zV2nlyrf27uLfgCPhRHu7OmLgAafkyiWkD3l49ibiAfTs0C+lgCniwD4sgDJxqOilzDWowWFfAH08uebig6qpFHBvH/aw26FfQTQzsvy8OyEfz20r3jAvaKbhgG9q0nc2LbZxXanoUu/u5WSggCtp1anpJKdmFz/zlX/1nGJiYmuq5Dx7+sAAADoPUZSAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfdBgUBGhh4aah5AAAAlklEQVQY02NgoBIIE8EUcwn1FkIXM1Tj5dDUQhPU502Mi7XXQxGz5uVIjGOJUUUW81HnYEyMi2HVcUOICQZzMMYmxrEyMylJwgUt5BljWRLjmJm4pI1hYp5SQLGYxDgmLnZOVxuooClIDKgXKMbN5ggV1ACLJcaBxNgcoiGCBiZwdWxOETBDrTyEFey0jYJ4eHjMGWgEAIpRFRCUt08qAAAAAElFTkSuQmCC)"}}}); \ No newline at end of file From fe27756b06c74783f6a40b45f9a46a488ab07e44 Mon Sep 17 00:00:00 2001 From: Ting-Kuan <gintau2000@gmail.com> Date: Fri, 4 Apr 2014 12:52:22 -0400 Subject: [PATCH 02/79] Pull from upsatream. --- app/application.coffee | 4 +- app/assets/index.html | 166 --- app/initialize.coffee | 10 +- app/lib/FacebookHandler.coffee | 3 +- app/lib/GPlusHandler.coffee | 3 +- app/lib/Router.coffee | 2 - app/lib/auth.coffee | 65 +- app/lib/surface/CocoSprite.coffee | 11 +- app/lib/world/GoalManager.coffee | 14 +- app/lib/world/names.coffee | 17 + app/lib/world/thang.coffee | 2 +- app/lib/world/thang_state.coffee | 12 +- app/locale/ar.coffee | 10 +- app/locale/bg.coffee | 10 +- app/locale/ca.coffee | 10 +- app/locale/cs.coffee | 8 +- app/locale/da.coffee | 10 +- app/locale/de.coffee | 116 +- app/locale/el.coffee | 10 +- app/locale/en-AU.coffee | 10 +- app/locale/en-GB.coffee | 10 +- app/locale/en-US.coffee | 10 +- app/locale/en.coffee | 36 +- app/locale/es-419.coffee | 10 +- app/locale/es-ES.coffee | 36 +- app/locale/es.coffee | 10 +- app/locale/fa.coffee | 10 +- app/locale/fi.coffee | 10 +- app/locale/fr.coffee | 10 +- app/locale/he.coffee | 10 +- app/locale/hi.coffee | 10 +- app/locale/hu.coffee | 10 +- app/locale/id.coffee | 10 +- app/locale/it.coffee | 10 +- app/locale/ja.coffee | 10 +- app/locale/ko.coffee | 10 +- app/locale/lt.coffee | 10 +- app/locale/ms.coffee | 101 +- app/locale/nb.coffee | 10 +- app/locale/nl-BE.coffee | 224 ++-- app/locale/nl-NL.coffee | 224 ++-- app/locale/nl.coffee | 56 +- app/locale/nn.coffee | 10 +- app/locale/no.coffee | 10 +- app/locale/pl.coffee | 6 + app/locale/pt-BR.coffee | 24 +- app/locale/pt-PT.coffee | 92 +- app/locale/pt.coffee | 10 +- app/locale/ro.coffee | 64 +- app/locale/ru.coffee | 44 +- app/locale/sk.coffee | 10 +- app/locale/sl.coffee | 10 +- app/locale/sr.coffee | 10 +- app/locale/sv.coffee | 10 +- app/locale/th.coffee | 10 +- app/locale/tr.coffee | 10 +- app/locale/uk.coffee | 62 +- app/locale/ur.coffee | 10 +- app/locale/vi.coffee | 10 +- app/locale/zh-HANS.coffee | 8 +- app/locale/zh-HANT.coffee | 10 +- app/locale/zh.coffee | 10 +- app/models/CocoModel.coffee | 10 +- app/styles/base.sass | 44 +- app/styles/bootstrap/_bootswatch.scss | 1 + app/styles/common/top_nav.sass | 32 +- app/styles/home.sass | 35 + app/styles/play.sass | 10 +- app/styles/play/ladder.sass | 5 + app/styles/play/ladder/ladder_tab.sass | 6 + app/styles/play/ladder/my_matches_tab.sass | 13 + app/templates/base.jade | 46 +- app/templates/contribute/artisan.jade | 5 +- app/templates/contribute/contribute.jade | 5 +- app/templates/editor/level/thangs_tab.jade | 5 + app/templates/home.jade | 5 +- app/templates/loading.jade | 14 +- app/templates/loading_error.jade | 31 + app/templates/play.jade | 2 +- app/templates/play/ladder/ladder_tab.jade | 1 + app/templates/play/ladder/my_matches_tab.jade | 12 +- app/templates/play/level/level_loading.jade | 2 + .../play/level/modal/editor_config.jade | 11 +- app/views/editor/article/edit.coffee | 14 +- app/views/editor/components/main.coffee | 9 +- app/views/editor/level/edit.coffee | 7 +- app/views/editor/level/thangs_tab_view.coffee | 30 +- app/views/editor/thang/colors_tab_view.coffee | 4 + app/views/editor/thang/edit.coffee | 7 +- app/views/kinds/CocoView.coffee | 123 +- app/views/kinds/RootView.coffee | 4 +- app/views/modal/signup_modal.coffee | 4 +- app/views/play/ladder/ladder_tab.coffee | 97 +- app/views/play/ladder/my_matches_tab.coffee | 66 + app/views/play/ladder_view.coffee | 17 +- .../level/modal/editor_config_modal.coffee | 19 +- .../play/level/modal/victory_modal.coffee | 2 +- app/views/play/level/playback_view.coffee | 1 - app/views/play/level/tome/spell.coffee | 9 + app/views/play/level/tome/spell_view.coffee | 28 +- app/views/play/level/tome/tome_view.coffee | 4 + app/views/play/level_view.coffee | 18 +- app/views/play_view.coffee | 24 +- bower.json | 5 +- config.coffee | 1 + scripts/devSetup/ruby.py | 2 +- .../coco-dev-setup/batch/config/config.coco | 11 +- .../batch/config/downloads.coco | 59 +- .../batch/config/finished_header.coco | 7 + .../batch/config/github_header.coco | 7 + .../coco-dev-setup/batch/config/info.coco | 9 - .../batch/config/install_header.coco | 7 + .../batch/config/npm_and_brunch_header.coco | 7 + .../coco-dev-setup/batch/config/readme.coco | 29 + .../coco-dev-setup/batch/config/tips.coco | 12 +- .../coco-dev-setup/batch/get_config.bat | 4 - .../coco-dev-setup/batch/get_download.bat | 4 - .../windows/coco-dev-setup/batch/get_text.bat | 4 - .../windows/coco-dev-setup/batch/get_var.exe | Bin 28160 -> 0 bytes .../coco-dev-setup/batch/localisation/de.coco | 82 ++ .../coco-dev-setup/batch/localisation/en.coco | 123 +- .../coco-dev-setup/batch/localisation/fr.coco | 82 ++ .../batch/localisation/languages.coco | 7 + .../coco-dev-setup/batch/localisation/nl.coco | 123 +- .../batch/localisation/zh-HANS.coco | 82 ++ .../batch/localisation/zh-HANT.coco | 82 ++ .../coco-dev-setup/batch/localisation/zh.coco | 82 ++ .../coco-dev-setup/batch/print_header.bat | 4 - .../coco-dev-setup/batch/print_info.bat | 4 - .../coco-dev-setup/batch/print_license.bat | 4 - .../coco-dev-setup/batch/print_tips.bat | 4 - .../batch/scripts/ask_question.bat | 5 + .../scripts/download_and_install_app.bat | 68 ++ .../download_and_install_applications.bat | 53 + .../batch/scripts/get_array.bat | 6 + .../batch/scripts/get_config.bat | 3 + .../batch/scripts/get_download.bat | 3 + .../batch/scripts/get_extension.bat | 3 + .../batch/scripts/get_extension.ps1 | 18 + .../batch/scripts/get_language.bat | 36 + .../batch/scripts/get_local_text.bat | 1 + .../batch/scripts/get_path_safe.bat | 10 + .../batch/scripts/get_system_information.bat | 31 + .../coco-dev-setup/batch/scripts/get_text.bat | 3 + .../coco-dev-setup/batch/scripts/get_var.ps1 | 27 + .../batch/scripts/get_variables.bat | 4 + .../batch/scripts/get_variables.ps1 | 33 + .../batch/scripts/github_setup.bat | 115 ++ .../batch/scripts/npm_and_brunch_setup.bat | 89 ++ .../batch/scripts/open_readme.bat | 1 + .../batch/scripts/open_text_file.bat | 1 + .../batch/scripts/print_dashed_seperator.bat | 3 + .../batch/scripts/print_exit.bat | 2 + .../batch/{ => scripts}/print_file.bat | 11 +- .../batch/scripts/print_finished_header.bat | 1 + .../batch/scripts/print_github_header.bat | 1 + .../batch/scripts/print_header.bat | 1 + .../batch/scripts/print_info.bat | 1 + .../batch/scripts/print_install_header.bat | 1 + .../batch/scripts/print_license.bat | 1 + .../scripts/print_npm_and_brunch_header.bat | 1 + .../batch/scripts/print_seperator.bat | 3 + .../batch/scripts/print_tips.bat | 1 + .../batch/scripts/run_script.bat | 2 + .../coco-dev-setup/batch/scripts/setup.bat | 67 ++ .../batch/scripts/sign_license.bat | 15 + .../windows/coco-dev-setup/batch/setup.bat | 2 + .../coco-dev-setup/dev-setup-packer.bat | 23 +- .../{batch => }/recycle_bin/dev-setup.bat | 1064 ++++++++--------- .../{batch => }/recycle_bin/git-test.bat | 98 +- server/commons/Handler.coffee | 25 +- .../sessions/level_session_handler.coffee | 7 +- server/queues/scoring.coffee | 400 ++++--- server/routes/auth.coffee | 41 +- server/users/user_handler.coffee | 24 +- server/users/user_schema.coffee | 1 + server_setup.coffee | 16 +- 177 files changed, 3782 insertions(+), 1929 deletions(-) delete mode 100644 app/assets/index.html create mode 100644 app/styles/play/ladder/ladder_tab.sass create mode 100644 app/styles/play/ladder/my_matches_tab.sass create mode 100644 app/templates/loading_error.jade create mode 100644 scripts/windows/coco-dev-setup/batch/config/finished_header.coco create mode 100644 scripts/windows/coco-dev-setup/batch/config/github_header.coco delete mode 100755 scripts/windows/coco-dev-setup/batch/config/info.coco create mode 100644 scripts/windows/coco-dev-setup/batch/config/install_header.coco create mode 100644 scripts/windows/coco-dev-setup/batch/config/npm_and_brunch_header.coco create mode 100644 scripts/windows/coco-dev-setup/batch/config/readme.coco delete mode 100755 scripts/windows/coco-dev-setup/batch/get_config.bat delete mode 100755 scripts/windows/coco-dev-setup/batch/get_download.bat delete mode 100755 scripts/windows/coco-dev-setup/batch/get_text.bat delete mode 100755 scripts/windows/coco-dev-setup/batch/get_var.exe create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/de.coco create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/fr.coco create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/languages.coco create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/zh.coco delete mode 100755 scripts/windows/coco-dev-setup/batch/print_header.bat delete mode 100755 scripts/windows/coco-dev-setup/batch/print_info.bat delete mode 100755 scripts/windows/coco-dev-setup/batch/print_license.bat delete mode 100755 scripts/windows/coco-dev-setup/batch/print_tips.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/ask_question.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/download_and_install_app.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_array.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_config.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_download.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_extension.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_extension.ps1 create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_language.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_local_text.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_path_safe.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_text.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_var.ps1 create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_variables.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/get_variables.ps1 create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/github_setup.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/npm_and_brunch_setup.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/open_text_file.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat rename scripts/windows/coco-dev-setup/batch/{ => scripts}/print_file.bat (58%) mode change 100755 => 100644 create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_finished_header.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_github_header.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_header.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_info.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_install_header.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_license.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_npm_and_brunch_header.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/run_script.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/setup.bat create mode 100644 scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat create mode 100644 scripts/windows/coco-dev-setup/batch/setup.bat rename scripts/windows/coco-dev-setup/{batch => }/recycle_bin/dev-setup.bat (95%) mode change 100755 => 100644 rename scripts/windows/coco-dev-setup/{batch => }/recycle_bin/git-test.bat (95%) mode change 100755 => 100644 diff --git a/app/application.coffee b/app/application.coffee index cc6acd63b..f44287599 100644 --- a/app/application.coffee +++ b/app/application.coffee @@ -5,10 +5,12 @@ locale = require 'locale/locale' Tracker = require 'lib/Tracker' CocoView = require 'views/kinds/CocoView' +# Prevent Ctrl/Cmd + [ / ], P, S +ctrlDefaultPrevented = [219, 221, 80, 83] preventBackspace = (event) -> if event.keyCode is 8 and not elementAcceptsKeystrokes(event.srcElement or event.target) event.preventDefault() - else if (key.ctrl or key.command) and not key.alt and event.keyCode in [219, 221] # prevent Ctrl/Cmd + [ / ] + else if (key.ctrl or key.command) and not key.alt and event.keyCode in ctrlDefaultPrevented event.preventDefault() elementAcceptsKeystrokes = (el) -> diff --git a/app/assets/index.html b/app/assets/index.html deleted file mode 100644 index b558ff66f..000000000 --- a/app/assets/index.html +++ /dev/null @@ -1,166 +0,0 @@ -<!doctype html> -<!--[if lt IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> -<!--[if IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8" lang="en"> <![endif]--> -<!--[if IE 8]> <html class="lt-ie10 lt-ie9" lang="en"> <![endif]--> -<!--[if IE 9]> <html class="lt-ie10" lang="en"> <![endif]--> -<!--[if !IE]><!--><html lang="en"> <!--<![endif]--> -<head> - <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]--> - <!--<script src="http://ie.microsoft.com/TestDrive/HTML5/CompatInspector/inspector.js"></script>--> <!-- for testing IE compatibility issues --> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width,initial-scale=1"> - - <title>CodeCombat - Learn how to code by playing a game</title> - <meta name="description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!"> - - <meta property="og:title" content="CodeCombat: Multiplayer Programming"> - <meta property="og:url" content="http://codecombat.com"> - <meta property="og:type" content="game"> - <meta property="og:image" content="http://codecombat.com/images/pages/home/front_screenshot_01.png"> - <meta property="og:site_name" content="CodeCombat"> - - <meta name="twitter:card" content="summary"> - <meta name="twitter:title" content="CodeCombat: Multiplayer Programming"> - <meta name="twitter:url" content="http://codecombat.com"> - <meta name="twitter:site" content="CodeCombat"> - <meta name="twitter:image:src" content="http://codecombat.com/images/pages/base/logo_square_250.png"> - <meta name="twitter:description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!"> - - - <link href="https://plus.google.com/115285980638641924488" rel="publisher" /> - - <link rel="shortcut icon" href="/images/favicon.ico"> - <link rel="stylesheet" href="/stylesheets/app.css"> - <script src="/lib/ace/ace.js"></script> - <!--[if IE 9]> <script src="/javascripts/vendor_with_box2d.js"></script> <![endif]--> - <!--[if !IE]><!--> <script src="/javascripts/vendor.js"></script> <!--<![endif]--> - <script src="/javascripts/app.js"></script> <!-- it's all Backbone! --> - <script>require('initialize');</script> - - - <!-- begin segment.io code --> - <script type="text/javascript"> - var analytics=analytics||[];(function(){var e=["identify","track","trackLink","trackForm","trackClick","trackSubmit","page","pageview","ab","alias","ready","group"],t=function(e){return function(){analytics.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var n=0;n<e.length;n++)analytics[e[n]]=t(e[n])})(),analytics.load=function(e){var t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https://":"http://")+"d2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/"+e+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)}; - analytics.load("jsjzx9n4d2"); - </script> - <!-- end segment.io code --> - - <!-- begin olark code --> - <script data-cfasync="false" type='text/javascript'>/*<![CDATA[*/window.olark||(function(c){var f=window,d=document,l=f.location.protocol=="https:"?"https:":"http:",z=c.name,r="load";var nt=function(){ - f[z]=function(){ - (a.s=a.s||[]).push(arguments)};var a=f[z]._={ - },q=c.methods.length;while(q--){(function(n){f[z][n]=function(){ - f[z]("call",n,arguments)}})(c.methods[q])}a.l=c.loader;a.i=nt;a.p={ - 0:+new Date};a.P=function(u){ - a.p[u]=new Date-a.p[0]};function s(){ - a.P(r);f[z](r)}f.addEventListener?f.addEventListener(r,s,false):f.attachEvent("on"+r,s);var ld=function(){function p(hd){ - hd="head";return["<",hd,"></",hd,"><",i,' onl' + 'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',"></",i,">"].join("")}var i="body",m=d[i];if(!m){ - return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){ - b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{ - b.contentWindow[g].open()}catch(w){ - c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{ - var t=b.contentWindow[g];t.write(p());t.close()}catch(x){ - b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()})({ - loader: "static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]}); - /* custom configuration goes here (www.olark.com/documentation) */ - olark.identify('1451-787-10-5544');/*]]>*/</script> - <!-- end olark code --> - -</head> -<body> - <div id="fb-root"></div> - -<!-- begin facebook code --> - <script> - // Additional JS functions here - window.fbAsyncInit = function() { - Backbone.Mediator.publish('fbapi-loaded'); - FB.init({ - appId : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID - channelUrl : document.location.origin +'/channel.html', // Channel File - status : true, // check login status - cookie : true, // enable cookies to allow the server to access the session - xfbml : true // parse XFBML - }); - - // This is fired for any auth related change, such as login, logout or session refresh. - FB.Event.subscribe('auth.authResponseChange', function(response) { - // Here we specify what we do with the response anytime this event occurs. - if (response.status === 'connected') { - // They have logged in to the app. - Backbone.Mediator.publish('facebook-logged-in', {response:response}); - } else if (response.status === 'not_authorized') { - // The person is logged into Facebook, but not into the app. - } else { - // The person is not logged into Facebook - } - }); - }; - - // Load the SDK asynchronously - (function(d){ - var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; - if (d.getElementById(id)) {return;} - js = d.createElement('script'); js.id = id; js.async = true; - js.src = "//connect.facebook.net/en_US/all.js"; - //js.src = "//connect.facebook.net/en_US/all/debug.js"; - ref.parentNode.insertBefore(js, ref); - }(document)); - </script> - <!-- end facebook code --> - - - <header class="header-container" id="header-container"></header> - - <div id="page-container"></div> - <!-- - <div class="antiscroll-wrap"> - <div class="antiscroll-inner"> - <div id="page-container"></div> - </div> - </div> - --> - - <div id="modal-wrapper"></div> - - <!-- begin google api/plus code --> - <script type="text/javascript"> - (function() { - var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; - po.src = 'https://apis.google.com/js/client:plusone.js?onload=onGPlusLoaded'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); - })(); - - function onGPlusLoaded() { - Backbone.Mediator.publish('gapi-loaded'); - } - - function signinCallback(authResult) { - if (authResult['access_token']) { - Backbone.Mediator.publish('gplus-logged-in', authResult) - } - } - </script> - <!-- end google api/plus code --> - - <!-- begin twitter code --> - <script> - (function (d,s,id) { - var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https'; - if(!d.getElementById(id)) { - js = d.createElement(s); - js.id = id; - js.src = p + '://platform.twitter.com/widgets.js'; - fjs.parentNode.insertBefore(js, fjs); - } - })(document, 'script', 'twitter-wjs'); - </script> - <!-- end twitter code --> - - <!-- begin filepicker.io code --> - <script type="text/javascript"> - (function(a){if(window.filepicker){return}var b=a.createElement("script");b.type="text/javascript";b.async=!0;b.src=("https:"===a.location.protocol?"https:":"http:")+"//api.filepicker.io/v1/filepicker.js";var c=a.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c);var d={};d._queue=[];var e="pick,pickMultiple,pickAndStore,read,write,writeUrl,export,convert,store,storeUrl,remove,stat,setKey,constructWidget,makeDropPane".split(",");var f=function(a,b){return function(){b.push([a,arguments])}};for(var g=0;g<e.length;g++){d[e[g]]=f(e[g],d._queue)}window.filepicker=d})(document); - </script> - <!-- end filepicker.io code --> -</body> -</html> diff --git a/app/initialize.coffee b/app/initialize.coffee index 7670088db..80c33c9b7 100644 --- a/app/initialize.coffee +++ b/app/initialize.coffee @@ -1,5 +1,4 @@ app = require 'application' -auth = require 'lib/auth' init = -> app.initialize() @@ -10,15 +9,8 @@ init = -> treemaExt.setup() filepicker.setKey('AvlkNoldcTOU4PvKi2Xm7z') -$ -> - # Make sure we're "logged in" first. - if auth.me.id - init() - else - Backbone.Mediator.subscribeOnce 'me:synced', init +$ -> init() -window.init = init - handleNormalUrls = -> # http://artsy.github.com/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/ $(document).on "click", "a[href^='/']", (event) -> diff --git a/app/lib/FacebookHandler.coffee b/app/lib/FacebookHandler.coffee index ffd61b5a1..10a59c40c 100644 --- a/app/lib/FacebookHandler.coffee +++ b/app/lib/FacebookHandler.coffee @@ -1,5 +1,5 @@ CocoClass = require 'lib/CocoClass' -{me, CURRENT_USER_KEY} = require 'lib/auth' +{me} = require 'lib/auth' {backboneFailure} = require 'lib/errors' storage = require 'lib/storage' @@ -59,7 +59,6 @@ module.exports = FacebookHandler = class FacebookHandler extends CocoClass error: backboneFailure, url: "/db/user?facebookID=#{r.id}&facebookAccessToken=#{@authResponse.accessToken}" success: (model) -> - storage.save(CURRENT_USER_KEY, model.attributes) window.location.reload() if model.get('email') isnt oldEmail }) diff --git a/app/lib/GPlusHandler.coffee b/app/lib/GPlusHandler.coffee index 2ffd27805..8565a2075 100644 --- a/app/lib/GPlusHandler.coffee +++ b/app/lib/GPlusHandler.coffee @@ -1,5 +1,5 @@ CocoClass = require 'lib/CocoClass' -{me, CURRENT_USER_KEY} = require 'lib/auth' +{me} = require 'lib/auth' {backboneFailure} = require 'lib/errors' storage = require 'lib/storage' GPLUS_TOKEN_KEY = 'gplusToken' @@ -102,7 +102,6 @@ module.exports = GPlusHandler = class GPlusHandler extends CocoClass error: backboneFailure, url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken.access_token}" success: (model) -> - storage.save(CURRENT_USER_KEY, model.attributes) window.location.reload() if wasAnonymous and not model.get('anonymous') }) diff --git a/app/lib/Router.coffee b/app/lib/Router.coffee index 65915dd56..7c12e1cb8 100644 --- a/app/lib/Router.coffee +++ b/app/lib/Router.coffee @@ -1,5 +1,3 @@ -{me} = require 'lib/auth' - gplusClientID = "800329290710-j9sivplv2gpcdgkrsis9rff3o417mlfa.apps.googleusercontent.com" go = (path) -> -> @routeDirectly path, arguments diff --git a/app/lib/auth.coffee b/app/lib/auth.coffee index 5a14effb0..d46733089 100644 --- a/app/lib/auth.coffee +++ b/app/lib/auth.coffee @@ -1,17 +1,24 @@ {backboneFailure, genericFailure} = require 'lib/errors' User = require 'models/User' storage = require 'lib/storage' - -module.exports.CURRENT_USER_KEY = CURRENT_USER_KEY = 'whoami' BEEN_HERE_BEFORE_KEY = 'beenHereBefore' -module.exports.createUser = (userObject, failure=backboneFailure) -> +init = -> + module.exports.me = window.me = new User(window.userObject) # inserted into main.html + trackFirstArrival() + if me and not me.get('testGroupNumber')? + # Assign testGroupNumber to returning visitors; new ones in server/routes/auth + me.set 'testGroupNumber', Math.floor(Math.random() * 256) + me.save() + + me.loadGravatarProfile() if me.get('email') + Backbone.listenTo(me, 'sync', Backbone.Mediator.publish('me:synced', {me:me})) + +module.exports.createUser = (userObject, failure=backboneFailure, nextURL=null) -> user = new User(userObject) user.save({}, { - error: failure, - success: (model) -> - storage.save(CURRENT_USER_KEY, model) - window.location.reload() + error: failure, + success: -> if nextURL then window.location.href = nextURL else window.location.reload() }) module.exports.loginUser = (userObject, failure=genericFailure) -> @@ -20,52 +27,15 @@ module.exports.loginUser = (userObject, failure=genericFailure) -> username:userObject.email, password:userObject.password }, - (model) -> - storage.save(CURRENT_USER_KEY, model) - window.location.reload() + (model) -> window.location.reload() ) jqxhr.fail(failure) module.exports.logoutUser = -> FB?.logout?() - res = $.post('/auth/logout', {}, -> - storage.save(CURRENT_USER_KEY, null) - window.location.reload() - ) + res = $.post('/auth/logout', {}, -> window.location.reload()) res.fail(genericFailure) -init = -> - # Load the user from local storage, and refresh it from the server. - # Also refresh and cache the gravatar info. - - storedUser = storage.load(CURRENT_USER_KEY) - firstTime = not storedUser - module.exports.me = window.me = new User(storedUser) - me.url = -> '/auth/whoami' - me.fetch() - - retry = -> me.fetch() # blindly try again - error = -> setTimeout(retry, 1000) # blindly try again - me.on 'error', error, @ - me.on 'sync', -> - me.off 'error', error, @ if firstTime - me.url = -> "/db/user/#{me.id}" - trackFirstArrival() if firstTime - if me and not me.get('testGroupNumber')? - # Assign testGroupNumber to returning visitors; new ones in server/handlers/user - me.set 'testGroupNumber', Math.floor(Math.random() * 256) - me.save() - storage.save(CURRENT_USER_KEY, me.attributes) - - me.loadGravatarProfile() if me.get('email') - Backbone.listenTo(me, 'sync', userSynced) - -userSynced = (user) -> - Backbone.Mediator.publish('me:synced', {me:user}) - storage.save(CURRENT_USER_KEY, user) - -init() - onSetVolume = (e) -> return if e.volume is me.get('volume') me.set('volume', e.volume) @@ -80,3 +50,6 @@ trackFirstArrival = -> return if beenHereBefore window.tracker?.trackEvent 'First Arrived' storage.save(BEEN_HERE_BEFORE_KEY, true) + +init() + diff --git a/app/lib/surface/CocoSprite.coffee b/app/lib/surface/CocoSprite.coffee index 04942a549..e77d5de4f 100644 --- a/app/lib/surface/CocoSprite.coffee +++ b/app/lib/surface/CocoSprite.coffee @@ -253,12 +253,12 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass return scaleX = if @getActionProp 'flipX' then -1 else 1 scaleY = if @getActionProp 'flipY' then -1 else 1 - if @thang.maximizesArc and @thangType.get('name') in ['Arrow', 'Spear'] + if @thangType.get('name') in ['Arrow', 'Spear'] # Scales the arrow so it appears longer when flying parallel to horizon. # To do that, we convert angle to [0, 90] (mirroring half-planes twice), then make linear function out of it: # (a - x) / a: equals 1 when x = 0, equals 0 when x = a, monotonous in between. That gives us some sort of # degenerative multiplier. - # For our puproses, a = 90 - the direction straight upwards. + # For our purposes, a = 90 - the direction straight upwards. # Then we use r + (1 - r) * x function with r = 0.5, so that # maximal scale equals 1 (when x is at it's maximum) and minimal scale is 0.5. # Notice that the value of r is empirical. @@ -289,12 +289,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass rotation = @getRotation() if @thangType.get('name') in ['Arrow', 'Spear'] # Rotates the arrow to see it arc based on velocity.z. - # At midair we must see the original angle (delta = 0), but at launch time - # and arrow must point upwards/downwards respectively. - # The curve must consider two variables: speed and angle to camera: - # higher angle -> higher steep - # higher speed -> higher steep (0 at midpoint). - # All constants are empirical. Notice that rotation here does not affect thang's state - it is just the effect. + # Notice that rotation here does not affect thang's state - it is just the effect. # Thang's rotation is always pointing where it is heading. vz = @thang.velocity.z if vz and speed = @thang.velocity.magnitude(true) diff --git a/app/lib/world/GoalManager.coffee b/app/lib/world/GoalManager.coffee index 3bebeca92..4d85d9c3a 100644 --- a/app/lib/world/GoalManager.coffee +++ b/app/lib/world/GoalManager.coffee @@ -125,9 +125,9 @@ module.exports = class GoalManager extends CocoClass keyFrame: 0 # when it became a 'success' or 'failure' } @initGoalState(state, [goal.killThangs, goal.saveThangs], 'killed') - for getTo in goal.getAllToLocations ? [] + for getTo in goal.getAllToLocations ? [] @initGoalState(state,[ getTo.getToLocation?.who , [] ], 'arrived') - for keepFrom in goal.keepAllFromLocations ? [] + for keepFrom in goal.keepAllFromLocations ? [] @initGoalState(state,[ [] , keepFrom.keepFromLocation?.who], 'arrived') @initGoalState(state, [goal.getToLocations?.who, goal.keepFromLocations?.who], 'arrived') @initGoalState(state, [goal.leaveOffSides?.who, goal.keepFromLeavingOffSides?.who], 'left') @@ -146,11 +146,11 @@ module.exports = class GoalManager extends CocoClass onThangTouchedGoal: (e, frameNumber) -> for goal in @goals ? [] @checkArrived(goal.id, goal.getToLocations.who, goal.getToLocations.targets, e.actor, e.touched.id, frameNumber) if goal.getToLocations? - if goal.getAllToLocations? + if goal.getAllToLocations? for getTo in goal.getAllToLocations @checkArrived(goal.id, getTo.getToLocation.who, getTo.getToLocation.targets, e.actor, e.touched.id, frameNumber) @checkArrived(goal.id, goal.keepFromLocations.who, goal.keepFromLocations.targets, e.actor, e.touched.id, frameNumber) if goal.keepFromLocations? - if goal.keepAllFromLocations? + if goal.keepAllFromLocations? for keepFrom in goal.keepAllFromLocations @checkArrived(goal.id, keepFrom.keepFromLocation.who , keepFrom.keepFromLocation.targets, e.actor, e.touched.id, frameNumber ) @@ -200,7 +200,7 @@ module.exports = class GoalManager extends CocoClass initGoalState: (state, whos, progressObjectName) -> # 'whos' is an array of goal 'who' values. # This inits the progress object for the goal tracking. - + arrays = (prop for prop in whos when prop?.length) return unless arrays.length state[progressObjectName] = {} @@ -221,7 +221,7 @@ module.exports = class GoalManager extends CocoClass victory = overallStatus is "success" tentative = overallStatus is "success" @world.endWorld victory, mostEagerGoal.worldEndsAfter, tentative if mostEagerGoal isnt Infinity - + updateGoalState: (goalID, thangID, progressObjectName, frameNumber) -> # A thang has done something related to the goal! # Mark it down and update the goal state. @@ -236,7 +236,7 @@ module.exports = class GoalManager extends CocoClass # saveThangs: by default we would want to save all the Thangs, which means that we would want none of them to be "done" numNeeded = _.size(stateThangs) - Math.min((goal.howMany ? 1), _.size stateThangs) + 1 numDone = _.filter(stateThangs).length - #console.log "needed", numNeeded, "done", numDone, "of total", _.size(stateThangs), "with how many", goal.howMany + #console.log "needed", numNeeded, "done", numDone, "of total", _.size(stateThangs), "with how many", goal.howMany, "and stateThangs", stateThangs return unless numDone >= numNeeded return if state.status and not success # already failed it; don't wipe keyframe state.status = if success then "success" else "failure" diff --git a/app/lib/world/names.coffee b/app/lib/world/names.coffee index 04d8e1fc6..fc0a6aff9 100644 --- a/app/lib/world/names.coffee +++ b/app/lib/world/names.coffee @@ -49,6 +49,8 @@ module.exports.thangNames = thangNames = "Stormy" "Halle" "Sage" + "Ryan" + "Bond" ] "Soldier F": [ "Sarah" @@ -64,6 +66,8 @@ module.exports.thangNames = thangNames = "Lukaz" "Gorgin" "Coco" + "Buffy" + "Allankrita" ] "Peasant": [ "Yorik" @@ -88,10 +92,13 @@ module.exports.thangNames = thangNames = "Gawain" "Durfkor" "Paps" + "Hodor" ] "Peasant F": [ "Hilda" "Icey" + "Matilda" + "Mertia" ] "Archer F": [ "Phoebe" @@ -123,6 +130,7 @@ module.exports.thangNames = thangNames = "Luna" "Alleria" "Vereesa" + "Beatrice" ] "Archer M": [ "Brian" @@ -143,6 +151,7 @@ module.exports.thangNames = thangNames = "Vican" "Mars" "Dev" + "Oliver" ] "Ogre Munchkin M": [ "Brack" @@ -191,6 +200,8 @@ module.exports.thangNames = thangNames = "Tarlok" "Gurulax" "Mokrul" + "Polifemo" + "Muthyala" ] "Ogre F": [ "Nareng" @@ -260,6 +271,7 @@ module.exports.thangNames = thangNames = "Gom" "Gogg" "Ghuk" + "Makas" ] "Ogre Thrower": [ "Kyrgg" @@ -276,6 +288,7 @@ module.exports.thangNames = thangNames = "Makas" "Rakash" "Drumbaa" + "Pinakin" ] "Burl": [ "Borlit" @@ -283,18 +296,22 @@ module.exports.thangNames = thangNames = ] "Griffin Rider": [ "Aeoldan" + "Bestarius" ] "Potion Master": [ "Snake" "Amaranth" "Zander" "Arora" + "Curie" + "Clause" ] "Librarian": [ "Hushbaum" "Matilda" "Agnes" "Agathe" + "Satish" ] "Equestrian": [ "Reynaldo" diff --git a/app/lib/world/thang.coffee b/app/lib/world/thang.coffee index 41544cbca..426e7541f 100644 --- a/app/lib/world/thang.coffee +++ b/app/lib/world/thang.coffee @@ -38,7 +38,7 @@ module.exports = class Thang publishNote: (channel, event) -> event.thang = @ @world.publishNote channel, event - + setGoalState: (goalID, status) -> @world.setGoalState goalID, status diff --git a/app/lib/world/thang_state.coffee b/app/lib/world/thang_state.coffee index 7ea6a9687..655f41b01 100644 --- a/app/lib/world/thang_state.coffee +++ b/app/lib/world/thang_state.coffee @@ -98,10 +98,14 @@ module.exports = class ThangState storage = @trackedPropertyValues[propIndex] value = @getStoredProp propIndex, type, storage if prop is "pos" - @thang.pos = @thang.pos.copy() - @thang.pos.x = inverse * @thang.pos.x + ratio * value.x - @thang.pos.y = inverse * @thang.pos.y + ratio * value.y - @thang.pos.z = inverse * @thang.pos.z + ratio * value.z + if @thang.pos.distanceSquared(value) > 900 + # Don't interpolate; it was probably a teleport. https://github.com/codecombat/codecombat/issues/738 + @thang.pos = value + else + @thang.pos = @thang.pos.copy() + @thang.pos.x = inverse * @thang.pos.x + ratio * value.x + @thang.pos.y = inverse * @thang.pos.y + ratio * value.y + @thang.pos.z = inverse * @thang.pos.z + ratio * value.z else if prop is "rotation" @thang.rotation = inverse * @thang.rotation + ratio * value @thang.partialState = true diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee index b61580832..d98e9c0e6 100644 --- a/app/locale/ar.coffee +++ b/app/locale/ar.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi sending: "ارسال..." cancel: "الغي" save: "احفض" +# create: "Create" delay_1_sec: "ثانية" delay_3_sec: "3 ثواني" delay_5_sec: "5 ثواني" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee index bf28857cb..5443c75a3 100644 --- a/app/locale/bg.coffee +++ b/app/locale/bg.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "български език", englishDescri sending: "Изпращане..." cancel: "Отказ" save: "Запис" +# create: "Create" delay_1_sec: "1 секунда" delay_3_sec: "3 секунди" delay_5_sec: "5 секунди" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "български език", englishDescri login: sign_up: "Създай Профил" log_in: "Вход" +# logging_in: "Logging In" log_out: "Изход" recover: "Възстанови акаунт" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "български език", englishDescri # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "български език", englishDescri # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "български език", englishDescri # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee index 595ac7bb3..305bd992e 100644 --- a/app/locale/ca.coffee +++ b/app/locale/ca.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr sending: "Enviant..." cancel: "Cancel·lant" save: "Guardar" +# create: "Create" delay_1_sec: "1 segon" delay_3_sec: "3 segons" delay_5_sec: "5 segons" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr login: sign_up: "Crear un compte" log_in: "Iniciar Sessió" +# logging_in: "Logging In" log_out: "Tancar Sessió" recover: "Recuperar un compte" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee index d69702f93..f60722bf1 100644 --- a/app/locale/cs.coffee +++ b/app/locale/cs.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr sending: "Odesílání..." cancel: "Zrušit" save: "Uložit" +# create: "Create" delay_1_sec: "1 vteřina" delay_3_sec: "3 vteřiny" delay_5_sec: "5 vteřin" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr login: sign_up: "Vytvořit účet" log_in: "Přihlásit" +# logging_in: "Logging In" log_out: "Odhlásit" recover: "obnovit účet" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,7 +472,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr more_about_archmage: "Dozvědět se více o tom, jak se stát mocným Arcimágem" archmage_subscribe_desc: "Dostávat emailem oznámení a informacemi nových programovacích příležitostech" # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." artisan_introduction_pref: "Musíme vytvářet další úrovně! Lidé nás prosí o další obsah, ale sami zvládáme vytvořit jen málo. Naším prvním pracovním zastavením je první úroveň. Editor úrovní je tak-tak použitelný i pro jeho vlastní tvůrce. Máte-li vizi pro vytvoření vnořených úrovní alá " artisan_introduction_suf: "pak neváhejte, toto je vaše destinace." artisan_attribute_1: "Předchozí zkušenosti s vytvářením podobného obsahu by byly vítány, například z editorů úrovní Blizzardu, ale nejsou vyžadovány!" diff --git a/app/locale/da.coffee b/app/locale/da.coffee index 200d6c873..ce34dfa42 100644 --- a/app/locale/da.coffee +++ b/app/locale/da.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans sending: "Sender..." cancel: "Annuller" save: "Gem" +# create: "Create" delay_1_sec: "1 sekund" delay_3_sec: "3 sekunder" delay_5_sec: "5 sekunder" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans login: sign_up: "opret ny konto" log_in: "Log Ind" +# logging_in: "Logging In" log_out: "Log Ud" recover: "genskab konto" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans skip_tutorial: "Spring over (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Tastaturgenveje" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/de.coffee b/app/locale/de.coffee index 0b16ea9a5..d451d6528 100644 --- a/app/locale/de.coffee +++ b/app/locale/de.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra sending: "Übertrage..." cancel: "Abbrechen" save: "Speichern" +# create: "Create" delay_1_sec: "1 Sekunde" delay_3_sec: "3 Sekunden" delay_5_sec: "5 Sekunden" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra # fork: "Fork" play: "Abspielen" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "Sekunde" + seconds: "Sekunden" + minute: "Minute" + minutes: "Minuten" + hour: "Stunde" + hours: "Stunden" modal: close: "Schließen" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra login: sign_up: "Registrieren" log_in: "Einloggen" +# logging_in: "Logging In" log_out: "Ausloggen" recover: "Account wiederherstellen" @@ -76,7 +78,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra play: "Spielen" old_browser: "Oh! Dein Browser ist zu alt für CodeCombat. Sorry!" old_browser_suffix: "Du kannst es trotzdem versuchen, aber es wird wahrscheinlich nicht funktionieren." -# campaign: "Campaign" + campaign: "Kampagne" for_beginners: "Für Anfänger" multiplayer: "Mehrspieler" for_developers: "Für Entwickler" @@ -195,9 +197,9 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra victory_sign_up: "Melde Dich an, um Fortschritte zu speichern" victory_sign_up_poke: "Möchtest Du Neuigkeiten per Mail erhalten? Erstelle einen kostenlosen Account und wir halten Dich auf dem Laufenden." victory_rate_the_level: "Bewerte das Level: " -# victory_rank_my_game: "Rank My Game" -# victory_ranking_game: "Submitting..." -# victory_return_to_ladder: "Return to Ladder" + victory_rank_my_game: "Werte mein Spiel" + victory_ranking_game: "Einreichen..." + victory_return_to_ladder: "Zurück zur Rangliste" victory_play_next_level: "Spiel das nächste Level" victory_go_home: "Geh auf die Startseite" victory_review: "Erzähl uns davon!" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra skip_tutorial: "Überspringen (Esc)" editor_config: "Editor Einstellungen" editor_config_title: "Editor Einstellungen" + editor_config_language_label: "Programmiersprache" + editor_config_language_description: "Bestimme die Programmiersprache in der du arbeiten möchtest." editor_config_keybindings_label: "Tastenbelegung" editor_config_keybindings_default: "Standard (Ace)" editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu" @@ -231,35 +235,37 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an." editor_config_indentguides_label: "Zeige Einrückungshilfe" editor_config_indentguides_description: "Zeigt vertikale Linien an um Einrückungen besser zu sehen." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." -# loading_ready: "Ready!" -# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." -# tip_toggle_play: "Toggle play/paused with Ctrl+P." -# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." -# tip_guide_exists: "Click the guide at the top of the page for useful info." -# tip_open_source: "CodeCombat is 100% open source!" -# tip_beta_launch: "CodeCombat launched its beta in October, 2013." -# tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." -# think_solution: "Think of the solution, not the problem." -# tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" -# tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" -# tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" -# tip_forums: "Head over to the forums and tell us what you think!" -# tip_baby_coders: "In the future, even babies will be Archmages." -# tip_morale_improves: "Loading will continue until morale improves." -# tip_all_species: "We believe in equal opportunities to learn programming for all species." + editor_config_behaviors_label: "Intelligentes Verhalten" + editor_config_behaviors_description: "Vervollständigt automatisch Klammern und Anführungszeichen." + loading_ready: "Bereit!" + tip_insert_positions: "Halte 'Umschalt' gedrückt und klicke auf die Karte um die Koordinaten einzufügen." + tip_toggle_play: "Wechsel zwischen Play und Pause mit Strg+P." + tip_scrub_shortcut: "Spule vor und zurück mit Strg+[ und Strg+]" + tip_guide_exists: "Klicke auf die Anleitung am oberen Ende der Seite für nützliche Informationen" + tip_open_source: "CodeCombat ist 100% quelloffen!" + tip_beta_launch: "CodeCombat startete seine Beta im Oktober 2013." + tip_js_beginning: "JavaScript ist nur der Anfang." + tip_autocast_setting: "Ändere die Einstellungen für das automatische Ausführen über das Zahnrad neben dem Ausführen Knopf" + think_solution: "Denke über die Lösung nach, nicht über das Problem." + tip_theory_practice: "In der Theorie gibt es keinen Unterschied zwischen Theorie und Praxis. In der Praxis schon. - Yogi Berra" + tip_error_free: "Es gibt zwei Wege fehlerfreie Programme zu schreiben; nur der Dritte funktioniert. - Alan Perlis" + tip_debugging_program: "Wenn Debugging der Prozess zum Fehler entfernen ist, dann muss Programmieren der Prozess sein Fehler zu machen. - Edsger W. Dijkstra" + tip_forums: "Gehe zum Forum und sage uns was du denkst!" + tip_baby_coders: "In der Zukunft werden sogar Babies Erzmagier sein." + tip_morale_improves: "Das Laden wird weiter gehen bis die Stimmung sich verbessert." + tip_all_species: "Wir glauben an gleiche Chancen für alle Arten Programmieren zu lernen." # tip_reticulating: "Reticulating spines." -# tip_harry: "Yer a Wizard, " -# tip_great_responsibility: "With great coding skill comes great debug responsibility." -# tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." -# tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." -# tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" -# tip_no_try: "Do. Or do not. There is no try. - Yoda" -# tip_patience: "Patience you must have, young Padawan. - Yoda" -# tip_documented_bug: "A documented bug is not a bug; it is a feature." -# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" + tip_harry: "Du bist ein Zauberer, " + tip_great_responsibility: "Mit großen Programmierfähigkeiten kommt große Verantwortung." + tip_munchkin: "Wenn du dein Gemüse nicht isst, besucht dich ein Zwerg während du schläfst." + tip_binary: "Es gibt auf der Welt nur 10 Arten von Menschen: die, welche Binär verstehen und die, welche nicht." + tip_commitment_yoda: "Ein Programmier muss die größte Hingabe haben, den ernstesten Verstand. ~ Yoda" + tip_no_try: "Tu. Oder tu nicht. Es gibt kein Versuchen. - Yoda" + tip_patience: "Geduld du musst haben, junger Padawan. - Yoda" + tip_documented_bug: "Ein dokumentierter Fehler ist kein Fehler; er ist ein Merkmal." + tip_impossible: "Es wirkt immer unmöglich bis es vollbracht ist. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" time_current: "Aktuell" time_total: "Total" time_goto: "Gehe zu" @@ -288,8 +294,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra contact_us: "setze dich mit uns in Verbindung!" hipchat_prefix: "Besuche uns auch in unserem" hipchat_url: "HipChat room." -# revert: "Revert" -# revert_models: "Revert Models" + revert: "Zurücksetzen" + revert_models: "Models zurücksetzen." level_some_options: "Einige Einstellungsmöglichkeiten?" level_tab_thangs: "Thangs" level_tab_scripts: "Skripte" @@ -308,7 +314,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra level_components_title: "Zurück zu allen Thangs" level_components_type: "Typ" level_component_edit_title: "Komponente bearbeiten" -# level_component_config_schema: "Config Schema" + level_component_config_schema: "Konfigurationsschema" level_component_settings: "Einstellungen" level_system_edit_title: "System bearbeiten" create_system_title: "neues System erstellen" @@ -331,7 +337,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra body: "Inhalt" version: "Version" commit_msg: "Commit Nachricht" -# history: "History" + history: "Verlauf" version_history_for: "Versionsgeschichte für: " result: "Ergebnis" results: "Ergebnisse" @@ -340,15 +346,15 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra email: "Email" password: "Passwort" message: "Nachricht" -# code: "Code" -# ladder: "Ladder" -# when: "When" -# opponent: "Opponent" -# rank: "Rank" -# score: "Score" -# win: "Win" -# loss: "Loss" -# tie: "Tie" + code: "Code" + ladder: "Rangliste" + when: "Wann" + opponent: "Gegner" + rank: "Rang" + score: "Punktzahl" + win: "Sieg" + loss: "Niederlage" + tie: "Unentschieden" easy: "Einfach" medium: "Mittel" hard: "Schwer" @@ -374,7 +380,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra nick_description: "Programmierzauberer, exzentrischer Motivationskünstler und Auf-den-Kopf-stell-Experimentierer. Nick könnte alles mögliche tun und entschied CodeCombat zu bauen." jeremy_description: "Kundendienstmagier, Usability Tester und Community-Organisator. Wahrscheinlich hast du schon mit Jeremy gesprochen." michael_description: "Programmierer, Systemadministrator und studentisch technisches Wunderkind, Michael hält unsere Server am Laufen." -# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" + glen_description: "Programmier und leidenschaftlicher Spieleentwickler mit der Motivation die Welt, durch das Entwickeln von Sachen die zählen, zu einem besseren Platz zu machen. Das Wort 'unmöglich' kann nicht in seinem Wortschatz gefunden werden. Neue Fähigkeiten zu lernen ist seine Leidenschaft!" legal: page_title: "Rechtliches" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/el.coffee b/app/locale/el.coffee index 1741ad6f3..a301dcb79 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre sending: "Αποστολή ..." cancel: "Ακύρωση" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre login: sign_up: "Δημιούργησε Λογαριασμό" log_in: "Σύνδεση" +# logging_in: "Logging In" log_out: "Αποσύνδεση" recover: "Κάντε ανάκτηση του λογαριασμού σας" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee index a4938fc7a..98b872bce 100644 --- a/app/locale/en-AU.coffee +++ b/app/locale/en-AU.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee index 9adacaab0..d9f675858 100644 --- a/app/locale/en-GB.coffee +++ b/app/locale/en-GB.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee index 6e8a79b62..78aa5661b 100644 --- a/app/locale/en-US.coffee +++ b/app/locale/en-US.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 4b07bac03..7d35d42aa 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -5,12 +5,14 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr sending: "Sending..." cancel: "Cancel" save: "Save" + create: "Create" delay_1_sec: "1 second" delay_3_sec: "3 seconds" delay_5_sec: "5 seconds" manual: "Manual" fork: "Fork" play: "Play" + retry: "Retry" units: second: "second" @@ -52,6 +54,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr login: sign_up: "Create Account" log_in: "Log In" + logging_in: "Logging In" log_out: "Log Out" recover: "recover account" @@ -224,6 +227,8 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr skip_tutorial: "Skip (esc)" editor_config: "Editor Config" editor_config_title: "Editor Configuration" + editor_config_language_label: "Programming Language" + editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Key Bindings" editor_config_keybindings_default: "Default (Ace)" editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +265,8 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr tip_patience: "Patience you must have, young Padawan. - Yoda" tip_documented_bug: "A documented bug is not a bug; it is a feature." tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" + tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" + tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" time_current: "Now:" time_total: "Max:" time_goto: "Go to:" @@ -320,6 +327,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr article_search_title: "Search Articles Here" thang_search_title: "Search Thang Types Here" level_search_title: "Search Levels Here" + read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: edit_btn_preview: "Preview" @@ -467,9 +475,9 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr more_about_archmage: "Learn More About Becoming an Archmage" archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" - artisan_summary_suf: "then this class is for you." + artisan_summary_suf: ", then this class is for you." artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" - artisan_introduction_suf: "then this class might be for you." + artisan_introduction_suf: ", then this class might be for you." artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" @@ -595,3 +603,27 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr tutorial: "tutorial" new_to_programming: ". New to programming? Hit our beginner campaign to skill up." so_ready: "I Am So Ready for This" + + loading_error: + could_not_load: "Error loading from server" + connection_failure: "Connection failed." + unauthorized: "You need to be signed in. Do you have cookies disabled?" + forbidden: "You do not have the permissions." + not_found: "Not found." + not_allowed: "Method not allowed." + timeout: "Server timeout." + conflict: "Resource conflict." + bad_input: "Bad input." + server_error: "Server error." + unknown: "Unknown error." + + resources: + your_sessions: "Your Sessions" + level: "Level" + social_network_apis: "Social Network APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook Friends" + facebook_friend_sessions: "Facebook Friend Sessions" + gplus_friends: "G+ Friends" + gplus_friend_sessions: "G+ Friend Sessions" + leaderboard: 'leaderboard' \ No newline at end of file diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index b00e98d03..a09319212 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip sending: "Enviando..." cancel: "Cancelar" # save: "Save" +# create: "Create" delay_1_sec: "1 segundo" delay_3_sec: "3 segundos" delay_5_sec: "5 segundos" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip login: sign_up: "Crear Cuenta" log_in: "Entrar" +# logging_in: "Logging In" log_out: "Salir" recover: "recuperar cuenta" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee index 79d4e8ef0..9111150f1 100644 --- a/app/locale/es-ES.coffee +++ b/app/locale/es-ES.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis sending: "Enviando..." cancel: "Cancelar" save: "Guardar" + create: "Crear" delay_1_sec: "1 segundo" delay_3_sec: "3 segundos" delay_5_sec: "5 segundos" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis fork: "Bifurcar" play: "Jugar" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "segundo" + seconds: "segundos" + minute: "minuto" + minutes: "minutos" + hour: "hora" + hours: "horas" modal: close: "Cerrar" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis login: sign_up: "Crear una cuenta" log_in: "Entrar" + logging_in: "Entrando..." log_out: "Salir" recover: "recuperar cuenta" @@ -74,12 +76,12 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis no_ie: "CodeCombat no funciona en Internet Explorer 9 o anteriores. ¡Lo sentimos!" no_mobile: "¡CodeCombat no fue diseñado para dispositivos móviles y puede que no funcione!" play: "Jugar" -# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" -# old_browser_suffix: "You can try anyway, but it probably won't work." -# campaign: "Campaign" -# for_beginners: "For Beginners" -# multiplayer: "Multiplayer" -# for_developers: "For Developers" + old_browser: "Ay, su navegador es demasiado viejo para ejecutar CodeCombat. ¡Lo sentimos!" + old_browser_suffix: "Puede tentar de todos modos, pero probablemente no va a funcionar." + campaign: "Campaña" + for_beginners: "Para principiantes" + multiplayer: "Multijugador" + for_developers: "Para programadores" play: choose_your_level: "Elige tu nivel" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis more_about_archmage: "Aprende más sobre convertirte en un poderoso Archimago" archmage_subscribe_desc: "Recibe correos sobre nuevos anuncios y oportunidades de codificar." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" - artisan_summary_suf: "entonces esta Clase es la tuya." + artisan_summary_suf: ", entonces esta Clase es la tuya." artisan_introduction_pref: "¡Debemos construir niveles adicionales! La gente clama por más contenido y solo podemos crear unos cuantos. Ahora mismo tu estación de trabajo es el nivel uno; nuestro editor de niveles es apenas usable por sus creadores, así que ten cuidado. Si tienes visiones de campañas que alcanzan el infinito" - artisan_introduction_suf: "entonces esta Clase es ideal para ti." + artisan_introduction_suf: ", entonces esta Clase es ideal para ti." artisan_attribute_1: "Cualquier experiencia creando contenido similar estaría bien, como por ejemplo el editor de niveles de Blizzard. ¡Aunque no es necesaria!" artisan_attribute_2: "Un anhelo de hacer un montón de testeo e iteraciones. Para hacer buenos niveles necesitas mostrárselos a otros y mirar como juegan, además de estar preparado para encontrar los fallos a reparar." artisan_attribute_3: "Por el momento, la resistencia va a la par con el Aventurero. Nuestro editor de niveles está a un nivel de desarrollo temprano y puede ser muy frustrante usarlo. ¡Estás advertido!" diff --git a/app/locale/es.coffee b/app/locale/es.coffee index 8a59ff812..e94a4f211 100644 --- a/app/locale/es.coffee +++ b/app/locale/es.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t sending: "Enviando..." cancel: "Cancelar" save: "Guardar" +# create: "Create" delay_1_sec: "1 segundo" delay_3_sec: "3 segundos" delay_5_sec: "5 segundos" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t login: sign_up: "Crear Cuenta" log_in: "Iniciar Sesión" +# logging_in: "Logging In" log_out: "Cerrar Sesión" recover: "recuperar cuenta" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t skip_tutorial: "Saltar (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee index d91e19e22..424c6544d 100644 --- a/app/locale/fa.coffee +++ b/app/locale/fa.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", sending: "...در حال ارسال" cancel: "لغو" save: "ذخیره " +# create: "Create" delay_1_sec: "1 ثانیه" delay_3_sec: "3 ثانیه" delay_5_sec: "5 ثانیه" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", login: sign_up: "ایجاد حساب کاربری" log_in: "ورود" +# logging_in: "Logging In" log_out: "خروج" recover: "بازیابی حساب کاربری" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index c750083fe..ea46d4b27 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 7b0eae3b0..8c77980bb 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t sending: "Envoi..." cancel: "Annuler" save: "Sauvegarder" +# create: "Create" delay_1_sec: "1 seconde" delay_3_sec: "3 secondes" delay_5_sec: "5 secondes" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t login: sign_up: "Créer un compte" log_in: "Connexion" +# logging_in: "Logging In" log_out: "Déconnexion" recover: "récupérer son compte" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t skip_tutorial: "Passer (esc)" editor_config: "Config de l'éditeur" editor_config_title: "Configuration de l'éditeur" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Raccourcis clavier" editor_config_keybindings_default: "Par défault (Ace)" editor_config_keybindings_description: "Ajouter de nouveaux raccourcis connus depuis l'éditeur commun." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "français", englishDescription: "French", t more_about_archmage: "En apprendre plus sur devenir un puissant archimage" archmage_subscribe_desc: "Recevoir un email sur les nouvelles possibilités de développement et des annonces." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." artisan_introduction_pref: "Nous devons créer des niveaux additionnels! Les gens veulent plus de contenu, et nous ne pouvons pas tous les créer nous-mêmes. Maintenant votre station de travail est au niveau un ; notre éditeur de niveaux est à peine utilisable même par ses créateurs, donc méfiez-vous. Si vous avez des idées sur la boucle for de" - artisan_introduction_suf: "cette classe est faite pour vous." + artisan_introduction_suf: ", cette classe est faite pour vous." artisan_attribute_1: "Une expérience dans la création de contenu comme celui-ci serait un plus, comme utiliser l'éditeur de niveaux de Blizzard. Mais ce n'est pas nécessaire!" artisan_attribute_2: "Vous aspirez à faire beaucoup de tests et d'itérations. Pour faire de bons niveaux, vous aurez besoin de les proposer aux autres et les regarder les jouer, et être prêt à trouver un grand nombre de choses à corriger." artisan_attribute_3: "Pour l'heure, endurance en binôme avec un Aventurier. Notre éditeur de niveaux est vraiment préliminaire et frustrant à l'utilisation. Vous êtes prévenus!" diff --git a/app/locale/he.coffee b/app/locale/he.coffee index e3966af95..d61d6c68e 100644 --- a/app/locale/he.coffee +++ b/app/locale/he.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", sending: "...שולח" cancel: "ביטול" save: "שמור" +# create: "Create" delay_1_sec: "שניה אחת" delay_3_sec: "שלוש שניות" delay_5_sec: "חמש שניות" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", login: sign_up: "הירשם" log_in: "היכנס" +# logging_in: "Logging In" log_out: "צא" recover: "שחזר סיסמה" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee index 406135762..ffcdbc8c7 100644 --- a/app/locale/hi.coffee +++ b/app/locale/hi.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index e162d61f6..eaa9a8077 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t sending: "Küldés..." cancel: "Mégse" save: "Mentés" +# create: "Create" delay_1_sec: "1 másodperc" delay_3_sec: "3 másodperc" delay_5_sec: "5 másodperc" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t login: sign_up: "Regisztráció" log_in: "Bejelentkezés" +# logging_in: "Logging In" log_out: "Kijelentkezés" recover: "meglévő fiók visszaállítása" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/id.coffee b/app/locale/id.coffee index 1c9b3b97e..bdafc21fc 100644 --- a/app/locale/id.coffee +++ b/app/locale/id.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/it.coffee b/app/locale/it.coffee index 0206d742d..5acb59898 100644 --- a/app/locale/it.coffee +++ b/app/locale/it.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t sending: "Invio in corso..." cancel: "Annulla" save: "Salva" +# create: "Create" delay_1_sec: "1 secondo" delay_3_sec: "3 secondi" delay_5_sec: "5 secondi" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t login: sign_up: "Crea account" log_in: "Accedi" +# logging_in: "Logging In" log_out: "Disconnetti" recover: "Recupera account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t skip_tutorial: "Salta (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t more_about_archmage: "Leggi di più su cosa vuol dire diventare un potente Arcimago" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index 0d2286c8f..86a87bb66 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", sending: "送信中..." cancel: "キャンセル" save: "保存" +# create: "Create" delay_1_sec: "1秒" delay_3_sec: "3秒" delay_5_sec: "5秒" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", login: sign_up: "アカウント登録" log_in: "ログイン" +# logging_in: "Logging In" log_out: "ログアウト" recover: "パスワードを忘れた場合はこちら" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee index cac92fa8d..c4f3f6ff6 100644 --- a/app/locale/ko.coffee +++ b/app/locale/ko.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t sending: "보내는 중입니다..." cancel: "취소" save: "저장" +# create: "Create" delay_1_sec: "1초" delay_3_sec: "3초" delay_5_sec: "5초" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t login: sign_up: "계정 생성" log_in: "로그인" +# logging_in: "Logging In" log_out: "로그아웃" recover: "계정 복구" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t skip_tutorial: "넘기기 (esc)" editor_config: "에디터 설정" editor_config_title: "에디터 설정" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "단축키 설정" editor_config_keybindings_default: "기본(Ace)" editor_config_keybindings_description: "일반적인 에디터와 마찬가지인 단축키 설정" @@ -260,6 +264,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee index 962c8ee6b..fda003f0a 100644 --- a/app/locale/lt.coffee +++ b/app/locale/lt.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee index 6be2a2396..fcba5465a 100644 --- a/app/locale/ms.coffee +++ b/app/locale/ms.coffee @@ -5,10 +5,11 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa sending: "Menghantar maklumat.." cancel: "Batal" save: "Simpan data" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" -# manual: "Manual" + manual: "Panduan" # fork: "Fork" play: "Mula" @@ -52,12 +53,13 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa login: sign_up: "Buat Akaun" log_in: "Log Masuk" +# logging_in: "Logging In" log_out: "Log Keluar" recover: "Perbaharui Akaun" recover: recover_account_title: "Dapatkan Kembali Akaun" - send_password: "Hantar kembali kata laluan" + send_password: "Hantar kembali kata-laluan" signup: # create_account_title: "Create Account to Save Progress" @@ -100,7 +102,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa contact: contact_us: "Hubungi CodeCombat" - welcome: "Kami suka mendengar dari anda! Gunakan form ini dan hantar kami emel. " + welcome: "Kami gemar mendengar dari anda! Gunakan borang ini dan hantar emel kepada kami. " contribute_prefix: "Jikalau anda berasa besar hati untuk menyumbang, sila lihat " contribute_page: "laman kami untuk menyumbang" # contribute_suffix: "!" @@ -112,8 +114,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa diplomat_suggestion: title: "Kami perlu menterjemahkan CodeCombat!" sub_heading: "Kami memerlukan kemahiran bahasa anda." - pitch_body: "Kami membina CodeCombat dalam Bahasa Inggeris, tetapi kami sudah ada pemain dari seluruh dunia. Kebanyakan mereka mahu bermain dalam Bahasa Melayu dan tidak memahami bahasa Inggeris, jikalau anda boleh tertutur dalam kedua-dua bahasa, harap anda boleh daftar untuk menjadi Diplomat dan menolong menterjemahkan laman CodeCombat dan kesemua level kepada Bahasa Melayu." - missing_translations: "Sehingga kami dalam menterjemahkan kesemua kepada Bahasa Melayu, anda akan melihat Inggeris apabila Bahasa Melayu tiada dalam penterjemahan." + pitch_body: "Kami membina CodeCombat dalam Bahasa Inggeris, tetapi kami sudah ada pemain dari seluruh dunia. Kebanyakan mereka mahu bermain dalam Bahasa Melayu dan tidak memahami Bahasa Inggeris, jikalau anda boleh tertutur dalam kedua-dua bahasa, harap anda boleh daftar untuk menjadi Diplomat dan menolong menterjemahkan laman CodeCombat dan kesemua level kepada Bahasa Melayu." + missing_translations: "Sehingga kami dapat menterjemahkan kesemua kepada Bahasa Melayu, anda akan melihat Bahasa Inggeris apabila Bahasa Melayu tiada dalam penterjemahan." learn_more: "Ketahui lebih lanjut untuk menjadi ahli Diplomat" # subscribe_as_diplomat: "Subscribe as a Diplomat" @@ -129,35 +131,35 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # saturation: "Saturation" # lightness: "Lightness" -# account_settings: + account_settings: # title: "Account Settings" -# not_logged_in: "Log in or create an account to change your settings." -# autosave: "Changes Save Automatically" -# me_tab: "Me" -# picture_tab: "Picture" + not_logged_in: "Daftar masuk atau buat account untuk menukar \"setting\" anda." + autosave: "Pengubahsuaian disimpan secara automatik" + me_tab: "Saya" + picture_tab: "Gambar" # wizard_tab: "Wizard" -# password_tab: "Password" -# emails_tab: "Emails" + password_tab: "Kata-laluan" + emails_tab: "Kesemua E-mel" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." + gravatar_select: "Pilih mana gambar Gravatar photo digunakan" + gravatar_add_photos: "Tambah thumbnail and gambar-gambar kepada akaun Gravatar untuk emel anda untuk pilih imej." + gravatar_add_more_photos: "Tambah lebih gambar kepada akaun Gravatar dan aksess dari sana." # wizard_color: "Wizard Clothes Color" -# new_password: "New Password" -# new_password_verify: "Verify" + new_password: "Kata-laluan baru" + new_password_verify: "Verifikasi" # email_subscriptions: "Email Subscriptions" -# email_announcements: "Announcements" -# email_notifications: "Notifications" + email_announcements: "Pengumuman" + email_notifications: "Notifikasi" # email_notifications_description: "Get periodic notifications for your account." # email_announcements_description: "Get emails on the latest news and developments at CodeCombat." # contributor_emails: "Contributor Class Emails" -# contribute_prefix: "We're looking for people to join our party! Check out the " -# contribute_page: "contribute page" -# contribute_suffix: " to find out more." + contribute_prefix: "Kami sedang mencari orang untuk masuk 'parti' kami! Sila semak kepada " + contribute_page: "Laman untuk sumbangan" + contribute_suffix: " untuk mengetahui lebih lanjut." # email_toggle: "Toggle All" -# error_saving: "Error Saving" -# saved: "Changes Saved" -# password_mismatch: "Password does not match." + error_saving: "Masalah menyimpan" + saved: "Pengubahsuian disimpan" + password_mismatch: "Kata-laluan tidak sama." account_profile: # edit_settings: "Edit Settings" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -332,7 +338,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa version: "Versi" commit_msg: "Mesej Commit" # history: "History" -# version_history_for: "Version History for: " + version_history_for: "Versi History untuk: " result: "Keputusan" results: "Keputusan-keputusan" description: "Deskripsi" @@ -356,16 +362,16 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa about: who_is_codecombat: "Siapa adalah CodeCombat?" why_codecombat: "Kenapa CodeCombat?" - who_description_prefix: "bersama memulai CodeCombat in 2013. Kami juga membuat (mengaturcara) " + who_description_prefix: "bersama memulai CodeCombat dalam 2013. Kami juga membuat (mengaturcara) " who_description_suffix: "dalam 2008, mengembangkan ia kepada applikasi iOS dan applikasi web #1 untuk belajar menaip dalam karakter Cina dan Jepun." who_description_ending: "Sekarang, sudah tiba masanya untuk mengajar orang untuk menaip kod." # why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." why_paragraph_2: "Mahu belajar untuk membina kod? Anda tidak perlu membaca dan belajar. Anda perlu menaip kod yang banyak dan bersuka-suka dengan masa yang terluang." - why_paragraph_3_prefix: "Itulah semua tentang pengaturcaraan. Ia harus membuat anda gembira dan rasa berpuas hati. Tidak seperti" + why_paragraph_3_prefix: "Itulah semua mengenai pengaturcaraan. Ia harus membuat anda gembira dan rasa berpuas hati. Tidak seperti" why_paragraph_3_italic: "yay satu badge" why_paragraph_3_center: "tapi bersukaria seperti" why_paragraph_3_italic_caps: "TIDAK MAK SAYA PERLU HABISKAN LEVEL!" - why_paragraph_3_suffix: "Itulah kenapa CodeCombat adalah permainan multiplayer, tapi bukan sebuah khursus dibuat sebagai permainan. Kami tidak akan berhenti sehingga kamu tidak akan--tetapi buat masa kini, itulah perkara yang baik." + why_paragraph_3_suffix: "Itulah kenapa CodeCombat adalah permainan multiplayer, tapi bukan sebuah khursus dibuat sebagai permainan. Kami tidak akan berhenti sehingga anda tidak--tetapi buat masa kini, itulah perkara yang terbaik." why_paragraph_4: "Jika kamu mahu berasa ketagih terhadap sesuatu permainan komputer, jadilah ketagih kepada permainan ini dan jadilah seorang pakar dalam zaman teknologi terkini." why_ending: "Dan ia adalah percuma! " why_ending_url: "Mulalah bermain sekarang!" @@ -376,14 +382,14 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." # glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" -# legal: -# page_title: "Legal" -# opensource_intro: "CodeCombat is free to play and completely open source." -# opensource_description_prefix: "Check out " -# github_url: "our GitHub" -# opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " + legal: + page_title: "Undang-Undang" + opensource_intro: "CodeCombat adalah percuma untuk bermain dan adalah open source." + opensource_description_prefix: "Sila lihat " + github_url: "GitHub kami" + opensource_description_center: "dan sumbang seberapa mampu! CodeCombat dibina atas beberapa projek open source, dan kami menyukainya. Sila lihat " # archmage_wiki_url: "our Archmage wiki" -# opensource_description_suffix: "for a list of the software that makes this game possible." + opensource_description_suffix: "senarai sofwe yang membolehkan permainan ini berfungsi." # practices_title: "Respectful Best Practices" # practices_description: "These are our promises to you, the player, in slightly less legalese." # privacy_title: "Privacy" @@ -395,26 +401,27 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # email_settings_url: "your email settings" # email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." # cost_title: "Cost" -# cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" + cost_description: "Buat masa ini, CodeCombat adalah 100% percuma! salah satu daripada tujuan kami adalah untuk membiarkan ia sebegitu, supaya ramai boleh bermain, di mana sahaja mereka berada. Jikalau langit menjadi gelap untuk kami, kami akan mengecaj untuk langganan atau untuk beberapa muatan, tapi kami lebih suka untuk tidak berbuat demikian. Jika kami bernasib baik, kami dapat menanggung syarikat kami dengan:" + # recruitment_title: "Recruitment" # recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." # url_hire_programmers: "No one can hire programmers fast enough" # recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" # recruitment_description_italic: "a lot" # recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." -# copyrights_title: "Copyrights and Licenses" -# contributor_title: "Contributor License Agreement" -# contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" + copyrights_title: "Hakcipta dan Pemelesenan" + contributor_title: "Persetujuan Lesen Penyumbang" + contributor_description_prefix: "Kesemua sumbangan, termasuk di dalam laman dan di dalam repositiri GitHub, tertakluk kepada" # cla_url: "CLA" -# contributor_description_suffix: "to which you should agree before contributing." + contributor_description_suffix: "di mana harus dipersetujui sebelum menyumbang." # code_title: "Code - MIT" -# code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" + code_description_prefix: "Kesemua kod yang dimiliki CodeCombat atau dihos di codecombat.com, termasuk di dalam repositori GitHub dan database codecombat.com, dilesenkan di bawah" # mit_license_url: "MIT license" -# code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." + code_description_suffix: "Ini termasuk kesemua kod Sistem dan Komponen yang sudah sedia ada untuk CodeCombat untuk membina level." # art_title: "Art/Music - Creative Commons " -# art_description_prefix: "All common content is available under the" + art_description_prefix: "Kesemua muatan umum boleh didapat di bawah" # cc_license_url: "Creative Commons Attribution 4.0 International License" -# art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" +# art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" # art_music: "Music" # art_sound: "Sound" # art_artwork: "Artwork" @@ -466,9 +473,9 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee index 19cefee72..6035495d4 100644 --- a/app/locale/nb.coffee +++ b/app/locale/nb.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # sending: "Sending..." cancel: "Avbryt" # save: "Save" +# create: "Create" delay_1_sec: "1 sekunder" delay_3_sec: "3 sekunder" delay_5_sec: "5 sekunder" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg login: sign_up: "Lag konto" log_in: "Logg Inn" +# logging_in: "Logging In" log_out: "Logg Ut" recover: "gjenåpne konto" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index b790f13da..bcc6c0875 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: sending: "Verzenden..." cancel: "Annuleren" save: "Opslagen" + create: "Creëer" delay_1_sec: "1 seconde" delay_3_sec: "3 secondes" delay_5_sec: "5 secondes" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: fork: "Fork" play: "Spelen" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "seconde" + seconds: "seconden" + minute: "minuut" + minutes: "minuten" + hour: "uur" + hours: "uren" modal: close: "Sluiten" @@ -39,19 +40,20 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: about: "Over Ons" contact: "Contact" twitter_follow: "Volgen" - employers: "Werknemers" + employers: "Werkgevers" versions: save_version_title: "Nieuwe versie opslagen" new_major_version: "Nieuwe hoofd versie" - cla_prefix: "Om bewerkingen op te slagen, moet je eerst akkoord gaan met onze" + cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" cla_url: "CLA" cla_suffix: "." cla_agree: "IK GA AKKOORD" login: - sign_up: "Account Maken" + sign_up: "Account maken" log_in: "Inloggen" + logging_in: "Bezig met inloggen" log_out: "Uitloggen" recover: "account herstellen" @@ -60,7 +62,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: send_password: "Verzend nieuw wachtwoord" signup: - create_account_title: "Maak een account aan om je progressie op te slagen" + create_account_title: "Maak een account aan om je vooruitgang op te slaan" description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" email_announcements: "Ontvang aankondigingen via email" coppa: "13+ of niet uit de VS" @@ -78,7 +80,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" campaign: "Campagne" for_beginners: "Voor Beginners" -# multiplayer: "Multiplayer" + multiplayer: "Multiplayer" for_developers: "Voor ontwikkelaars" play: @@ -87,7 +89,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: adventurer_forum: "het Avonturiersforum" adventurer_suffix: "." campaign_beginner: "Beginnercampagne" - campaign_beginner_description: "... waarin je de toverkunst van programmeren leert." + campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." campaign_dev: "Willekeurige moeilijkere levels" campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." campaign_multiplayer: "Multiplayer Arena's" @@ -96,7 +98,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." level_difficulty: "Moeilijkheidsgraad: " play_as: "Speel als " - spectate: "Schouw toe" + spectate: "Toeschouwen" contact: contact_us: "Contact opnemen met CodeCombat" @@ -126,19 +128,19 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: spell: "Spreuk" boots: "Laarzen" hue: "Hue" - saturation: "Saturation" - lightness: "Lightness" + saturation: "Saturatie" + lightness: "Helderheid" account_settings: title: "Account Instellingen" - not_logged_in: "Log in of maak een account om je instellingen aan te passen." + not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." autosave: "Aanpassingen Automatisch Opgeslagen" me_tab: "Ik" picture_tab: "Afbeelding" wizard_tab: "Tovenaar" password_tab: "Wachtwoord" emails_tab: "Emails" -# admin: "Admin" + admin: "Administrator" gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken" gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen." gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken." @@ -151,8 +153,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: email_notifications_description: "Krijg periodieke meldingen voor jouw account." email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." contributor_emails: "Medewerker Klasse emails" - contribute_prefix: "We zoeken mensen om bij ons feest aan te voegen! Bekijk de " - contribute_page: "contributiepagina" + contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " + contribute_page: "bijdragepagina" contribute_suffix: " om meer te weten te komen." email_toggle: "Vink alles aan/af" error_saving: "Fout Tijdens Het Opslaan" @@ -162,7 +164,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: account_profile: edit_settings: "Instellingen Aanpassen" profile_for_prefix: "Profiel voor " -# profile_for_suffix: "" + profile_for_suffix: "" profile: "Profiel" user_not_found: "Geen gebruiker gevonden. Controleer de URL?" gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:" @@ -190,9 +192,9 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: reload_title: "Alle Code Herladen?" reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" reload_confirm: "Herlaad Alles" -# victory_title_prefix: "" + victory_title_prefix: "" victory_title_suffix: " Compleet" - victory_sign_up: "Schrijf je in om je progressie op te slaan" + victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" victory_rate_the_level: "Beoordeel het level: " victory_rank_my_game: "Rankschik mijn Wedstrijd" @@ -224,45 +226,49 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: skip_tutorial: "Overslaan (esc)" editor_config: "Editor Configuratie" editor_config_title: "Editor Configuratie" + editor_config_language_label: "Programmeertaal" + editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." editor_config_keybindings_label: "Toets instellingen" -# editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_default: "Standaard (Ace)" editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." editor_config_invisibles_label: "Toon onzichtbare" editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." editor_config_indentguides_label: "Toon inspringing regels" editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Auto-aanvulling (gekrulde) haakjes en aanhalingstekens." -# loading_ready: "Ready!" -# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." -# tip_toggle_play: "Toggle play/paused with Ctrl+P." -# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." -# tip_guide_exists: "Click the guide at the top of the page for useful info." -# tip_open_source: "CodeCombat is 100% open source!" -# tip_beta_launch: "CodeCombat launched its beta in October, 2013." -# tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." -# think_solution: "Think of the solution, not the problem." -# tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" -# tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" -# tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" -# tip_forums: "Head over to the forums and tell us what you think!" -# tip_baby_coders: "In the future, even babies will be Archmages." -# tip_morale_improves: "Loading will continue until morale improves." -# tip_all_species: "We believe in equal opportunities to learn programming for all species." + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + loading_ready: "Klaar!" + tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." + tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." + tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." + tip_js_beginning: "JavaScript is nog maar het begin." + tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." + think_solution: "Denk aan de oplossing, niet aan het probleem" + tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" + tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" + tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" + tip_forums: "Ga naar de forums en vertel ons wat je denkt!" + tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." + tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." + tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." # tip_reticulating: "Reticulating spines." -# tip_harry: "Yer a Wizard, " -# tip_great_responsibility: "With great coding skill comes great debug responsibility." -# tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." -# tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." -# tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" -# tip_no_try: "Do. Or do not. There is no try. - Yoda" -# tip_patience: "Patience you must have, young Padawan. - Yoda" -# tip_documented_bug: "A documented bug is not a bug; it is a feature." -# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" -# time_current: "Now:" -# time_total: "Max:" -# time_goto: "Go to:" + tip_harry: "Je bent een tovenaar, " + tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." + tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." + tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." + tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" + tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" + tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" + tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." + tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Nu:" + time_total: "Maximum:" + time_goto: "Ga naar:" admin: av_title: "Administrator panels" @@ -273,7 +279,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: av_other_debug_base_url: "Base (om base.jade te debuggen)" u_title: "Gebruikerslijst" lg_title: "Laatste Spelletjes" -# clas: "CLAs" + clas: "CLAs" editor: main_title: "CodeCombat Editors" @@ -281,10 +287,10 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: article_title: "Artikel Editor" article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." thang_title: "Thang Editor" - thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd in Flash ondersteund." + thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." level_title: "Level Editor" - level_description: "Bevat het programma om te programmeren, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wijzelf ook gebruiken!" - security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Met dat wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " + level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" + security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " contact_us: "contacteer ons!" hipchat_prefix: "Je kan ons ook vinden in ons" hipchat_url: "(Engelstalig) HipChat kanaal." @@ -301,7 +307,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: level_tab_thangs_add: "Voeg element toe" level_settings_title: "Instellingen" level_component_tab_title: "Huidige Componenten" - level_component_btn_new: "Maak een nieuw component aan" + level_component_btn_new: "Maak een nieuwe component aan" level_systems_tab_title: "Huidige Systemen" level_systems_btn_new: "Maak een nieuw systeem aan" level_systems_btn_add: "Voeg Systeem toe" @@ -312,7 +318,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: level_component_settings: "Instellingen" level_system_edit_title: "Wijzig Systeem" create_system_title: "Maak een nieuw Systeem aan" - new_component_title: "Maak een nieuw Component aan" + new_component_title: "Maak een nieuwe Component aan" new_component_field_system: "Systeem" new_article_title: "Maak een Nieuw Artikel" new_thang_title: "Maak een Nieuw Thang Type" @@ -348,7 +354,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: score: "Score" win: "Win" loss: "Verlies" - tie: "Gelijk" + tie: "Gelijkstand" easy: "Gemakkelijk" medium: "Medium" hard: "Moeilijk" @@ -359,7 +365,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." who_description_ending: "Nu is het tijd om mensen te leren programmeren." - why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze het eigenlijk zo snel mogelijk nodig hebben via uitgebreide oefeningen. Wij weten hoe dat op te lossen." + why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" why_paragraph_3_italic: "joepie een medaille" @@ -381,13 +387,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: opensource_intro: "CodeCombat is gratis en volledig open source." opensource_description_prefix: "Bekijk " github_url: "onze GitHub" - opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van duizende open source projecten, en wij zijn er gek van. Bekijk ook " + opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " archmage_wiki_url: "onze Tovenaar wiki" - opensource_description_suffix: "voor een lijst van de software dat dit spel mogelijk maakt." + opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." practices_title: "Goede Respectvolle gewoonten" - practices_description: "Dit zijn onze beloften aan u, de speler, en iets minder juridische jargon." + practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." privacy_title: "Privacy" - privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen geld verdienen dankzij aanwerving in verloop van tijd, maar je mag op je twee oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." + privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." security_title: "Beveiliging" security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." email_title: "E-mail" @@ -399,7 +405,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: recruitment_title: "Aanwervingen" recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" - recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste codeer prestaties voorstellen aan duizenden bedrijven die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" + recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" recruitment_description_italic: "enorm veel" recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." copyrights_title: "Auteursrechten en licenties" @@ -408,25 +414,25 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: cla_url: "CLA" contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." code_title: "Code - MIT" - code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository of in de codecombat.com database, is erkend onder de" + code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" mit_license_url: "MIT licentie" - code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiekelijk is gemaakt met als doelstellingen het maken van levels." + code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." art_title: "Art/Music - Creative Commons " art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" - art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat voor het doel levels te maken. Dit omvat:" + art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" art_music: "Muziek" art_sound: "Geluid" - art_artwork: "Artwork" + art_artwork: "Illustraties" art_sprites: "Sprites" art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." - art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assitentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." + art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." - use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Create Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat alreeds duidelijk is gespecificeerd met CodeCombat, zoals een blog artikel, dat CodeCombat vernoemt, heeft geen aparte vermelding nodig." - art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg verspreidingsaanwijzingen van die brons als die er zijn." + use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." + art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." rights_title: "Rechten Voorbehouden" - rights_desc: "Alle rechten zijn voorbehouden voor de Levels. Dit omvat:" + rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" rights_scripts: "Scripts" rights_unit: "Eenheid Configuratie" rights_description: "Beschrijvingen" @@ -443,77 +449,77 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " introduction_desc_github_url: "CodeCombat is volledig open source" - introduction_desc_suf: ", en we mikken ernaar om zoveel mogelijk manieren mogelijk maken voor u om deel te nemen en dit project van zowel jou als ons te maken." + introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." introduction_desc_ending: "We hopen dat je met ons meedoet!" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" alert_account_message_intro: "Hallo!" alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " alert_account_message_suf: "." alert_account_message_create_url: "een account aanmaken" - archmage_summary: "Geïnteresserd in werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." - archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk veel van de voorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je handen veel te maken met CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw help hebben met het bouwen aan het allerbeste programmeerspel ooit." + archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." + archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." class_attributes: "Klasse kenmerken" archmage_attribute_1_pref: "Ervaring met " archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." how_to_join: "Hoe deel te nemen" join_desc_1: "Iedereen kan helpen! Bekijk onze " - join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jouzelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer met ons kan samenwerken? " + join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " join_desc_3: ", of vind ons in " join_desc_4: "en we bekijken het verder vandaar!" join_url_email: "E-mail ons" join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" - archmage_subscribe_desc: "Ontvang e-mails met nieuwe codeer oppurtiniteiten en aankondigingen." - artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat kaal, dus wees daarvan bewust. Levels maken zal een beetje uitdagend en buggy zijn. Als jij een visie van campagnes hebt van for-loops tot" - artisan_summary_suf: "dan is dit de klasse voor jou." - artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor is amper gebruikt door zelfs ons, wees dus voorzichtig. Indien je visioenen hebt van campagnes, gaande van for-loops tot" - artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou." - artisan_attribute_1: "Enige ervaring in het maken van gelijkbare inhoud. Bijvoorbeeld ervaring het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" - artisan_attribute_2: "Tot in detail testen en itereren staat voor jou gelijk aan plezier. Om goede levels te maken, moet jet het door anderen laten spelen en bereid zijn om een hele boel aan te passen." - artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je frustraties kan werken. Samenwerken met een Adventurer kan jou ook veel helpen." - artisan_join_desc: "Gebruik de Level Editor in deze volgorde, min of meer:" + archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." + artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" + artisan_summary_suf: ", dan is dit de klasse voor jou." + artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" + artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." + artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" + artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." + artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." + artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" artisan_join_step1: "Lees de documentatie." artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." - adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou." - adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou." + adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." - adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook posten over levels die beoordeeld moeten worden op onze netwerken zoals" + adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" adventurer_forum_url: "ons forum" adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" - more_about_adventurer: "Leer meer over hoe je een dappere avonturier kunt worden." + more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." - scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal een Ambachtslied een link kunnen geven naar een artikel wat past bij een level. Net zoiets als het " + scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." - scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal elk Ambachtslied niet in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel wat deze informatie bevat voor de speler. Net zoiets als het " + scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " scribe_introduction_url_mozilla: "Mozilla Developer Network" scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." - scribe_attribute_1: "Taal-skills zijn praktisch alles wat je nodig hebt. Niet alleen grammatica of spelling, maar ook moeilijke ideeën overbrengen aan anderen." + scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." contact_us_url: "Contacteer ons" scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" more_about_scribe: "Leer meer over het worden van een ijverige Klerk." scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." - diplomat_summary: "Er is grote interesse in CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers wie tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor heel de wereld. Als jij wilt helpen met CodeCombat internationaal maken, dan is dit de klasse voor jou." + diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " diplomat_launch_url: "release in oktober" - diplomat_introduction_suf: "dan is het wel dat er een significante interesse is in CodeCombat in andere landen, vooral Brazilië! We zijn een corps aan vertalers aan het creëren dat ijverig de ene set woorden in een andere omzet om CodeCombat zo toegankelijk te maken als mogelijk in heel de wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." - diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide goed te kunnen!" + diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." + diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" diplomat_join_pref_github: "Vind van jouw taal het locale bestand " diplomat_github_url: "op GitHub" diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." - ambassador_introduction: "We zijn een community aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en soeciale netwerken met veel andere mensen waarmee je kan praten en hulp kan vragen over het spel en om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" + ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" ambassador_join_note_strong: "Opmerking" - ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een wizard met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" + ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." @@ -529,7 +535,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: creative_artisans: "Onze creatieve Ambachtslieden:" brave_adventurers: "Onze dappere Avonturiers:" translating_diplomats: "Onze vertalende Diplomaten:" - helpful_ambassadors: "Onze helpvolle Ambassadeurs:" + helpful_ambassadors: "Onze behulpzame Ambassadeurs:" classes: archmage_title: "Tovenaar" @@ -554,8 +560,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" simulate_games: "Simuleer spellen!" simulate_all: "RESET EN SIMULEER SPELLEN" -# games_simulated_by: "Games simulated by you:" -# games_simulated_for: "Games simulated for you:" + games_simulated_by: "Door jou gesimuleerde spellen:" + games_simulated_for: "Voor jou gesimuleerde spellen:" leaderboard: "Leaderboard" battle_as: "Vecht als " summary_your: "Jouw " @@ -575,7 +581,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: tutorial_play: "Speel de Tutorial" tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" tutorial_skip: "Sla Tutorial over" - tutorial_not_sure: "Niet zeker wat er aan de gang is?" + tutorial_not_sure: "Niet zeker wat er aan de hand is?" tutorial_play_first: "Speel eerst de Tutorial." simple_ai: "Simpele AI" warmup: "Opwarming" @@ -583,14 +589,14 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: multiplayer_launch: introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "De nieuwe manier om te concurreren met code." + new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Hoe stoer is dat. Jij bent een modere voetballer! is het niet tijd dat je jouw magische krachten gebruikt voor het controlleren van jou minions in het slagveld? En nee, we praten heir niet over robots." - arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." - ladder_explanation: "Kies jouw helden, betover jouw mens of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in multiplayer coding arenas en verkrijg faam en glorie. Indien je creatief bent, kan je zelfs" + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." + ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" fork_our_arenas: "onze arenas forken" create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roest? Wees niet bang, er is een" + javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" tutorial: "tutorial" new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." so_ready: "Ik ben hier zo klaar voor" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index f813bc8aa..59783a502 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription sending: "Verzenden..." cancel: "Annuleren" save: "Opslagen" + create: "Creëer" delay_1_sec: "1 seconde" delay_3_sec: "3 secondes" delay_5_sec: "5 secondes" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription fork: "Fork" play: "Spelen" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "seconde" + seconds: "seconden" + minute: "minuut" + minutes: "minuten" + hour: "uur" + hours: "uren" modal: close: "Sluiten" @@ -39,19 +40,20 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription about: "Over Ons" contact: "Contact" twitter_follow: "Volgen" - employers: "Werknemers" + employers: "Werkgevers" versions: save_version_title: "Nieuwe versie opslagen" new_major_version: "Nieuwe hoofd versie" - cla_prefix: "Om bewerkingen op te slagen, moet je eerst akkoord gaan met onze" + cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" cla_url: "CLA" cla_suffix: "." cla_agree: "IK GA AKKOORD" login: - sign_up: "Account Maken" + sign_up: "Account maken" log_in: "Inloggen" + logging_in: "Bezig met inloggen" log_out: "Uitloggen" recover: "account herstellen" @@ -60,7 +62,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription send_password: "Verzend nieuw wachtwoord" signup: - create_account_title: "Maak een account aan om je progressie op te slagen" + create_account_title: "Maak een account aan om je vooruitgang op te slaan" description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" email_announcements: "Ontvang aankondigingen via email" coppa: "13+ of niet uit de VS" @@ -78,7 +80,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" campaign: "Campagne" for_beginners: "Voor Beginners" -# multiplayer: "Multiplayer" + multiplayer: "Multiplayer" for_developers: "Voor ontwikkelaars" play: @@ -87,7 +89,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription adventurer_forum: "het Avonturiersforum" adventurer_suffix: "." campaign_beginner: "Beginnercampagne" - campaign_beginner_description: "... waarin je de toverkunst van programmeren leert." + campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." campaign_dev: "Willekeurige moeilijkere levels" campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." campaign_multiplayer: "Multiplayer Arena's" @@ -96,7 +98,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." level_difficulty: "Moeilijkheidsgraad: " play_as: "Speel als " - spectate: "Schouw toe" + spectate: "Toeschouwen" contact: contact_us: "Contact opnemen met CodeCombat" @@ -126,19 +128,19 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription spell: "Spreuk" boots: "Laarzen" hue: "Hue" - saturation: "Saturation" - lightness: "Lightness" + saturation: "Saturatie" + lightness: "Helderheid" account_settings: title: "Account Instellingen" - not_logged_in: "Log in of maak een account om je instellingen aan te passen." + not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." autosave: "Aanpassingen Automatisch Opgeslagen" me_tab: "Ik" picture_tab: "Afbeelding" wizard_tab: "Tovenaar" password_tab: "Wachtwoord" emails_tab: "Emails" -# admin: "Admin" + admin: "Administrator" gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken" gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen." gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken." @@ -151,8 +153,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription email_notifications_description: "Krijg periodieke meldingen voor jouw account." email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." contributor_emails: "Medewerker Klasse emails" - contribute_prefix: "We zoeken mensen om bij ons feest aan te voegen! Bekijk de " - contribute_page: "contributiepagina" + contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " + contribute_page: "bijdragepagina" contribute_suffix: " om meer te weten te komen." email_toggle: "Vink alles aan/af" error_saving: "Fout Tijdens Het Opslaan" @@ -162,7 +164,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription account_profile: edit_settings: "Instellingen Aanpassen" profile_for_prefix: "Profiel voor " -# profile_for_suffix: "" + profile_for_suffix: "" profile: "Profiel" user_not_found: "Geen gebruiker gevonden. Controleer de URL?" gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:" @@ -190,9 +192,9 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription reload_title: "Alle Code Herladen?" reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" reload_confirm: "Herlaad Alles" -# victory_title_prefix: "" + victory_title_prefix: "" victory_title_suffix: " Compleet" - victory_sign_up: "Schrijf je in om je progressie op te slaan" + victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" victory_rate_the_level: "Beoordeel het level: " victory_rank_my_game: "Rankschik mijn Wedstrijd" @@ -224,45 +226,49 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription skip_tutorial: "Overslaan (esc)" editor_config: "Editor Configuratie" editor_config_title: "Editor Configuratie" + editor_config_language_label: "Programmeertaal" + editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." editor_config_keybindings_label: "Toets instellingen" -# editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_default: "Standaard (Ace)" editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." editor_config_invisibles_label: "Toon onzichtbare" editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." editor_config_indentguides_label: "Toon inspringing regels" editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Auto-aanvulling (gekrulde) haakjes en aanhalingstekens." -# loading_ready: "Ready!" -# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." -# tip_toggle_play: "Toggle play/paused with Ctrl+P." -# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." -# tip_guide_exists: "Click the guide at the top of the page for useful info." -# tip_open_source: "CodeCombat is 100% open source!" -# tip_beta_launch: "CodeCombat launched its beta in October, 2013." -# tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." -# think_solution: "Think of the solution, not the problem." -# tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" -# tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" -# tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" -# tip_forums: "Head over to the forums and tell us what you think!" -# tip_baby_coders: "In the future, even babies will be Archmages." -# tip_morale_improves: "Loading will continue until morale improves." -# tip_all_species: "We believe in equal opportunities to learn programming for all species." + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + loading_ready: "Klaar!" + tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." + tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." + tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." + tip_js_beginning: "JavaScript is nog maar het begin." + tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." + think_solution: "Denk aan de oplossing, niet aan het probleem" + tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" + tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" + tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" + tip_forums: "Ga naar de forums en vertel ons wat je denkt!" + tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." + tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." + tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." # tip_reticulating: "Reticulating spines." -# tip_harry: "Yer a Wizard, " -# tip_great_responsibility: "With great coding skill comes great debug responsibility." -# tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." -# tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." -# tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" -# tip_no_try: "Do. Or do not. There is no try. - Yoda" -# tip_patience: "Patience you must have, young Padawan. - Yoda" -# tip_documented_bug: "A documented bug is not a bug; it is a feature." -# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" -# time_current: "Now:" -# time_total: "Max:" -# time_goto: "Go to:" + tip_harry: "Je bent een tovenaar, " + tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." + tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." + tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." + tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" + tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" + tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" + tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." + tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Nu:" + time_total: "Maximum:" + time_goto: "Ga naar:" admin: av_title: "Administrator panels" @@ -273,7 +279,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription av_other_debug_base_url: "Base (om base.jade te debuggen)" u_title: "Gebruikerslijst" lg_title: "Laatste Spelletjes" -# clas: "CLAs" + clas: "CLAs" editor: main_title: "CodeCombat Editors" @@ -281,10 +287,10 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription article_title: "Artikel Editor" article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." thang_title: "Thang Editor" - thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd in Flash ondersteund." + thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." level_title: "Level Editor" - level_description: "Bevat het programma om te programmeren, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wijzelf ook gebruiken!" - security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Met dat wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " + level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" + security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " contact_us: "contacteer ons!" hipchat_prefix: "Je kan ons ook vinden in ons" hipchat_url: "(Engelstalig) HipChat kanaal." @@ -301,7 +307,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription level_tab_thangs_add: "Voeg element toe" level_settings_title: "Instellingen" level_component_tab_title: "Huidige Componenten" - level_component_btn_new: "Maak een nieuw component aan" + level_component_btn_new: "Maak een nieuwe component aan" level_systems_tab_title: "Huidige Systemen" level_systems_btn_new: "Maak een nieuw systeem aan" level_systems_btn_add: "Voeg Systeem toe" @@ -312,7 +318,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription level_component_settings: "Instellingen" level_system_edit_title: "Wijzig Systeem" create_system_title: "Maak een nieuw Systeem aan" - new_component_title: "Maak een nieuw Component aan" + new_component_title: "Maak een nieuwe Component aan" new_component_field_system: "Systeem" new_article_title: "Maak een Nieuw Artikel" new_thang_title: "Maak een Nieuw Thang Type" @@ -348,7 +354,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription score: "Score" win: "Win" loss: "Verlies" - tie: "Gelijk" + tie: "Gelijkstand" easy: "Gemakkelijk" medium: "Medium" hard: "Moeilijk" @@ -359,7 +365,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." who_description_ending: "Nu is het tijd om mensen te leren programmeren." - why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze het eigenlijk zo snel mogelijk nodig hebben via uitgebreide oefeningen. Wij weten hoe dat op te lossen." + why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" why_paragraph_3_italic: "joepie een medaille" @@ -381,13 +387,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription opensource_intro: "CodeCombat is gratis en volledig open source." opensource_description_prefix: "Bekijk " github_url: "onze GitHub" - opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van duizende open source projecten, en wij zijn er gek van. Bekijk ook " + opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " archmage_wiki_url: "onze Tovenaar wiki" - opensource_description_suffix: "voor een lijst van de software dat dit spel mogelijk maakt." + opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." practices_title: "Goede Respectvolle gewoonten" - practices_description: "Dit zijn onze beloften aan u, de speler, en iets minder juridische jargon." + practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." privacy_title: "Privacy" - privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen geld verdienen dankzij aanwerving in verloop van tijd, maar je mag op je twee oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." + privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." security_title: "Beveiliging" security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." email_title: "E-mail" @@ -399,7 +405,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription recruitment_title: "Aanwervingen" recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" - recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste codeer prestaties voorstellen aan duizenden bedrijven die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" + recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" recruitment_description_italic: "enorm veel" recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." copyrights_title: "Auteursrechten en licenties" @@ -408,25 +414,25 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription cla_url: "CLA" contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." code_title: "Code - MIT" - code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository of in de codecombat.com database, is erkend onder de" + code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" mit_license_url: "MIT licentie" - code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiekelijk is gemaakt met als doelstellingen het maken van levels." + code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." art_title: "Art/Music - Creative Commons " art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" - art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat voor het doel levels te maken. Dit omvat:" + art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" art_music: "Muziek" art_sound: "Geluid" - art_artwork: "Artwork" + art_artwork: "Illustraties" art_sprites: "Sprites" art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." - art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assitentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." + art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." - use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Create Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat alreeds duidelijk is gespecificeerd met CodeCombat, zoals een blog artikel, dat CodeCombat vernoemt, heeft geen aparte vermelding nodig." - art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg verspreidingsaanwijzingen van die brons als die er zijn." + use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." + art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." rights_title: "Rechten Voorbehouden" - rights_desc: "Alle rechten zijn voorbehouden voor de Levels. Dit omvat:" + rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" rights_scripts: "Scripts" rights_unit: "Eenheid Configuratie" rights_description: "Beschrijvingen" @@ -443,77 +449,77 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " introduction_desc_github_url: "CodeCombat is volledig open source" - introduction_desc_suf: ", en we mikken ernaar om zoveel mogelijk manieren mogelijk maken voor u om deel te nemen en dit project van zowel jou als ons te maken." + introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." introduction_desc_ending: "We hopen dat je met ons meedoet!" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" alert_account_message_intro: "Hallo!" alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " alert_account_message_suf: "." alert_account_message_create_url: "een account aanmaken" - archmage_summary: "Geïnteresserd in werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." - archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk veel van de voorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je handen veel te maken met CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw help hebben met het bouwen aan het allerbeste programmeerspel ooit." + archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." + archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." class_attributes: "Klasse kenmerken" archmage_attribute_1_pref: "Ervaring met " archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." how_to_join: "Hoe deel te nemen" join_desc_1: "Iedereen kan helpen! Bekijk onze " - join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jouzelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer met ons kan samenwerken? " + join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " join_desc_3: ", of vind ons in " join_desc_4: "en we bekijken het verder vandaar!" join_url_email: "E-mail ons" join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" - archmage_subscribe_desc: "Ontvang e-mails met nieuwe codeer oppurtiniteiten en aankondigingen." - artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat kaal, dus wees daarvan bewust. Levels maken zal een beetje uitdagend en buggy zijn. Als jij een visie van campagnes hebt van for-loops tot" - artisan_summary_suf: "dan is dit de klasse voor jou." - artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor is amper gebruikt door zelfs ons, wees dus voorzichtig. Indien je visioenen hebt van campagnes, gaande van for-loops tot" - artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou." - artisan_attribute_1: "Enige ervaring in het maken van gelijkbare inhoud. Bijvoorbeeld ervaring het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" - artisan_attribute_2: "Tot in detail testen en itereren staat voor jou gelijk aan plezier. Om goede levels te maken, moet jet het door anderen laten spelen en bereid zijn om een hele boel aan te passen." - artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je frustraties kan werken. Samenwerken met een Adventurer kan jou ook veel helpen." - artisan_join_desc: "Gebruik de Level Editor in deze volgorde, min of meer:" + archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." + artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" + artisan_summary_suf: ", dan is dit de klasse voor jou." + artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" + artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." + artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" + artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." + artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." + artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" artisan_join_step1: "Lees de documentatie." artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." - adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou." - adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou." + adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." - adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook posten over levels die beoordeeld moeten worden op onze netwerken zoals" + adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" adventurer_forum_url: "ons forum" adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" - more_about_adventurer: "Leer meer over hoe je een dappere avonturier kunt worden." + more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." - scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal een Ambachtslied een link kunnen geven naar een artikel wat past bij een level. Net zoiets als het " + scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." - scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal elk Ambachtslied niet in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel wat deze informatie bevat voor de speler. Net zoiets als het " + scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " scribe_introduction_url_mozilla: "Mozilla Developer Network" scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." - scribe_attribute_1: "Taal-skills zijn praktisch alles wat je nodig hebt. Niet alleen grammatica of spelling, maar ook moeilijke ideeën overbrengen aan anderen." + scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." contact_us_url: "Contacteer ons" scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" more_about_scribe: "Leer meer over het worden van een ijverige Klerk." scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." - diplomat_summary: "Er is grote interesse in CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers wie tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor heel de wereld. Als jij wilt helpen met CodeCombat internationaal maken, dan is dit de klasse voor jou." + diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " diplomat_launch_url: "release in oktober" - diplomat_introduction_suf: "dan is het wel dat er een significante interesse is in CodeCombat in andere landen, vooral Brazilië! We zijn een corps aan vertalers aan het creëren dat ijverig de ene set woorden in een andere omzet om CodeCombat zo toegankelijk te maken als mogelijk in heel de wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." - diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide goed te kunnen!" + diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." + diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" diplomat_join_pref_github: "Vind van jouw taal het locale bestand " diplomat_github_url: "op GitHub" diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." - ambassador_introduction: "We zijn een community aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en soeciale netwerken met veel andere mensen waarmee je kan praten en hulp kan vragen over het spel en om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" + ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" ambassador_join_note_strong: "Opmerking" - ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een wizard met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" + ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." @@ -529,7 +535,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription creative_artisans: "Onze creatieve Ambachtslieden:" brave_adventurers: "Onze dappere Avonturiers:" translating_diplomats: "Onze vertalende Diplomaten:" - helpful_ambassadors: "Onze helpvolle Ambassadeurs:" + helpful_ambassadors: "Onze behulpzame Ambassadeurs:" classes: archmage_title: "Tovenaar" @@ -554,8 +560,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" simulate_games: "Simuleer spellen!" simulate_all: "RESET EN SIMULEER SPELLEN" -# games_simulated_by: "Games simulated by you:" -# games_simulated_for: "Games simulated for you:" + games_simulated_by: "Door jou gesimuleerde spellen:" + games_simulated_for: "Voor jou gesimuleerde spellen:" leaderboard: "Leaderboard" battle_as: "Vecht als " summary_your: "Jouw " @@ -575,7 +581,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription tutorial_play: "Speel de Tutorial" tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" tutorial_skip: "Sla Tutorial over" - tutorial_not_sure: "Niet zeker wat er aan de gang is?" + tutorial_not_sure: "Niet zeker wat er aan de hand is?" tutorial_play_first: "Speel eerst de Tutorial." simple_ai: "Simpele AI" warmup: "Opwarming" @@ -583,14 +589,14 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription multiplayer_launch: introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "De nieuwe manier om te concurreren met code." + new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Hoe stoer is dat. Jij bent een modere voetballer! is het niet tijd dat je jouw magische krachten gebruikt voor het controlleren van jou minions in het slagveld? En nee, we praten heir niet over robots." - arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." - ladder_explanation: "Kies jouw helden, betover jouw mens of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in multiplayer coding arenas en verkrijg faam en glorie. Indien je creatief bent, kan je zelfs" + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." + ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" fork_our_arenas: "onze arenas forken" create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roest? Wees niet bang, er is een" + javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" tutorial: "tutorial" new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." so_ready: "Ik ben hier zo klaar voor" diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index e2de4d9df..afcd5d37f 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t sending: "Verzenden..." cancel: "Annuleren" save: "Opslagen" + create: "Creëer" delay_1_sec: "1 seconde" delay_3_sec: "3 secondes" delay_5_sec: "5 secondes" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t fork: "Fork" play: "Spelen" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "seconde" + seconds: "seconden" + minute: "minuut" + minutes: "minuten" + hour: "uur" + hours: "uren" modal: close: "Sluiten" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t login: sign_up: "Account maken" log_in: "Inloggen" + logging_in: "Bezig met inloggen" log_out: "Uitloggen" recover: "account herstellen" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t skip_tutorial: "Overslaan (esc)" editor_config: "Editor Configuratie" editor_config_title: "Editor Configuratie" + editor_config_language_label: "Programmeertaal" + editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." editor_config_keybindings_label: "Toets instellingen" editor_config_keybindings_default: "Standaard (Ace)" editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." @@ -242,27 +246,29 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." tip_js_beginning: "JavaScript is nog maar het begin." tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." -# think_solution: "Think of the solution, not the problem." -# tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" -# tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" -# tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" -# tip_forums: "Head over to the forums and tell us what you think!" + think_solution: "Denk aan de oplossing, niet aan het probleem" + tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" + tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" + tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" + tip_forums: "Ga naar de forums en vertel ons wat je denkt!" tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." # tip_reticulating: "Reticulating spines." tip_harry: "Je bent een tovenaar, " -# tip_great_responsibility: "With great coding skill comes great debug responsibility." -# tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." -# tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." -# tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" -# tip_no_try: "Do. Or do not. There is no try. - Yoda" -# tip_patience: "Patience you must have, young Padawan. - Yoda" -# tip_documented_bug: "A documented bug is not a bug; it is a feature." -# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" -# time_current: "Now:" -# time_total: "Max:" -# time_goto: "Go to:" + tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." + tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." + tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." + tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" + tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" + tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" + tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." + tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Nu:" + time_total: "Maximum:" + time_goto: "Ga naar:" admin: av_title: "Administrator panels" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" - artisan_summary_suf: "dan is dit de klasse voor jou." + artisan_summary_suf: ", dan is dit de klasse voor jou." artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" - artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou." + artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee index 22f12947f..88c9d7d35 100644 --- a/app/locale/nn.coffee +++ b/app/locale/nn.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/no.coffee b/app/locale/no.coffee index 2b401c494..aa3c48484 100644 --- a/app/locale/no.coffee +++ b/app/locale/no.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # sending: "Sending..." cancel: "Avbryt" # save: "Save" +# create: "Create" delay_1_sec: "1 sekunder" delay_3_sec: "3 sekunder" delay_5_sec: "5 sekunder" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr login: sign_up: "Lag konto" log_in: "Logg Inn" +# logging_in: "Logging In" log_out: "Logg Ut" recover: "gjenåpne konto" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee index d8d4f85ec..b858762ce 100644 --- a/app/locale/pl.coffee +++ b/app/locale/pl.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish sending: "Wysyłanie…" cancel: "Anuluj" save: "Zapisz" +# create: "Create" delay_1_sec: "1 sekunda" delay_3_sec: "3 sekundy" delay_5_sec: "5 sekund" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish login: sign_up: "Stwórz konto" log_in: "Zaloguj się" +# logging_in: "Logging In" log_out: "Wyloguj się" recover: "odzyskaj konto" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish skip_tutorial: "Pomiń (esc)" editor_config: "Konfiguracja edytora" editor_config_title: "Konfiguracja edytora" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Przypisania klawiszy" editor_config_keybindings_default: "Domyślny (Ace)" editor_config_keybindings_description: "Dodaje skróty znane z popularnych edytorów." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee index 3802d0956..1e350d8e1 100644 --- a/app/locale/pt-BR.coffee +++ b/app/locale/pt-BR.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: sending: "Enviando..." cancel: "Cancelar" save: "Salvar" + create: "Criar" delay_1_sec: "1 segundo" delay_3_sec: "3 segundos" delay_5_sec: "5 segundos" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: fork: "Fork" play: "Jogar" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + unidades: + second: "segundo" + seconds: "segundos" + minute: "minuto" + minutes: "minutos" + hour: "hora" + hours: "horas" modal: close: "Fechar" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: login: sign_up: "Criar conta" log_in: "Entrar" + logging_in: "Entrando" log_out: "Sair" recover: "Recuperar sua conta" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: skip_tutorial: "Pular (esc)" editor_config: "Editor de Configurações" editor_config_title: "Editor de Configurações" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Teclas de Atalho" editor_config_keybindings_default: "Padrão (Ace)" editor_config_keybindings_description: "Adicionar atalhos conhecidos de editores comuns." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: more_about_archmage: "Saiba Mais Sobre Como Se Tornar Um Poderoso Arquimago" archmage_subscribe_desc: "Receba email sobre novas oportunidades para codificar e anúncios." artisan_summary_pref: "Quer criar níveis e ampliar o arsenal do CodeCombat? As pessoas estão jogando com o nosso conteúdo em um ritmo mais rápido do que podemos construir! Neste momento, nosso editor de níveis é instável, então fique esperto. Fazer os níveis será um pouco desafiador e com alguns bugs. Se você tem visões de campanhas abrangendo for-loops para" - artisan_summary_suf: "então essa classe é para você." + artisan_summary_suf: ", então essa classe é para você." artisan_introduction_pref: "Nós devemos contruir níveis adicionais! Pessoas estão clamando por mais conteúdo, e só podemos contruir tantos de nós mesmos. Agora sua estação de trabalho é o nível um; nosso Editor de Níveis é pouco utilizável até mesmo para seus criadores, então fique esperto. Se você tem visões de campanhas abrangendo for-loops para" - artisan_introduction_suf: "para, em seguida, esta classe pode ser para você." + artisan_introduction_suf: ", esta classe pode ser para você." artisan_attribute_1: "Qualquer experiência em construir conteúdo como esse seria legal, como usando os editores de nível da Blizzard. Mas não é obrigatório!" artisan_attribute_2: "Um desejo ardente de fazer um monte de testes e iteração. Para fazer bons níveis, você precisa levá-lo para os outros e vê-los jogar, e estar preparado para encontrar muitas coisas para consertar." artisan_attribute_3: "Por enquanto, a resistência em par com um Aventureiro. Nosso Editor de Níveis é super preliminar e frustrante para usar. Você foi avisado!" diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index d6744433c..5ad78369a 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -4,7 +4,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P saving: "A guardar..." sending: "A enviar..." cancel: "Cancelar" - save: "Save" + save: "Guardar" + create: "Create" delay_1_sec: "1 segundo" delay_3_sec: "3 segundos" delay_5_sec: "5 segundos" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P login: sign_up: "Criar conta" log_in: "Iniciar sessão" +# logging_in: "Logging In" log_out: "Sair" recover: "recuperar conta" @@ -121,7 +123,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P title: "Definições do Wizard" customize_avatar: "Altera o teu Avatar" clothes: "Roupas" - trim: "Faixa" + trim: "Pormenores" cloud: "Nuvem" spell: "Feitiço" boots: "Botas" @@ -162,7 +164,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P account_profile: edit_settings: "Editar Definições" profile_for_prefix: "Perfil de " -# profile_for_suffix: "" + profile_for_suffix: "" profile: "Perfil" user_not_found: "Nenhum utilizador encontrado. Verifica o URL?" gravatar_not_found_mine: "Não conseguimos encontrar o teu perfil associado com:" @@ -190,14 +192,14 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P reload_title: "Recarregar todo o código?" reload_really: "Tens a certeza que queres recarregar este nível de volta ao início?" reload_confirm: "Recarregar tudo" -# victory_title_prefix: "" + victory_title_prefix: "" victory_title_suffix: " Concluído" victory_sign_up: "Cria uma conta para guardar o teu progresso" victory_sign_up_poke: "Queres guardar o teu código? Cria uma conta grátis!" victory_rate_the_level: "Classifica este nível: " victory_rank_my_game: "Classifica o meu jogo" victory_ranking_game: "A submeter..." -# victory_return_to_ladder: "Return to Ladder" + victory_return_to_ladder: "Voltar à Classificação" victory_play_next_level: "Jogar próximo nível" victory_go_home: "Ir para o Inicio" victory_review: "Conta-nos mais!" @@ -212,8 +214,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P tome_minion_spells: "Feitiços dos teus Minions" tome_read_only_spells: "Feitiços apenas de leitura" tome_other_units: "Outras Unidades" -# tome_cast_button_castable: "Cast Spell" - tome_cast_button_casting: "A lançar" + tome_cast_button_castable: "Lançar Feitiço" + tome_cast_button_casting: "A Lançar Feitiço" tome_cast_button_cast: "Lançar Feitiço" # tome_autocast_delay: "Autocast Delay" tome_select_spell: "Escolhe um Feitiço" @@ -222,17 +224,19 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P hud_continue: "Continuar (shift-espaço)" spell_saved: "Feitiço Guardado" skip_tutorial: "Saltar (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + editor_config: "Configurar Editor" + editor_config_title: "Configuração do Editor" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." + editor_config_keybindings_label: "Atalhos de Teclado" + editor_config_keybindings_default: "Predefinição (Ace)" + editor_config_keybindings_description: "Adiciona atalhos de teclado de acordo com o editor escolhido" + editor_config_invisibles_label: "Mostrar Invisíveis" + editor_config_invisibles_description: "Mostra caracteres invisíveis como espaços e tabulações" + editor_config_indentguides_label: "Mostrar Guias" + editor_config_indentguides_description: "Mostra linhas verticais de acordo com a identação." + editor_config_behaviors_label: "Comportamentos Inteligentes" + editor_config_behaviors_description: "Completa automaticamente chavetas, parêntesis e aspas" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." # tip_toggle_play: "Toggle play/paused with Ctrl+P." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -267,8 +273,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P admin: av_title: "Visualizações de Admin" av_entities_sub_title: "Entidades" - av_entities_users_url: "utilizadores" - av_entities_active_instances_url: "Activar Instancias" + av_entities_users_url: "Utilizadores" + av_entities_active_instances_url: "Activar Instâncias" av_other_sub_title: "Outro" av_other_debug_base_url: "Base (para fazer debug base.jade)" u_title: "Lista de Utilizadores" @@ -315,11 +321,11 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P new_component_title: "Criar novo Componente" new_component_field_system: "Sistema" new_article_title: "Criar um Novo Artigo" - new_thang_title: "Criar um Novo tipo the Thang" + new_thang_title: "Criar um Novo Tipo de Thang" new_level_title: "Criar um Novo Nível" - article_search_title: "Procura Artigos Aqui" - thang_search_title: "Procura Tipos de Thang Aqui" - level_search_title: "Procura Níveis aqui" + article_search_title: "Procurar Artigos Aqui" + thang_search_title: "Procurar Tipos de Thang Aqui" + level_search_title: "Procurar Níveis Aqui" article: edit_btn_preview: "Visualizar" @@ -341,7 +347,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P password: "Palavra-passe" message: "Mensagem" code: "Código" -# ladder: "Ladder" + ladder: "Classificação" when: "quando" opponent: "Adversário" rank: "Classificação" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" @@ -548,36 +554,36 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P counselor_title_description: "(Expert/ Professor)" ladder: -# please_login: "Please log in first before playing a ladder game." + please_login: "Por favor, faz log in antes de jogar um jogo para o campeonato." my_matches: "Os meus jogos" simulate: "Simular" -# simulation_explanation: "By simulating games you can get your game ranked faster!" -# simulate_games: "Simulate Games!" + simulation_explanation: "Simulando jogos podes fazer com que o teu jogo seja classificado mais rapidamente!" + simulate_games: "Simular Jogos!" # simulate_all: "RESET AND SIMULATE GAMES" # games_simulated_by: "Games simulated by you:" # games_simulated_for: "Games simulated for you:" -# leaderboard: "Leaderboard" -# battle_as: "Battle as " -# summary_your: "Your " -# summary_matches: "Matches - " + leaderboard: "Tabela de Classificação" + battle_as: "Lutar como " + summary_your: "As tuas " + summary_matches: "Partidas - " summary_wins: " Vitórias, " summary_losses: " Derrotas" -# rank_no_code: "No New Code to Rank" + rank_no_code: "Sem código novo para classificar" rank_my_game: "Classifica o meu jogo!" rank_submitting: "A submeter..." rank_submitted: "Submetido para Classificação" rank_failed: "Falhou a Classificar" rank_being_ranked: "Jogo a ser Classificado" -# code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." -# no_ranked_matches_pre: "No ranked matches for the " -# no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." + code_being_simulated: "O teu código está a ser simulado por outros jogadores, para ser classificado. Isto será actualizado quando surgirem novas partidas." + no_ranked_matches_pre: "Sem jogos classificados pela equipa " + no_ranked_matches_post: "! Joga contra alguns adversários e volta aqui para veres o teu jogo classificado." choose_opponent: "Escolhe um Adversário" tutorial_play: "Jogar Tutorial" tutorial_recommended: "Recomendado se nunca jogaste antes" tutorial_skip: "Saltar Tutorial" tutorial_not_sure: "Não tens a certeza do que se passa?" tutorial_play_first: "Joga o Tutorial primeiro." -# simple_ai: "Simple AI" + simple_ai: "Inteligência Artificial Simples" warmup: "Aquecimento" vs: "VS" @@ -585,11 +591,11 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P introducing_dungeon_arena: "Introduzindo a Dungeon Arena" new_way: "Uma nova forma de competir com código." to_battle: "Às armas, Programadores!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." + modern_day_sorcerer: "Sabes programar? És tão forte! És um feiticeiro dos tempos modernos! Será que não está na altura de usares os teus poderes mágicos de programação para comandar os teus servos em combates épicos? E não estamos a falar de robots." arenas_are_here: "As arenas mano-a-mano multiplayer de CodeCombat estão aqui." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" - create_worlds: "e cria os teus próprios mundos." + ladder_explanation: "Escolhe os teus heróis, encanta os teus exércitos de ogres ou humanos, e constrói o teu caminho, derrotando outros Feiticeiros para chegares ao topo da classificação. Depois, desafia os teus amigos para gloriosas arenas de programação multijogador. Se te sentes criativo, podes até" + fork_our_arenas: "alterar as nossas arenas" + create_worlds: "e criar os teus próprios mundos." javascript_rusty: "O teu JavaScript está enferrujado? Não te preocupes; Existe um" tutorial: "tutorial" new_to_programming: ". Novo na programação? Faz a Campanha para Iniciantes para expandires as tuas capacidades." diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee index 7008fc8fb..09d07b3db 100644 --- a/app/locale/pt.coffee +++ b/app/locale/pt.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues sending: "Enviando..." cancel: "Cancelar" # save: "Save" +# create: "Create" delay_1_sec: "1 segundo" delay_3_sec: "3 segundos" delay_5_sec: "5 segundos" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues login: sign_up: "Criar conta" log_in: "Entrar" +# logging_in: "Logging In" log_out: "Sair" recover: "recuperar sua conta" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee index 789bd1159..d32ba3c6d 100644 --- a/app/locale/ro.coffee +++ b/app/locale/ro.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman sending: "Se trimite..." cancel: "Anulează" save: "Salvează" + create: "Crează" delay_1_sec: "1 secundă" delay_3_sec: "3 secunde" delay_5_sec: "5 secunde" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman fork: "Fork" play: "Joacă" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "secundă" + seconds: "secunde" + minute: "minut" + minutes: "minute" + hour: "oră" + hours: "ore" modal: close: "Inchide" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman login: sign_up: "Crează cont" log_in: "Log In" + logging_in: "Se conectează" log_out: "Log Out" recover: "recuperează cont" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman skip_tutorial: "Sari peste (esc)" editor_config: "Editor Config" editor_config_title: "Configurare Editor" + editor_config_language_label: "Limbaj de Programare" + editor_config_language_description: "Definește limbajul de programare în care vrei să codezi." editor_config_keybindings_label: "Mapare taste" editor_config_keybindings_default: "Default (Ace)" editor_config_keybindings_description: "Adaugă comenzi rapide suplimentare cunoscute din editoarele obisnuite." @@ -242,17 +246,17 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman tip_beta_launch: "CodeCombat a fost lansat beta in Octombrie 2013." tip_js_beginning: "JavaScript este doar începutul." tip_autocast_setting: "Ajutează setările de autocast apăsând pe rotița de pe buton." -# think_solution: "Think of the solution, not the problem." -# tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" -# tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" -# tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" -# tip_forums: "Head over to the forums and tell us what you think!" + think_solution: "Gândește-te la soluție, nu la problemă." + tip_theory_practice: "Teoretic nu este nici o diferență înte teorie și practică. Dar practic este. - Yogi Berra" + tip_error_free: "Există doar două metode de a scrie un program fără erori; numai a treia funcționează. - Alan Perlis" + tip_debugging_program: "Dacă a face debuggin este procesul de a scoate bug-uri, atunci a programa este procesul de a introduce bug-uri. - Edsger W. Dijkstra" + tip_forums: "Intră pe forum și spune-ți părerea!" tip_baby_coders: "În vitor până și bebelușii vor fi Archmage." tip_morale_improves: "Se va încărca până până când va crește moralul." tip_all_species: "Noi credem în șanse egale de a învăța programare pentru toate speciile." -# tip_reticulating: "Reticulating spines." + tip_reticulating: "Reticulating spines." tip_harry: "Ha un Wizard, " -# tip_great_responsibility: "With great coding skill comes great debug responsibility." + tip_great_responsibility: "With great coding skill comes great debug responsibility." # tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." # tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." # tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" @@ -260,6 +264,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman more_about_archmage: "Învață mai multe despre cum să devi un Archmage" archmage_subscribe_desc: "Primește email-uri despre noi oportunități de progrmare și anunțuri." artisan_summary_pref: "Vrei să creezi nivele și să extinzi arsenalul CodeCombat? Oamenii ne termină nivelele mai repede decât putem să le creăm! Momentan, editorul nostru de nivele este rudimentar, așa că aveți grijă. Crearea de nivele va fi o mică provocare și va mai avea câteva bug-uri. Dacă ai viziuni cu campanii care cuprind loop-uri for pentru" - artisan_summary_suf: "atunci asta e clasa pentru tine." + artisan_summary_suf: ", atunci asta e clasa pentru tine." artisan_introduction_pref: "Trebuie să construim nivele adiționale! Oamenii sunt nerăbdători pentru mai mult conținut, și noi putem face doar atât singuri. Momentan editorul de nivele abia este utilizabil până și de creatorii lui, așa că aveți grijă. Dacă ai viziuni cu campanii care cuprind loop-uri for pentru" - artisan_introduction_suf: "atunci aceasta ar fi clasa pentru tine." + artisan_introduction_suf: ", atunci aceasta ar fi clasa pentru tine." artisan_attribute_1: "Orice experiență în crearea de conținut ca acesta ar fi de preferat, precum folosirea editoarelor de nivele de la Blizzard. Dar nu este obligatoriu!" artisan_attribute_2: "Un chef de a face o mulțime de teste și iterări. Pentru a face nivele bune, trebuie să testați pe mai mulți oameni și să obțineți feedback, și să fiți pregăți să reparați o mulțime de lucruri." artisan_attribute_3: "Pentru moment trebui să ai nervi de oțel. Editorul nostru de nivele este abia la început și încă are multe probleme. Ai fost avertizat!" @@ -581,16 +587,16 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman warmup: "Încălzire" vs: "VS" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" + multiplayer_launch: + introducing_dungeon_arena: "Prezentăm Dungeon Arena" + new_way: "Noul mod de a concura prin linii de cod." + to_battle: "La luptă, Developers!" + modern_day_sorcerer: "Știi să programezie? Tare. Ești un vrăjitor al noii ere! Nu crezi ca este timpul să îți folosești puterile de programare pentru a conduce în lupte epice minionii tăi? Și nu vorbim despre roboți aici." + arenas_are_here: "Arenele CodeCombat multiplayer 1v1 sunt aici." + ladder_explanation: "Alegeți eroii,vrăjește armatele de orci sau oameni, și croiește-ți drumul luptând și învingând alți Vrăjitori pentru a ajunge în topul clasamentului. Dacă te simți creativ poți chiar să" + fork_our_arenas: "să dai fork la arenele noastre" + create_worlds: "și să îți creezi propriile lumi." + javascript_rusty: "N-ai mai pus mâna pe JavaScript? Nicio problemă; există un" + tutorial: "tutorial" + new_to_programming: ". Nou in tainele programării? Încearcă campania de începători pentru ați dezolvata abilitățile." + so_ready: "Sunt atât de pregătit pentru asta!" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index d4b35cde0..5f77ea288 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi sending: "Отправка..." cancel: "Отмена" save: "Сохранить" + create: "Создать" delay_1_sec: "1 секунда" delay_3_sec: "3 секунды" delay_5_sec: "5 секунд" @@ -12,13 +13,13 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi fork: "Форк" play: "Играть" -# units: -# second: "second" -# seconds: "seconds" -# minute: "minute" -# minutes: "minutes" -# hour: "hour" -# hours: "hours" + units: + second: "секунда" + seconds: "секунд(ы)" + minute: "минута" + minutes: "минут(ы)" + hour: "час" + hours: "часа(ов)" modal: close: "Закрыть" @@ -32,7 +33,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi editor: "Редактор" blog: "Блог" forum: "Форум" - admin: "Администратор" + admin: "Админ" home: "Домой" contribute: "Сотрудничество" legal: "Юридическая информация" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi login: sign_up: "Создать аккаунт" log_in: "Войти" + logging_in: "Вход..." log_out: "Выйти" recover: "восстановить аккаунт" @@ -61,7 +63,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi signup: create_account_title: "Создать аккаунт, чтобы сохранить прогресс" - description: "Это бесплатно. Нужна лишь пара вещей и вы сможете продолжить путешествие:" + description: "Это бесплатно. Нужна лишь пара вещей, и вы сможете продолжить путешествие:" email_announcements: "Получать оповещения на email" coppa: "Вы старше 13 лет или живёте не в США " coppa_why: "(почему?)" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi skip_tutorial: "Пропуск (Esc)" editor_config: "Настройки редактора" editor_config_title: "Настройки редактора" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Сочетания клавиш" editor_config_keybindings_default: "По умолчанию (Ace)" editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." @@ -239,7 +243,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд." tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации." tip_open_source: "Исходный код CodeCombat открыт на 100%!" - tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013." + tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013 года." tip_js_beginning: "JavaScript это только начало." tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения." think_solution: "Думайте о решении, а не о проблеме." @@ -260,9 +264,11 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi tip_patience: "Терпением ты обладать должен, юный падаван. - Yoda" tip_documented_bug: "Документированный баг не является багом; это фича." tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela" -# time_current: "Now:" -# time_total: "Max:" -# time_goto: "Go to:" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Текущее:" + time_total: "Максимальное:" + time_goto: "Перейти на:" admin: av_title: "Админ панель" @@ -387,7 +393,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi practices_title: "Уважаемые лучшие практики" practices_description: "Это наши обещания тебе, игроку, менее юридическим языком." privacy_title: "Конфиденциальность" - privacy_description: "Мы не будем продавать какой-либо личной информации. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." + privacy_description: "Мы не будем продавать какую-либо личную информацию. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." security_title: "Безопасность" security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности." email_title: "Email" @@ -459,7 +465,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi how_to_join: "Как присоединиться" join_desc_1: "Любой желающий может помочь! Просто ознакомьтесь с нашим " join_desc_2: "чтобы начать, и установите флажок ниже, чтобы отметить себя как отважного Архимага и получать последние новости через email. Хотите поговорить о том, что делать или как принять более активное участие? " - join_desc_3: "или найдите нас в " + join_desc_3: " или найдите нас в " join_desc_4: "и мы решим, откуда можно начать!" join_url_email: "Напишите нам" join_url_hipchat: "публичной комнате HipChat" @@ -505,7 +511,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi diplomat_attribute_1: "Свободное владение английским языком и языком, на который вы хотели бы переводить. При передаче сложных идей важно иметь сильную хватку в обоих!" diplomat_join_pref_github: "Найдите файл локализации вашего языка " diplomat_github_url: "на GitHub" - diplomat_join_suf_github: ", отредактируйте его онлайн и отправьте запрос на включение изменений. Кроме того, установите флажок ниже, чтобы быть в курсе новых разработок интернационализации!" + diplomat_join_suf_github: ", отредактируйте его онлайн и отправьте запрос на подтверждение изменений. Кроме того, установите флажок ниже, чтобы быть в курсе новых разработок интернационализации!" more_about_diplomat: "Узнать больше о том, как стать Дипломатом" diplomat_subscribe_desc: "Получать email-ы о i18n разработках и уровнях для перевода." ambassador_summary: "Мы пытаемся создать сообщество, и каждое сообщество нуждается в службе поддержки, когда есть проблемы. У нас есть чаты, электронная почта и социальные сети, чтобы наши пользователи могли познакомиться с игрой. Если вы хотите помочь людям втянуться, получать удовольствие и учиться программированию, этот класс для вас." @@ -587,10 +593,10 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi to_battle: "В бой, разработчики!" modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы." arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь." - ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров–затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" - fork_our_arenas: "сделать форк наших арен" + ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров – затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" + fork_our_arenas: "сделать модификации наших арен" create_worlds: "и создавать свои собственные миры." javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть" tutorial: "обучение" new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." - so_ready: "Я полностью готов для этого" + so_ready: "Я полностью готов(а) для этого" diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee index 4c58049a7..70214b991 100644 --- a/app/locale/sk.coffee +++ b/app/locale/sk.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", sending: "Odosiela sa..." cancel: "Zruš" save: "Ulož" +# create: "Create" delay_1_sec: "1 sekunda" delay_3_sec: "3 sekundy" delay_5_sec: "5 sekúnd" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", login: sign_up: "Vytvor účet" log_in: "Prihlás sa" +# logging_in: "Logging In" log_out: "Odhlás sa" recover: "obnov" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee index 56cbd080b..4815699e8 100644 --- a/app/locale/sl.coffee +++ b/app/locale/sl.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee index 0437de30c..ba3d37cf9 100644 --- a/app/locale/sr.coffee +++ b/app/locale/sr.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian sending: "Шаље се..." cancel: "Откажи" # save: "Save" +# create: "Create" delay_1_sec: "1 секунда" delay_3_sec: "3 секунде" delay_5_sec: "5 секунди" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian login: sign_up: "Направи Налог" log_in: "Улогуј Се" +# logging_in: "Logging In" log_out: "Излогуј Се" recover: "Поврати налог" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee index 577ffb5bc..9da2588d2 100644 --- a/app/locale/sv.coffee +++ b/app/locale/sv.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr sending: "Skickar..." cancel: "Avbryt" save: "Spara" +# create: "Create" delay_1_sec: "1 sekund" delay_3_sec: "3 sekunder" delay_5_sec: "5 sekunder" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr login: sign_up: "Skapa konto" log_in: "Logga in" +# logging_in: "Logging In" log_out: "Logga ut" recover: "glömt lösenord" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr skip_tutorial: "Hoppa över (esc)" editor_config: "Ställ in redigerare" editor_config_title: "Redigerarinställningar" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." editor_config_keybindings_label: "Kortkommandon" editor_config_keybindings_default: "Standard (Ace)" editor_config_keybindings_description: "Lägger till ytterligare kortkommandon kända från vanliga redigerare." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr more_about_archmage: "Lär dig mer om att bli en huvudmagiker" archmage_subscribe_desc: "Få mail om nya kodmöjligheter och tillkännagivanden." artisan_summary_pref: "Vill du designa nivåer och utvidga CodeCombats arsenal? Folk spelar igenom vårt innehåll snabbare än vi kan bygga! För tillfället är vår nivåredigerare ganska mager, så var uppmärksam. Att skapa nivåer kommer att vara lite utmanande och buggigt. Om du har visioner av kampanjer som sträcker sig från for-loopar till" - artisan_summary_suf: "är den här klassen för dig." + artisan_summary_suf: ", är den här klassen för dig." artisan_introduction_pref: "Vi måste bygga fler nivåer! Människor kräver mer innehåll, och vi kan bara bygga en viss mängd själva. Just nu är arbetsstation nivå ett; vår nivåredigerare är knappt användbar ens av dess skapare, så var uppmärksam. Om du har visioner av kampanjer som sträcker sig från for-loopar till" - artisan_introduction_suf: "är den här klassen kanske något för dig." + artisan_introduction_suf: ", är den här klassen kanske något för dig." artisan_attribute_1: "Någon erfarenhet av att bygga liknande innehåll vore bra, som till exempel Blizzards nivåredigerare. Det är dock inget krav!" artisan_attribute_2: "En vilja att göra en hel del testande och upprepning. För att göra bra nivåer, måste du ta dem till andra och se dem spela den, och vara beredd på att hitta många saker att laga." artisan_attribute_3: "För tillfället, uthållighet i klass med en äventyrare. Vår nivåredigerare är väldigt preliminär och frustrerande att använda. Du är varnad!" diff --git a/app/locale/th.coffee b/app/locale/th.coffee index f7155c267..f5806b980 100644 --- a/app/locale/th.coffee +++ b/app/locale/th.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # sending: "Sending..." cancel: "ยกเลิก" # save: "Save" +# create: "Create" delay_1_sec: "1 วินาที" delay_3_sec: "3 วินาที" delay_5_sec: "5 วินาที" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra login: sign_up: "ลงทะเบียนใหม่" log_in: "ลงชื่อเข้าใช้" +# logging_in: "Logging In" log_out: "ลงชื่ื่อออก" recover: "กู้บัญชีการใช้งาน" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee index e1cc00b36..f72b6e2a0 100644 --- a/app/locale/tr.coffee +++ b/app/locale/tr.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t sending: "Gönderiliyor..." cancel: "İptal" save: "Kaydet" +# create: "Create" delay_1_sec: "1 saniye" delay_3_sec: "3 saniye" delay_5_sec: "5 saniye" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t login: sign_up: "Kaydol" log_in: "Giriş Yap" +# logging_in: "Logging In" log_out: "Çıkış Yap" recover: "şifrenizi sıfırlayabilirsiniz." @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee index c0c9b4076..dd8967069 100644 --- a/app/locale/uk.coffee +++ b/app/locale/uk.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "українська мова", englishDesc sending: "Надсилання..." cancel: "Відміна" save: "Зберегти" +# create: "Create" delay_1_sec: "1 секунда" delay_3_sec: "3 секунди" delay_5_sec: "5 секунд" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "українська мова", englishDesc login: sign_up: "створити акаунт" log_in: "Увійти" +# logging_in: "Logging In" log_out: "Вийти" recover: "відновити акаунт" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "українська мова", englishDesc skip_tutorial: "Пропустити (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" editor_config_keybindings_default: "За замовчуванням (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "українська мова", englishDesc # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -356,36 +362,36 @@ module.exports = nativeDescription: "українська мова", englishDesc about: who_is_codecombat: "Хто є CodeCombat?" why_codecombat: "Чому CodeCombat?" - who_description_prefix: "Взагалом розпочався CodeCombat у 2013. Ми також створили " -# who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." + who_description_prefix: "разом започаткували CodeCombat у 2013. Ми також створили " + who_description_suffix: "у 2008 і вивели його на перше місце серед web та iOS додаткив, що навчають писати китайською та японською." who_description_ending: "Зараз час вчити людей писати код." -# why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." -# why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." -# why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" -# why_paragraph_3_italic: "yay a badge" -# why_paragraph_3_center: "but fun like" + why_paragraph_1: "Створюючи Skritter, George не знав програмування й постійно засмучувався через неможливість самостійно втілити власні ідеї. Зрештою він спробував вивчитися, але навчання йшло надто повільною Сусід Джорджа, бажаючи оновити знання, спробував Codecademy, але \"стало нудно.\" Щотижня хтось з друзів починав навчання у Codecademy, але кидав. Ми зрозуміли, що зіткнулися з тією ж проблемою. що під час створення Skritter: люди набувають навичок через повільні, інтенсивні лекції, тоді як усе, чого вони потребують, це швидка, екстенсивна практика. І ми знаємо, як це полагодити." + why_paragraph_2: "Хочете навчитися писати код? Вам не потрібні уроки. Вам потрібно писати багато коду і добре розважитись у цей час. " + why_paragraph_3_prefix: "Ось що таке програмування насправді. Це має бути весело. Не просто кумедно штибу" + why_paragraph_3_italic: "дивіться, я маю бейджик, " + why_paragraph_3_center: "а весело - штибу" why_paragraph_3_italic_caps: "НІ, МАМО, Я МАЮ ПРОЙТИ РІВЕНЬ!" -# why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." -# why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." -# why_ending: "And hey, it's free. " -# why_ending_url: "Start wizarding now!" -# george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." -# scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." -# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." -# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." -# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." -# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" + why_paragraph_3_suffix: "Ось чому CodeCombat - мультиплеєрна гра, а не гейміфікований курс уроків. Ми не зупинимося, доки ви не включитеся на повну, і це чудово. " + why_paragraph_4: "Якщо ви плануєте бути залежним від якоїсь гри, оберіть цю - і перетворіться на одного з чарівників ери інформаційних технологій." + why_ending: "І так, це безкоштовно. " + why_ending_url: "Починаймо чародійства прямо зараз!" + george_description: "CEO, знавець бізнесу, веб-дизайнер, гейм-дизайнер і ватажок програмістів-початківців з усього світу." + scott_description: "Екстраординарний програміст, архітектор програмного забезпечення, кулінарний чарівник та майстер фінансів. Скотт - розсудливий." + nick_description: "Чарівник програмування, ексцентричний маг мотивації та непересічний експериментатор. Нік здатен зробити будь-що, і він обрав зробити CodeCombat." + jeremy_description: "Чарівник підтримки користувачів, тестер юзабіліті та організатор спільноти; ви ймовірно вже спілкувались з Джеремі." + michael_description: "Програміст, адмін та загадковий технічний вундеркінд, Майкл - та людина, що утримує наші сервери онлайн." + glen_description: "Програміст та натхненний розробник ігор, що мріє зробити цей світ краще, створюючи дійсно значущі речі. Ніколи не вживає слова \"неможливо\". Дізнаватися нове - для нього найбільша насолода!" legal: - page_title: "Юридичні нотатки" -# opensource_intro: "CodeCombat is free to play and completely open source." -# opensource_description_prefix: "Check out " - github_url: "наш GitHub" -# opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " -# archmage_wiki_url: "our Archmage wiki" -# opensource_description_suffix: "for a list of the software that makes this game possible." -# practices_title: "Respectful Best Practices" -# practices_description: "These are our promises to you, the player, in slightly less legalese." + page_title: "Юридична інформація" + opensource_intro: "CodeCombat - безкоштовна гра з повністю відкритим кодом." + opensource_description_prefix: "Завітайте" + github_url: "на наш GitHub" + opensource_description_center: "та долучайтесь, якщо хочете! CodeCombat побудовано на десятках проектів із вікритим кодом. і ми любимо їх. Перегляньте " + archmage_wiki_url: "нашу wiki для Архімагів," + opensource_description_suffix: "щоб побачити списки ПЗ, яке робить цю гру можливою." + practices_title: "Шановні найкращі гравці" +# practices_description: "These are our promi ses to you, the player, in slightly less legalese." # privacy_title: "Privacy" # privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." # security_title: "Security" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "українська мова", englishDesc # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee index 923fb3fe4..3af879f81 100644 --- a/app/locale/ur.coffee +++ b/app/locale/ur.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # sending: "Sending..." # cancel: "Cancel" # save: "Save" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # login: # sign_up: "Create Account" # log_in: "Log In" +# logging_in: "Logging In" # log_out: "Log Out" # recover: "recover account" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee index d5d563f7a..b8a3dfbf5 100644 --- a/app/locale/vi.coffee +++ b/app/locale/vi.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn sending: "Gởi..." cancel: "Hủy" save: "Lưu" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn login: sign_up: "Tạo tài khoản" log_in: "Đăng nhập" +# logging_in: "Logging In" log_out: "Đăng xuất" recover: "Khôi phục tài khoản" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee index 946a003a9..36b055bd1 100644 --- a/app/locale/zh-HANS.coffee +++ b/app/locale/zh-HANS.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese sending: "发送中……" cancel: "取消" save: "保存" +# create: "Create" delay_1_sec: "1 秒" delay_3_sec: "3 秒" delay_5_sec: "5 秒" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese login: sign_up: "注册" log_in: "登录" +# logging_in: "Logging In" log_out: "登出" recover: "找回账户" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese skip_tutorial: "跳过(esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -468,7 +474,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese artisan_summary_pref: "想要设计 CodeCombat 的关卡吗?人们玩的比我们做的快多了!现在我们的关卡编辑器还很基本,所以做起关卡来会有点麻烦,还会有bug。只要你有制作关卡的灵感,不管是简单的for循环还是" artisan_summary_suf: "这种东西,这个职业都很适合你。" # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee index 8c761d5a3..82ee4eee3 100644 --- a/app/locale/zh-HANT.coffee +++ b/app/locale/zh-HANT.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese sending: "發送中...." cancel: "取消" save: "存檔" +# create: "Create" delay_1_sec: "1 秒" delay_3_sec: "3 秒" delay_5_sec: "5 秒" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese login: sign_up: "註冊" log_in: "登入" +# logging_in: "Logging In" log_out: "登出" recover: "找回帳號" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee index b6e955925..9aafa1d91 100644 --- a/app/locale/zh.coffee +++ b/app/locale/zh.coffee @@ -5,6 +5,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra sending: "在发送中。。。" cancel: "退出" save: "保存" +# create: "Create" # delay_1_sec: "1 second" # delay_3_sec: "3 seconds" # delay_5_sec: "5 seconds" @@ -52,6 +53,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra login: sign_up: "注册" log_in: "登录" +# logging_in: "Logging In" log_out: "登出" recover: "找回账户" @@ -224,6 +226,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # skip_tutorial: "Skip (esc)" # editor_config: "Editor Config" # editor_config_title: "Editor Configuration" +# editor_config_language_label: "Programming Language" +# editor_config_language_description: "Define the programming language you want to code in." # editor_config_keybindings_label: "Key Bindings" # editor_config_keybindings_default: "Default (Ace)" # editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." @@ -260,6 +264,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # tip_patience: "Patience you must have, young Padawan. - Yoda" # tip_documented_bug: "A documented bug is not a bug; it is a feature." # tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" +# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" +# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" # time_current: "Now:" # time_total: "Max:" # time_goto: "Go to:" @@ -466,9 +472,9 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # more_about_archmage: "Learn More About Becoming an Archmage" # archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." # artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" -# artisan_summary_suf: "then this class is for you." +# artisan_summary_suf: ", then this class is for you." # artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" -# artisan_introduction_suf: "then this class might be for you." +# artisan_introduction_suf: ", then this class might be for you." # artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" # artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." # artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index c0014deab..9f4a88556 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -59,10 +59,12 @@ class CocoModel extends Backbone.Model loadSchema: -> return if @constructor.schema.loading @constructor.schema.fetch() - @constructor.schema.once 'sync', => - @constructor.schema.loaded = true - @addSchemaDefaults() - @trigger 'schema-loaded' + @listenToOnce(@constructor.schema, 'sync', @onConstructorSync) + + onConstructorSync: -> + @constructor.schema.loaded = true + @addSchemaDefaults() + @trigger 'schema-loaded' @hasSchema: -> return @schema?.loaded schema: -> return @constructor.schema diff --git a/app/styles/base.sass b/app/styles/base.sass index 166fd23e3..30980c1fb 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -1,5 +1,6 @@ @import "bootstrap/variables" @import "bootstrap/mixins" +@import "bootstrap/variables" html background-color: #2f261d @@ -166,7 +167,15 @@ a[data-toggle="modal"] width: 50% margin: 0 25% .progress-bar - width: 100% + width: 0% + transition: width 0.1s ease + + .errors .alert + padding: 5px + display: block + margin: 10px auto + .btn + margin-left: 10px .modal .wait @@ -191,3 +200,36 @@ table.table .flag-cursor cursor: crosshair + + +// Fonts + +.header-font + font-family: $headings-font-family + +body[lang='ru'], body[lang|='zh'], body[lang='ja'], body[lang='pl'], body[lang='tr'], body[lang='cs'], body[lang='el'], body[lang='ro'], body[lang='vi'], body[lang='th'], body[lang='ko'], body[lang='sk'], body[lang='sl'], body[lang='bg'], body[lang='he'], body[lang='lt'], body[lang='sr'], body[lang='uk'], body[lang='hi'], body[lang='ur'], + h1, h2, h3, h4, h5, h6 + font-family: 'Open Sans Condensed', Impact, "Arial Narrow", "Arial", sans-serif + text-transform: uppercase + letter-spacing: -1px !important + + .header-font + font-family: 'Open Sans Condensed', Impact, "Arial Narrow", "Arial", sans-serif !important + text-transform: uppercase + letter-spacing: -1px !important + +@media only screen and (max-width: 800px) + .main-content-area + width: 100% + .content + width: 100% + + .footer-link-text a + font-size: 17px + margin-left: 3px + margin-right: 3px + + .share-buttons + margin-bottom: 20px + .partner-badges + display: none diff --git a/app/styles/bootstrap/_bootswatch.scss b/app/styles/bootstrap/_bootswatch.scss index 3f82b5882..263da36b2 100644 --- a/app/styles/bootstrap/_bootswatch.scss +++ b/app/styles/bootstrap/_bootswatch.scss @@ -7,6 +7,7 @@ // ----------------------------------------------------- @import url(//fonts.googleapis.com/css?family=Bangers); +@import url(//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=latin,latin-ext,cyrillic-ext,greek-ext,greek,vietnamese,cyrillic); // SCAFFOLDING // ----------------------------------------------------- diff --git a/app/styles/common/top_nav.sass b/app/styles/common/top_nav.sass index 1e82a8f14..9a41771fe 100644 --- a/app/styles/common/top_nav.sass +++ b/app/styles/common/top_nav.sass @@ -6,7 +6,6 @@ margin-left: -20px .navbuttontext, .fancy-select .trigger - font-family: 'Bangers', cursive font-size: 20px font-weight: 400 letter-spacing: 1px @@ -22,7 +21,6 @@ height: 18px .nav.navbar-link-text, .nav.navbar-link-text > li > a - font-family: 'Bangers', cursive font-weight: normal font-size: 25px letter-spacing: 2px @@ -97,3 +95,33 @@ li color: #ebebeb padding: 8px 20px + + +#mobile-nav + display: none +@media only screen and (max-width: 800px) + #top-nav + display: none + #mobile-nav + display: inline + a.navbar-brand + padding: 4px 20px 0px 20px + + button.navbar-toggle + background: #483a2d + border: 2px solid #2f261d + span.icon-bar + background: #F9E612 + + ul li + font-family: 'Bangers', cursive + font-weight: normal + color: #fff + font-size: 25px + margin-top: 5px + margin-bottom: 5px + .header-font + color: #fff + .footer-link-text + width: 100% + display: ineline diff --git a/app/styles/home.sass b/app/styles/home.sass index c239a916c..e2ba1fdb0 100644 --- a/app/styles/home.sass +++ b/app/styles/home.sass @@ -92,3 +92,38 @@ width: 660px height: 382px pointer-events: none +#mobile-trailer-wrapper + display: none + +@media only screen and (max-width: 800px) + #home-view + #site-slogan + font-size: 30px + #trailer-wrapper + display: none + #mobile-trailer-wrapper + display: inline-block + + width: 100% + iframe + display: block + margin: 0 auto + .game-mode-wrapper + width: 100% + img + width: 100% + .play-text + position: absolute + right: 45px + bottom: 0px + color: $yellow + font-size: 50px + font-family: Bangers + @include transition(color .10s linear) + + + + + h1 + text-align: center + margin-top: 0 diff --git a/app/styles/play.sass b/app/styles/play.sass index 83611f8b8..e3e31d8fa 100644 --- a/app/styles/play.sass +++ b/app/styles/play.sass @@ -15,6 +15,14 @@ a[disabled] .level opacity: 0.7 + a.complete h3:after + content: " - Complete!" + color: green + + a.started h3:after + content: " - Started" + color: desaturate(green, 50%) + .level @include box-sizing(border-box) border: 1px solid transparent @@ -40,4 +48,4 @@ .alert-warning h2 color: black - text-align: center \ No newline at end of file + text-align: center diff --git a/app/styles/play/ladder.sass b/app/styles/play/ladder.sass index e1df78f63..149caeac1 100644 --- a/app/styles/play/ladder.sass +++ b/app/styles/play/ladder.sass @@ -70,3 +70,8 @@ #must-log-in button margin-right: 10px + +@media only screen and (max-width: 800px) + #ladder-view + #level-column img + width: 100% \ No newline at end of file diff --git a/app/styles/play/ladder/ladder_tab.sass b/app/styles/play/ladder/ladder_tab.sass new file mode 100644 index 000000000..d4878511a --- /dev/null +++ b/app/styles/play/ladder/ladder_tab.sass @@ -0,0 +1,6 @@ +#ladder-tab-view + .name-col-cell + max-width: 150px + white-space: nowrap + overflow: hidden + text-overflow: ellipsis \ No newline at end of file diff --git a/app/styles/play/ladder/my_matches_tab.sass b/app/styles/play/ladder/my_matches_tab.sass new file mode 100644 index 000000000..3483dcf38 --- /dev/null +++ b/app/styles/play/ladder/my_matches_tab.sass @@ -0,0 +1,13 @@ +#my-matches-tab-view + .axis path, .axis line + fill: none + stroke: #000 + shape-rendering: crispEdges + .x.axis.path + display: none + + .line + fill: none + stroke: steelblue + stroke-width: 1.5px + diff --git a/app/templates/base.jade b/app/templates/base.jade index 981c15a72..3aec9624e 100644 --- a/app/templates/base.jade +++ b/app/templates/base.jade @@ -1,6 +1,28 @@ body #fb-root block header + .nav.navbar.navbar-fixed-top#mobile-nav + .content.clearfix + .navbar-header + button.navbar-toggle(type="button" data-toggle="collapse" data-target="#collapsible-navbar") + span.sr-only Toggle navigation + span.icon-bar + span.icon-bar + span.icon-bar + + a.navbar-brand(href='/') + img(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat") + .collapse.navbar-collapse#collapsible-navbar + ul.nav.navbar-nav + li.play + a.header-font(href='/play', data-i18n="nav.play") Levels + li.editor + a.header-font(href='/editor', data-i18n="nav.editor") Editor + li.blog + a.header-font(href='http://blog.codecombat.com/', data-i18n="nav.blog") Blog + li.forum + a.header-font(href='http://discourse.codecombat.com/', data-i18n="nav.forum") Forum + .nav.navbar.navbar-fixed-top#top-nav .content.clearfix .navbar-header @@ -10,28 +32,32 @@ body select.language-dropdown if me.get('anonymous') === false - button.btn.btn-primary.navbuttontext#logout-button(data-i18n="login.log_out") Log Out - a.btn.btn-primary.navbuttontext(href="/account/profile/#{me.id}") + button.btn.btn-primary.navbuttontext.header-font#logout-button(data-i18n="login.log_out") Log Out + a.btn.btn-primary.navbuttontext.header-font(href="/account/profile/#{me.id}") div.navbuttontext-user-name | #{me.displayName()} i.icon-cog.icon-white.big else - button.btn.btn-primary.navbuttontext(data-toggle="coco-modal", data-target="modal/signup", data-i18n="login.sign_up") Create Account - button.btn.btn-primary.navbuttontext(data-toggle="coco-modal", data-target="modal/login", data-i18n="login.log_in") Log In + button.btn.btn-primary.navbuttontext.header-font(data-toggle="coco-modal", data-target="modal/signup", data-i18n="login.sign_up") Create Account + button.btn.btn-primary.navbuttontext.header-font(data-toggle="coco-modal", data-target="modal/login", data-i18n="login.log_in") Log In ul(class='navbar-link-text').nav.navbar-nav.pull-right li.play - a(href='/play', data-i18n="nav.navbar-nav.play") Levels + a.header-font(href='/play', data-i18n="nav.play") Levels li.editor - a(href='/editor', data-i18n="nav.navbar-nav.editor") Editor + a.header-font(href='/editor', data-i18n="nav.editor") Editor li.blog - a(href='http://blog.codecombat.com/', data-i18n="nav.navbar-nav.blog") Blog + a.header-font(href='http://blog.codecombat.com/', data-i18n="nav.blog") Blog li.forum - a(href='http://discourse.codecombat.com/', data-i18n="nav.navbar-nav.forum") Forum + a.header-font(href='http://discourse.codecombat.com/', data-i18n="nav.forum") Forum if me.isAdmin() li.admin - a(href='/admin', data-i18n="nav.navbar-nav.admin") Admin + a.header-font(href='/admin', data-i18n="nav.admin") Admin + + + + block outer_content #outer-content-wrapper @@ -63,4 +89,4 @@ body a.mixpanel-badge(href="https://mixpanel.com/f/partner") img(src="//cdn.mxpnl.com/site_media/images/partner/badge_light.png", alt="Mobile Analytics") a.firebase-bade(href="https://www.firebase.com/") - img(src="/images/pages/base/firebase.png", alt="Powered by Firebase") \ No newline at end of file + img(src="/images/pages/base/firebase.png", alt="Powered by Firebase") diff --git a/app/templates/contribute/artisan.jade b/app/templates/contribute/artisan.jade index da7a274d4..9e6d1320d 100644 --- a/app/templates/contribute/artisan.jade +++ b/app/templates/contribute/artisan.jade @@ -24,10 +24,9 @@ block content | If you have visions of campaigns spanning for-loops to span a(href="http://stackoverflow.com/questions/758088/seeking-contrived-example-code-continuations/758105#758105") - | Mondo Bizzaro - span + | Mondo Bizzaro span(data-i18n="contribute.artisan_introduction_suf") - | to then this class might be for you. + | , then this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul diff --git a/app/templates/contribute/contribute.jade b/app/templates/contribute/contribute.jade index 4d19f5c86..ffb7045a6 100644 --- a/app/templates/contribute/contribute.jade +++ b/app/templates/contribute/contribute.jade @@ -94,10 +94,9 @@ block content | of campaigns spanning for-loops to span a(href="http://stackoverflow.com/questions/758088/seeking-contrived-example-code-continuations/758105#758105") - | Mondo Bizzaro - span + | Mondo Bizzaro span(data-i18n="contribute.artisan_summary_suf") - | then this class is for you. + | , then this class is for you. a(href="/contribute/artisan") p.lead(data-i18n="contribute.more_about_artisan") diff --git a/app/templates/editor/level/thangs_tab.jade b/app/templates/editor/level/thangs_tab.jade index f70446bd6..b0b86868c 100644 --- a/app/templates/editor/level/thangs_tab.jade +++ b/app/templates/editor/level/thangs_tab.jade @@ -17,6 +17,11 @@ .world-container.thangs-column h3(data-i18n="editor.level_tab_thangs_conditions") Starting Conditions #canvas-wrapper + ul.dropdown-menu#contextmenu + li#delete + a Delete + li#duplicate + a Duplicate canvas(width=1848, height=1178)#surface #canvas-left-gradient.gradient #canvas-top-gradient.gradient diff --git a/app/templates/home.jade b/app/templates/home.jade index 9e5d3be94..376ea27fb 100644 --- a/app/templates/home.jade +++ b/app/templates/home.jade @@ -7,7 +7,8 @@ block content #trailer-wrapper <iframe width="920" height="518" src="//www.youtube.com/embed/1zjaA13k-dA?rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720&wmode=transparent" frameborder="0" wmode="opaque" allowfullscreen></iframe> img(src="/images/pages/home/video_border.png") - + #mobile-trailer-wrapper + <iframe src="//www.youtube.com/embed/1zjaA13k-dA" frameborder="0" width="280" height="158"></iframe> hr .alert.alert-danger.lt-ie10 @@ -21,7 +22,7 @@ block content strong(data-i18n="home.old_browser") Uh oh, your browser is too old to run CodeCombat. Sorry! br span(data-i18n="home.old_browser_suffix") You can try anyway, but it probably won't work. - + a#beginner-campaign(href="/play/level/rescue-mission") div.game-mode-wrapper if isEnglish diff --git a/app/templates/loading.jade b/app/templates/loading.jade index 3844fa3cf..df2fc0eb5 100644 --- a/app/templates/loading.jade +++ b/app/templates/loading.jade @@ -1,8 +1,6 @@ -extends /templates/base - -block content - - .loading-screen - h1(data-i18n="common.loading") Loading... - .progress.progress-striped.active - .progress-bar \ No newline at end of file +.loading-screen + h1(data-i18n="common.loading") Loading... + .progress + .progress-bar + + .errors \ No newline at end of file diff --git a/app/templates/loading_error.jade b/app/templates/loading_error.jade new file mode 100644 index 000000000..b56ede4ac --- /dev/null +++ b/app/templates/loading_error.jade @@ -0,0 +1,31 @@ +.alert.alert-danger.loading-error-alert + span(data-i18n="loading_error.could_not_load") Error loading from server + span ( + span(data-i18n="resources.#{name}") + span ) + if !responseText + strong(data-i18n="loading_error.connection_failure") Connection failed. + else if status === 401 + strong(data-i18n="loading_error.unauthorized") You need to be signed in. Do you have cookies disabled? + else if status === 403 + strong(data-i18n="loading_error.forbidden") You do not have the permissions. + else if status === 404 + strong(data-i18n="loading_error.not_found") Not found. + else if status === 405 + strong(data-i18n="loading_error.not_allowed") Method not allowed. + else if status === 408 + strong(data-i18n="loading_error.timeout") Server timeout. + else if status === 409 + strong(data-i18n="loading_error.conflict") Resource conflict. + else if status === 422 + strong(data-i18n="loading_error.bad_input") Bad input. + else if status >= 500 + strong(data-i18n="loading_error.server_error") Server error. + else + strong(data-i18n="loading_error.unknown") Unknown error. + + if resourceIndex !== undefined + button.btn.btn-sm.retry-loading-resource(data-i18n="common.retry", data-resource-index=resourceIndex) Retry + if requestIndex !== undefined + button.btn.btn-sm.retry-loading-request(data-i18n="common.retry", data-request-index=requestIndex) Retry + \ No newline at end of file diff --git a/app/templates/play.jade b/app/templates/play.jade index 6f3a77edd..911f14c92 100644 --- a/app/templates/play.jade +++ b/app/templates/play.jade @@ -22,7 +22,7 @@ block content a(href="/play/#{campaign.levels[0].levelPath || 'level'}/#{campaign.levels[0].id}", data-i18n="play.campaign_#{campaign.id}")= campaign.name p.campaign-description(data-i18n="[html]play.campaign_#{campaign.id}_description")!= campaign.description each level in campaign.levels - a(href=level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled) + a(href=level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, class=levelStatusMap[level.id] || '') .level.row if level.image img.level-image(src="#{level.image}", alt="#{level.name}") diff --git a/app/templates/play/ladder/ladder_tab.jade b/app/templates/play/ladder/ladder_tab.jade index 16ab8e17e..1b7d7351e 100644 --- a/app/templates/play/ladder/ladder_tab.jade +++ b/app/templates/play/ladder/ladder_tab.jade @@ -1,6 +1,7 @@ div#columns.row for team in teams div.column.col-md-4 + div(id="histogram-display-#{team.name}", class="histogram-display",data-team-name=team.name) table.table.table-bordered.table-condensed.table-hover tr th diff --git a/app/templates/play/ladder/my_matches_tab.jade b/app/templates/play/ladder/my_matches_tab.jade index 6b235148a..4975fa963 100644 --- a/app/templates/play/ladder/my_matches_tab.jade +++ b/app/templates/play/ladder/my_matches_tab.jade @@ -11,14 +11,14 @@ div#columns.row tr th(colspan=4, style="color: #{team.primaryColor}") - span(data-i18n="ladder.summary_your") Your + span(data-i18n="ladder.summary_your") Your |#{team.name} | - span(data-i18n="ladder.summary_matches") Matches - + span(data-i18n="ladder.summary_matches") Matches - |#{team.wins} - span(data-i18n="ladder.summary_wins") Wins, + span(data-i18n="ladder.summary_wins") Wins, |#{team.losses} - span(data-i18n="ladder.summary_losses") Losses + span(data-i18n="ladder.summary_losses") Losses if team.session tr @@ -34,7 +34,9 @@ div#columns.row if team.chartData tr th(colspan=4, style="color: #{team.primaryColor}") - img(src="https://chart.googleapis.com/chart?chs=450x125&cht=lxy&chco=#{team.chartColor}&chtt=Score%3A+#{team.currentScore}&chts=#{team.chartColor},16,r&chf=a,s,000000FF&chls=2&chm=o,#{team.chartColor},0,4&chd=t:#{team.chartData}&chxt=y&chxr=0,#{team.minScore},#{team.maxScore}") + div(class="score-chart-wrapper", data-team-name=team.name, id="score-chart-#{team.name}") + + tr th(data-i18n="general.result") Result diff --git a/app/templates/play/level/level_loading.jade b/app/templates/play/level/level_loading.jade index 66e42995b..cfd949909 100644 --- a/app/templates/play/level/level_loading.jade +++ b/app/templates/play/level/level_loading.jade @@ -35,6 +35,8 @@ strong.tip.rare(data-i18n='play_level.tip_no_try') Do. Or do not. There is no try. - Yoda strong.tip.rare(data-i18n='play_level.tip_patience') Patience you must have, young Padawan. - Yoda strong.tip.rare(data-i18n='play_level.tip_documented_bug') A documented bug is not a bug; it is a feature. + strong.tip.rare(data-i18n='play_level.tip_talk_is_cheap') Talk is cheap. Show me the code. - Linus Torvalds + strong.tip.rare(data-i18n='play_level.tip_first_language') The most disastrous thing that you can ever learn is your first programming language. - Alan Kay strong.tip.rare span(data-i18n='play_level.tip_harry') Yer a Wizard, span= me.get('name') || 'Anoner' diff --git a/app/templates/play/level/modal/editor_config.jade b/app/templates/play/level/modal/editor_config.jade index 761616ab3..8353d82b6 100644 --- a/app/templates/play/level/modal/editor_config.jade +++ b/app/templates/play/level/modal/editor_config.jade @@ -5,9 +5,15 @@ block modal-header-content block modal-body-content .form + .form-group.select-group + label.control-label(for="tome-language" data-i18n="play_level.editor_config_language_label") Programming Language + select#tome-language(name="language") + option(value="javascript" selected=(language === "javascript")) JavaScript + option(value="coffeescript" selected=(language === "coffeescript")) CoffeeScript + span.help-block(data-i18n="play_level.editor_config_language_description") Define the programming language you want to code in. .form-group.select-group label.control-label(for="tome-key-bindings" data-i18n="play_level.editor_config_keybindings_label") Key Bindings - select#tome-key-bindings(name="keyBindings", type="checkbox", checked=multiplayer) + select#tome-key-bindings(name="keyBindings") option(value="default" selected=(keyBindings === "default") data-i18n="play_level.editor_config_keybindings_default") Default (Ace) option(value="vim" selected=(keyBindings === "vim")) Vim option(value="emacs" selected=(keyBindings === "emacs")) Emacs @@ -27,7 +33,6 @@ block modal-body-content input#tome-behaviors(name="behaviors", type="checkbox", checked=behaviors) span(data-i18n="play_level.editor_config_behaviors_label") Smart Behaviors span.help-block(data-i18n="play_level.editor_config_behaviors_description") Autocompletes brackets, braces, and quotes. - + block modal-footer-content a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn.btn-primary Close - diff --git a/app/views/editor/article/edit.coffee b/app/views/editor/article/edit.coffee index 5dfa85e41..875dc6113 100644 --- a/app/views/editor/article/edit.coffee +++ b/app/views/editor/article/edit.coffee @@ -21,20 +21,21 @@ module.exports = class ArticleEditView extends View @article = new Article(_id: @articleID) @article.saveBackups = true - @listenToOnce(@article, 'error', - () => + @listenToOnce(@article, 'error', + () => @hideLoading() # Hack: editor components appear after calling insertSubView. - # So we need to hide them first. + # So we need to hide them first. $(@$el).find('.main-content-area').children('*').not('#error-view').remove() @insertSubView(new ErrorView()) ) @article.fetch() + @article.loadSchema() @listenToOnce(@article, 'sync', @onArticleSync) - @listenTo(@article, 'schema-loaded', @buildTreema) + @listenToOnce(@article, 'schema-loaded', @buildTreema) @pushChangesToPreview = _.throttle(@pushChangesToPreview, 500) onArticleSync: -> @@ -74,6 +75,11 @@ module.exports = class ArticleEditView extends View context.authorized = me.isAdmin() or @article.hasWriteAccess(me) context + afterRender: -> + super() + return if @startsLoading + @showReadOnly() unless me.isAdmin() or @article.hasWriteAccess(me) + openPreview: => @preview = window.open('/editor/article/x/preview', 'preview', 'height=800,width=600') @preview.focus() if window.focus diff --git a/app/views/editor/components/main.coffee b/app/views/editor/components/main.coffee index 4b0a3276d..7b813595b 100644 --- a/app/views/editor/components/main.coffee +++ b/app/views/editor/components/main.coffee @@ -21,7 +21,8 @@ module.exports = class ThangComponentEditView extends CocoView render: => return if @destroyed for model in [Level, LevelComponent] - (new model()).on 'schema-loaded', @render unless model.schema?.loaded + temp = new model() + @listenToOnce temp, 'schema-loaded', @render unless model.schema?.loaded if not @componentCollection @componentCollection = @supermodel.getCollection new ComponentsCollection() unless @componentCollection.loaded @@ -105,7 +106,7 @@ module.exports = class ThangComponentEditView extends CocoView toRemoveTreema = [] dependent_class = 'treema-dependent' - try + try for index, child of @extantComponentsTreema.childrenTreemas $(child.$el).removeClass(dependent_class) @@ -158,7 +159,7 @@ module.exports = class ThangComponentEditView extends CocoView @reportChanges() onAddComponentEnterPressed: (node) => - extantSystems = + extantSystems = (@supermodel.getModelByOriginalAndMajorVersion LevelSystem, sn.original, sn.majorVersion).attributes.name.toLowerCase() for idx, sn of @level.get('systems') requireSystem = node.data.system.toLowerCase() @@ -169,7 +170,7 @@ module.exports = class ThangComponentEditView extends CocoView layout: 'bottomLeft', type: 'warning' }) - + currentSelection = @addComponentsTreema?.getLastSelectedTreema()?.data._id id = node.data._id diff --git a/app/views/editor/level/edit.coffee b/app/views/editor/level/edit.coffee index 313308895..b685d457f 100644 --- a/app/views/editor/level/edit.coffee +++ b/app/views/editor/level/edit.coffee @@ -45,8 +45,8 @@ module.exports = class EditorLevelView extends View @level = new Level _id: @levelID @listenToOnce(@level, 'sync', @onLevelLoaded) - @listenToOnce(@supermodel, 'error', - () => + @listenToOnce(@supermodel, 'error', + () => @hideLoading() @insertSubView(new ErrorView()) ) @@ -88,6 +88,7 @@ module.exports = class EditorLevelView extends View @componentsTab = @insertSubView new ComponentsTabView supermodel: @supermodel @systemsTab = @insertSubView new SystemsTabView supermodel: @supermodel Backbone.Mediator.publish 'level-loaded', level: @level + @showReadOnly() unless me.isAdmin() or @level.hasWriteAccess(me) onPlayLevel: (e) -> sendLevel = => @@ -115,4 +116,4 @@ module.exports = class EditorLevelView extends View showVersionHistory: (e) -> versionHistoryView = new VersionHistoryView level:@level, @levelID @openModalView versionHistoryView - Backbone.Mediator.publish 'level:view-switched', e \ No newline at end of file + Backbone.Mediator.publish 'level:view-switched', e diff --git a/app/views/editor/level/thangs_tab_view.coffee b/app/views/editor/level/thangs_tab_view.coffee index 72f245a7f..243b1e540 100644 --- a/app/views/editor/level/thangs_tab_view.coffee +++ b/app/views/editor/level/thangs_tab_view.coffee @@ -48,6 +48,8 @@ module.exports = class ThangsTabView extends View events: 'click #extant-thangs-filter button': 'onFilterExtantThangs' + 'click #delete': 'onDeleteClicked' + 'click #duplicate': 'onDuplicateClicked' shortcuts: 'esc': 'selectAddThang' @@ -61,6 +63,7 @@ module.exports = class ThangsTabView extends View @thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too @listenToOnce(@thangTypes, 'sync', @onThangTypesLoaded) @thangTypes.fetch() + $(document).bind 'contextmenu', @preventDefaultContextMenu # just loading all Components for now: https://github.com/codecombat/codecombat/issues/405 @componentCollection = @supermodel.getCollection new ComponentsCollection() @@ -185,11 +188,14 @@ module.exports = class ThangsTabView extends View onSpriteMouseDown: (e) -> # Sprite clicks happen after stage clicks, but we need to know whether a sprite is being clicked. clearTimeout @backgroundAddClickTimeout + if e.originalEvent.nativeEvent.button == 2 + @onSpriteContextMenu e onStageMouseDown: (e) -> if @addThangSprite # If we click on the background, we need to add @addThangSprite, but not if onSpriteMouseDown will fire. @backgroundAddClickTimeout = _.defer => @onExtantThangSelected {} + $('#contextmenu').hide() onSpriteDragged: (e) -> return unless @selectedExtantThang and e.thang?.id is @selectedExtantThang?.id @@ -418,7 +424,29 @@ module.exports = class ThangsTabView extends View @editThangView = null @onThangsChanged() @$el.find('.thangs-column').show() - + + preventDefaultContextMenu: (e) -> + e.preventDefault() + + onSpriteContextMenu: (e) -> + {clientX, clientY} = e.originalEvent.nativeEvent + if @addThangType + $('#duplicate a').html 'Stop Duplicate' + else + $('#duplicate a').html 'Duplicate' + $('#contextmenu').css { position: 'fixed', left: clientX, top: clientY } + $('#contextmenu').show() + + onDeleteClicked: (e) -> + $('#contextmenu').hide() + @deleteSelectedExtantThang e + + onDuplicateClicked: (e) -> + $('#contextmenu').hide() + if !@addThangType + thang = @selectedExtantThang.spriteName + e.target = $(".add-thang-palette-icon[data-thang-type='" + thang + "']").get 0 + @selectAddThang e class ThangsNode extends TreemaNode.nodeMap.array valueClass: 'treema-array-replacement' diff --git a/app/views/editor/thang/colors_tab_view.coffee b/app/views/editor/thang/colors_tab_view.coffee index ed438fb46..a858f4385 100644 --- a/app/views/editor/thang/colors_tab_view.coffee +++ b/app/views/editor/thang/colors_tab_view.coffee @@ -21,6 +21,10 @@ module.exports = class ColorsTabView extends CocoView @interval = setInterval f, 1000 super options + destroy: -> + clearInterval @interval + super() + afterRender: -> super() @createShapeButtons() diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index c467e04c0..660280e54 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -45,12 +45,12 @@ module.exports = class ThangTypeEditView extends View @thangType = new ThangType(_id: @thangTypeID) @thangType.saveBackups = true - @listenToOnce(@thangType, 'error', - () => + @listenToOnce(@thangType, 'error', + () => @hideLoading() # Hack: editor components appear after calling insertSubView. - # So we need to hide them first. + # So we need to hide them first. $(@$el).find('.main-content-area').children('*').not('#error-view').remove() @insertSubView(new ErrorView()) @@ -90,6 +90,7 @@ module.exports = class ThangTypeEditView extends View @initSliders() @initComponents() @insertSubView(new ColorsTabView(@thangType)) + @showReadOnly() unless me.isAdmin() or @thangType.hasWriteAccess(me) initComponents: => options = diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index 780743391..768072a26 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -2,6 +2,7 @@ SuperModel = require 'models/SuperModel' utils = require 'lib/utils' CocoClass = require 'lib/CocoClass' loadingScreenTemplate = require 'templates/loading' +loadingErrorTemplate = require 'templates/loading_error' visibleModal = null waitingModal = null @@ -18,13 +19,26 @@ module.exports = class CocoView extends Backbone.View 'click a': 'toggleModal' 'click button': 'toggleModal' 'click li': 'toggleModal' + 'click .retry-loading-resource': 'onRetryResource' + 'click .retry-loading-request': 'onRetryRequest' subscriptions: {} shortcuts: {} + # load progress properties + loadProgress: + num: 0 + denom: 0 + showing: false + resources: [] # models and collections + requests: [] # jqxhr's + somethings: [] # everything else + progress: 0 + # Setup, Teardown constructor: (options) -> + @loadProgress = _.cloneDeep @loadProgress @supermodel ?= options?.supermodel or new SuperModel() @options = options @subscriptions = utils.combineAncestralObject(@, 'subscriptions') @@ -33,6 +47,7 @@ module.exports = class CocoView extends Backbone.View @shortcuts = utils.combineAncestralObject(@, 'shortcuts') @subviews = {} @listenToShortcuts() + @updateProgressBar = _.debounce @updateProgressBar, 100 # Backbone.Mediator handles subscription setup/teardown automatically super options @@ -47,6 +62,7 @@ module.exports = class CocoView extends Backbone.View @destroyed = true @off = doNothing @destroy = doNothing + $.noty.closeAll() afterInsert: -> @@ -56,6 +72,7 @@ module.exports = class CocoView extends Backbone.View @hidden = true @stopListeningToShortcuts() view.willDisappear() for id, view of @subviews + $.noty.closeAll() didReappear: -> # the router brings back this view from the cache @@ -72,7 +89,7 @@ module.exports = class CocoView extends Backbone.View return @template if _.isString(@template) @$el.html @template(@getRenderData()) @afterRender() - @showLoading() if @startsLoading + @showLoading() if @startsLoading or @loading() # TODO: Remove startsLoading entirely @$el.i18n() @ @@ -87,6 +104,101 @@ module.exports = class CocoView extends Backbone.View context afterRender: -> + + # Resource and request loading management for any given view + + addResourceToLoad: (modelOrCollection, name, value=1) -> + @loadProgress.resources.push {resource:modelOrCollection, value:value, name:name} + @listenToOnce modelOrCollection, 'sync', @updateProgress + @listenTo modelOrCollection, 'error', @onResourceLoadFailed + @updateProgress() + + addRequestToLoad: (jqxhr, name, retryFunc, value=1) -> + @loadProgress.requests.push {request:jqxhr, value:value, name: name, retryFunc: retryFunc} + jqxhr.done @updateProgress + jqxhr.fail @onRequestLoadFailed + + addSomethingToLoad: (name, value=1) -> + @loadProgress.somethings.push {loaded: false, name: name, value: value} + @updateProgress() + + somethingLoaded: (name) -> + r = _.find @loadProgress.somethings, {name: name} + return console.error 'Could not find something called', name if not r + r.loaded = true + @updateProgress(name) + + loading: -> + return false if @loaded + for r in @loadProgress.resources + return true if not r.resource.loaded + for r in @loadProgress.requests + return true if not r.request.status + for r in @loadProgress.somethings + return true if not r.loaded + return false + + updateProgress: => + console.debug 'Loaded', r.name if arguments[0] and r = _.find @loadProgress.resources, {resource:arguments[0]} + console.debug 'Loaded', r.name if arguments[2] and r = _.find @loadProgress.requests, {request:arguments[2]} + console.debug 'Loaded', r.name if arguments[0] and r = _.find @loadProgress.somethings, {name:arguments[0]} + + denom = 0 + denom += r.value for r in @loadProgress.resources + denom += r.value for r in @loadProgress.requests + denom += r.value for r in @loadProgress.somethings + num = @loadProgress.num + num += r.value for r in @loadProgress.resources when r.resource.loaded + num += r.value for r in @loadProgress.requests when r.request.status + num += r.value for r in @loadProgress.somethings when r.loaded + #console.log 'update progress', @, num, denom, arguments + + progress = if denom then num / denom else 0 + # sometimes the denominator isn't known from the outset, so make sure the overall progress only goes up + @loadProgress.progress = progress if progress > @loadProgress.progress + @updateProgressBar() + if num is denom and not @loaded + @loaded = true + @onLoaded() + + updateProgressBar: => + prog = "#{parseInt(@loadProgress.progress*100)}%" + @$el.find('.loading-screen .progress-bar').css('width', prog) + + onLoaded: -> + @render() + + # Error handling for loading + + onResourceLoadFailed: (resource, jqxhr) -> + for r, index in @loadProgress.resources + break if r.resource is resource + @$el.find('.loading-screen .errors').append(loadingErrorTemplate({ + status:jqxhr.status, + name: r.name + resourceIndex: index, + responseText: jqxhr.responseText + })).i18n() + + onRetryResource: (e) -> + r = @loadProgress.resources[$(e.target).data('resource-index')] + r.resource.fetch() + $(e.target).closest('.loading-error-alert').remove() + + onRequestLoadFailed: (jqxhr) => + for r, index in @loadProgress.requests + break if r.request is jqxhr + @$el.find('.loading-screen .errors').append(loadingErrorTemplate({ + status:jqxhr.status, + name: r.name + requestIndex: index, + responseText: jqxhr.responseText + })) + + onRetryRequest: (e) -> + r = @loadProgress.requests[$(e.target).data('request-index')] + @[r.retryFunc]?() + $(e.target).closest('.loading-error-alert').remove() # Modals @@ -134,9 +246,7 @@ module.exports = class CocoView extends Backbone.View showLoading: ($el=@$el) -> $el.find('>').addClass('hidden') - $el.append($('<div class="loading-screen"></div>') - .append('<h2>Loading</h2>') - .append('<div class="progress progress-striped active loading"><div class="progress-bar"></div></div>')) + $el.append loadingScreenTemplate() @_lastLoading = $el hideLoading: -> @@ -145,6 +255,11 @@ module.exports = class CocoView extends Backbone.View @_lastLoading.find('>').removeClass('hidden') @_lastLoading = null + showReadOnly: -> + return if me.isAdmin() + warning = $.i18n.t 'editor.read_only_warning', defaultValue: "Note: you can't save any edits here, because you're not logged in as an admin." + noty text: warning, layout: 'center', type: 'information', killer: true, timeout: 5000 + # Loading ModalViews enableModalInProgress: (modal) -> diff --git a/app/views/kinds/RootView.coffee b/app/views/kinds/RootView.coffee index 87752cebf..2cbcf098c 100644 --- a/app/views/kinds/RootView.coffee +++ b/app/views/kinds/RootView.coffee @@ -62,7 +62,8 @@ module.exports = class RootView extends CocoView for code, localeInfo of locale when not (code in genericCodes) or code is preferred $select.append( $("<option></option>").val(code).text(localeInfo.nativeDescription)) - $select.val(preferred).fancySelect() + $select.val(preferred).fancySelect().parent().find('.trigger').addClass('header-font') + $('body').attr('lang', preferred) onLanguageChanged: -> newLang = $(".language-dropdown").val() @@ -72,6 +73,7 @@ module.exports = class RootView extends CocoView @buildLanguages() unless newLang.split('-')[0] is "en" @openModalView(application.router.getView("modal/diplomat_suggestion", "_modal")) + $('body').attr('lang', newLang) saveLanguage: (newLang) -> me.set('preferredLanguage', newLang) diff --git a/app/views/modal/signup_modal.coffee b/app/views/modal/signup_modal.coffee index 8a39d0dca..5ecbc07c5 100644 --- a/app/views/modal/signup_modal.coffee +++ b/app/views/modal/signup_modal.coffee @@ -37,7 +37,7 @@ module.exports = class SignupModalView extends View checkAge: (e) -> $("#signup-button", @$el).prop 'disabled', not $(e.target).prop('checked') - + getRenderData: -> c = super() c.showRequiredError = @options.showRequiredError @@ -61,4 +61,4 @@ module.exports = class SignupModalView extends View return forms.applyErrorsToForm(@$el, res.errors) unless res.valid window.tracker?.trackEvent 'Finished Signup' @enableModalInProgress(@$el) - createUser(userObject) + createUser userObject, null, window.nextLevelURL diff --git a/app/views/play/ladder/ladder_tab.coffee b/app/views/play/ladder/ladder_tab.coffee index db4eff8ad..ae8c92259 100644 --- a/app/views/play/ladder/ladder_tab.coffee +++ b/app/views/play/ladder/ladder_tab.coffee @@ -1,4 +1,5 @@ CocoView = require 'views/kinds/CocoView' +CocoClass = require 'lib/CocoClass' Level = require 'models/Level' LevelSession = require 'models/LevelSession' CocoCollection = require 'models/CocoCollection' @@ -18,7 +19,6 @@ class LevelSessionsCollection extends CocoCollection module.exports = class LadderTabView extends CocoView id: 'ladder-tab-view' template: require 'templates/play/ladder/ladder_tab' - startsLoading: true events: 'click .connect-facebook': 'onConnectFacebook' @@ -32,6 +32,7 @@ module.exports = class LadderTabView extends CocoView constructor: (options, @level, @sessions) -> super(options) + @addSomethingToLoad("social_network_apis") @teams = teamDataFromLevel @level @leaderboards = {} @refreshLadder() @@ -39,15 +40,16 @@ module.exports = class LadderTabView extends CocoView checkFriends: -> return if @checked or (not window.FB) or (not window.gapi) + @somethingLoaded("social_network_apis") @checked = true - - @loadingFacebookFriends = true + + @addSomethingToLoad("facebook_status") FB.getLoginStatus (response) => @facebookStatus = response.status - if @facebookStatus is 'connected' then @loadFacebookFriendSessions() else @loadingFacebookFriends = false + @somethingLoaded("facebook_status") + @loadFacebookFriends() if @facebookStatus is 'connected' if application.gplusHandler.loggedIn is undefined - @loadingGPlusFriends = true @listenToOnce(application.gplusHandler, 'checked-state', @gplusSessionStateLoaded) else @gplusSessionStateLoaded() @@ -60,16 +62,24 @@ module.exports = class LadderTabView extends CocoView onConnectedWithFacebook: -> location.reload() if @connecting + loadFacebookFriends: -> + @addSomethingToLoad("facebook_friends") + FB.api '/me/friends', @onFacebookFriendsLoaded + + onFacebookFriendsLoaded: (response) => + @somethingLoaded("facebook_friends") + @facebookData = response.data + @loadFacebookFriendSessions() + loadFacebookFriendSessions: -> - FB.api '/me/friends', (response) => - @facebookData = response.data - levelFrag = "#{@level.get('original')}.#{@level.get('version').major}" - url = "/db/level/#{levelFrag}/leaderboard_facebook_friends" - $.ajax url, { - data: { friendIDs: (f.id for f in @facebookData) } - method: 'POST' - success: @onFacebookFriendSessionsLoaded - } + levelFrag = "#{@level.get('original')}.#{@level.get('version').major}" + url = "/db/level/#{levelFrag}/leaderboard_facebook_friends" + jqxhr = $.ajax url, { + data: { friendIDs: (f.id for f in @facebookData) } + method: 'POST' + success: @onFacebookFriendSessionsLoaded + } + @addRequestToLoad(jqxhr, 'facebook_friend_sessions', 'loadFacebookFriendSessions') onFacebookFriendSessionsLoaded: (result) => friendsMap = {} @@ -79,9 +89,7 @@ module.exports = class LadderTabView extends CocoView friend.otherTeam = if friend.team is 'humans' then 'ogres' else 'humans' friend.imageSource = "http://graph.facebook.com/#{friend.facebookID}/picture" @facebookFriendSessions = result - @loadingFacebookFriends = false - @renderMaybe() - + # GOOGLE PLUS onConnectGPlus: -> @@ -93,21 +101,23 @@ module.exports = class LadderTabView extends CocoView gplusSessionStateLoaded: -> if application.gplusHandler.loggedIn - @loadingGPlusFriends = true + @addSomethingToLoad("gplus_friends") application.gplusHandler.loadFriends @gplusFriendsLoaded - else - @loadingGPlusFriends = false - @renderMaybe() gplusFriendsLoaded: (friends) => + @somethingLoaded("gplus_friends") @gplusData = friends.items + @loadGPlusFriendSessions() + + loadGPlusFriendSessions: -> levelFrag = "#{@level.get('original')}.#{@level.get('version').major}" url = "/db/level/#{levelFrag}/leaderboard_gplus_friends" - $.ajax url, { + jqxhr = $.ajax url, { data: { friendIDs: (f.id for f in @gplusData) } method: 'POST' success: @onGPlusFriendSessionsLoaded } + @addRequestToLoad(jqxhr, 'gplus_friend_sessions', 'loadGPlusFriendSessions') onGPlusFriendSessionsLoaded: (result) => friendsMap = {} @@ -117,29 +127,15 @@ module.exports = class LadderTabView extends CocoView friend.otherTeam = if friend.team is 'humans' then 'ogres' else 'humans' friend.imageSource = friendsMap[friend.gplusID].image.url @gplusFriendSessions = result - @loadingGPlusFriends = false - @renderMaybe() # LADDER LOADING refreshLadder: -> - promises = [] for team in @teams - @leaderboards[team.id]?.off 'sync' + @leaderboards[team.id]?.destroy() teamSession = _.find @sessions.models, (session) -> session.get('team') is team.id @leaderboards[team.id] = new LeaderboardData(@level, team.id, teamSession) - promises.push @leaderboards[team.id].promise - @loadingLeaderboards = true - $.when(promises...).then(@leaderboardsLoaded) - - leaderboardsLoaded: => - @loadingLeaderboards = false - @renderMaybe() - - renderMaybe: -> - return if @loadingFacebookFriends or @loadingLeaderboards or @loadingGPlusFriends - @startsLoading = false - @render() + @addResourceToLoad @leaderboards[team.id], 'leaderboard', 3 getRenderData: -> ctx = super() @@ -160,9 +156,16 @@ module.exports = class LadderTabView extends CocoView sessions.reverse() sessions -class LeaderboardData +class LeaderboardData extends CocoClass + ### + Consolidates what you need to load for a leaderboard into a single Backbone Model-like object. + ### + constructor: (@level, @team, @session) -> - _.extend @, Backbone.Events + super() + @fetch() + + fetch: -> @topPlayers = new LeaderboardCollection(@level, {order:-1, scoreOffset: HIGHEST_SCORE, team: @team, limit: 20}) promises = [] promises.push @topPlayers.fetch() @@ -173,18 +176,24 @@ class LeaderboardData promises.push @playersAbove.fetch() @playersBelow = new LeaderboardCollection(@level, {order:-1, scoreOffset: score, limit: 4, team: @team}) promises.push @playersBelow.fetch() - level = "#{level.get('original')}.#{level.get('version').major}" + level = "#{@level.get('original')}.#{@level.get('version').major}" success = (@myRank) => promises.push $.ajax "/db/level/#{level}/leaderboard_rank?scoreOffset=#{@session.get('totalScore')}&team=#{@team}", {success} @promise = $.when(promises...) @promise.then @onLoad + @promise.fail @onFail @promise onLoad: => + return if @destroyed @loaded = true - @trigger 'sync' + @trigger 'sync', @ # TODO: cache user ids -> names mapping, and load them here as needed, # and apply them to sessions. Fetching each and every time is too costly. + + onFail: (resource, jqxhr) => + return if @destroyed + @trigger 'error', @, jqxhr inTopSessions: -> return me.id in (session.attributes.creator for session in @topPlayers.models) @@ -201,3 +210,7 @@ class LeaderboardData startRank = @myRank - 4 session.rank = startRank + i for session, i in l l + + allResources: -> + resources = [@topPlayers, @playersAbove, @playersBelow] + return (r for r in resources when r) \ No newline at end of file diff --git a/app/views/play/ladder/my_matches_tab.coffee b/app/views/play/ladder/my_matches_tab.coffee index ac8223442..94e4f4731 100644 --- a/app/views/play/ladder/my_matches_tab.coffee +++ b/app/views/play/ladder/my_matches_tab.coffee @@ -48,6 +48,8 @@ module.exports = class MyMatchesTabView extends CocoView @startsLoading = false @render() + + getRenderData: -> ctx = super() ctx.level = @level @@ -80,7 +82,9 @@ module.exports = class MyMatchesTabView extends CocoView team.losses = _.filter(team.matches, {state: 'loss'}).length scoreHistory = team.session?.get('scoreHistory') if scoreHistory?.length > 1 + team.scoreHistory = scoreHistory scoreHistory = _.last scoreHistory, 100 # Chart URL needs to be under 2048 characters for GET + team.currentScore = Math.round scoreHistory[scoreHistory.length - 1][1] * 100 team.chartColor = team.primaryColor.replace '#', '' #times = (s[0] for s in scoreHistory) @@ -109,7 +113,69 @@ module.exports = class MyMatchesTabView extends CocoView else if session.get 'isRanking' rankingState = 'ranking' @setRankingButtonText button, rankingState + + @$el.find('.score-chart-wrapper').each (i, el) => + scoreWrapper = $(el) + team = _.find @teams, name: scoreWrapper.data('team-name') + @generateScoreLineChart(scoreWrapper.attr('id'), team.scoreHistory) + + generateScoreLineChart: (wrapperID, scoreHistory) => + + + margin = + top: 20 + right: 20 + bottom: 30 + left: 50 + + width = 450 - margin.left - margin.right + height = 125 + x = d3.time.scale().range([0,width]) + y = d3.scale.linear().range([height,0]) + + xAxis = d3.svg.axis().scale(x).orient("bottom").ticks(4).outerTickSize(0) + yAxis = d3.svg.axis().scale(y).orient("left").ticks(4).outerTickSize(0) + + line = d3.svg.line().x(((d) -> x(d.date))).y((d) -> y(d.close)) + selector = "#" + wrapperID + + svg = d3.select(selector).append("svg") + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform","translate(#{margin.left},#{margin.top})") + time = 0 + data = scoreHistory.map (d) -> + time +=1 + return { + date: time + close: d[1] * 100 + } + + x.domain(d3.extent(data, (d) -> d.date)) + y.domain(d3.extent(data, (d) -> d.close)) + + + + svg.append("g") + .attr("class", "y axis") + .call(yAxis) + .append("text") + .attr("transform", "rotate(-90)") + .attr("y",4) + .attr("dy", ".75em") + .style("text-anchor","end") + .text("Score") + + svg.append("path") + .datum(data) + .attr("class","line") + .attr("d",line) + + + + readyToRank: (session) -> return false unless session?.get('levelID') # If it hasn't been denormalized, then it's not ready. return false unless c1 = session.get('code') diff --git a/app/views/play/ladder_view.coffee b/app/views/play/ladder_view.coffee index 6d1e90313..58366fa58 100644 --- a/app/views/play/ladder_view.coffee +++ b/app/views/play/ladder_view.coffee @@ -24,7 +24,6 @@ class LevelSessionsCollection extends CocoCollection module.exports = class LadderView extends RootView id: 'ladder-view' template: require 'templates/play/ladder' - startsLoading: true subscriptions: 'application:idle-changed': 'onIdleChanged' @@ -38,18 +37,18 @@ module.exports = class LadderView extends RootView constructor: (options, @levelID) -> super(options) @level = new Level(_id:@levelID) - p1 = @level.fetch() + @level.fetch() @sessions = new LevelSessionsCollection(levelID) - p2 = @sessions.fetch({}) + @sessions.fetch({}) + @addResourceToLoad(@sessions, 'your_sessions') + @addResourceToLoad(@level, 'level') @simulator = new Simulator() @listenTo(@simulator, 'statusUpdate', @updateSimulationStatus) @teams = [] - $.when(p1, p2).then @onLoaded - onLoaded: => + onLoaded: -> @teams = teamDataFromLevel @level - @startsLoading = false - @render() + super() getRenderData: -> ctx = super() @@ -63,7 +62,7 @@ module.exports = class LadderView extends RootView afterRender: -> super() - return if @startsLoading + return if @loading() @insertSubView(@ladderTab = new LadderTabView({}, @level, @sessions)) @insertSubView(@myMatchesTab = new MyMatchesTabView({}, @level, @sessions)) @refreshInterval = setInterval(@fetchSessionsAndRefreshViews.bind(@), 10 * 1000) @@ -72,7 +71,7 @@ module.exports = class LadderView extends RootView @showPlayModal(hash) if @sessions.loaded fetchSessionsAndRefreshViews: -> - return if @destroyed or application.userIsIdle or @$el.find('#simulate.active').length or (new Date() - 2000 < @lastRefreshTime) or @startsLoading + return if @destroyed or application.userIsIdle or @$el.find('#simulate.active').length or (new Date() - 2000 < @lastRefreshTime) or @loading() @sessions.fetch({"success": @refreshViews}) refreshViews: => diff --git a/app/views/play/level/modal/editor_config_modal.coffee b/app/views/play/level/modal/editor_config_modal.coffee index 044a4dfaa..6be98b44d 100644 --- a/app/views/play/level/modal/editor_config_modal.coffee +++ b/app/views/play/level/modal/editor_config_modal.coffee @@ -8,14 +8,16 @@ module.exports = class EditorConfigModal extends View aceConfig: {} defaultConfig: + language: 'javascript' keyBindings: 'default' invisibles: false indentGuides: false behaviors: false events: - 'change #tome-invisibles': 'updateInvisiblesSelection' - 'change #tome-key-bindings': 'updateKeyBindingsSelection' + 'change #tome-invisibles': 'updateInvisibles' + 'change #tome-language': 'updateLanguage' + 'change #tome-key-bindings': 'updateKeyBindings' 'change #tome-indent-guides': 'updateIndentGuides' 'change #tome-behaviors': 'updateBehaviors' @@ -26,16 +28,20 @@ module.exports = class EditorConfigModal extends View @aceConfig = _.cloneDeep me.get('aceConfig') ? {} @aceConfig = _.defaults @aceConfig, @defaultConfig c = super() + c.language = @aceConfig.language c.keyBindings = @aceConfig.keyBindings c.invisibles = @aceConfig.invisibles c.indentGuides = @aceConfig.indentGuides c.behaviors = @aceConfig.behaviors c - updateInvisiblesSelection: -> + updateLanguage: -> + @aceConfig.language = @$el.find('#tome-language').val() + + updateInvisibles: -> @aceConfig.invisibles = @$el.find('#tome-invisibles').prop('checked') - updateKeyBindingsSelection: -> + updateKeyBindings: -> @aceConfig.keyBindings = @$el.find('#tome-key-bindings').val() updateIndentGuides: -> @@ -48,12 +54,15 @@ module.exports = class EditorConfigModal extends View super() onHidden: -> + oldLanguage = @aceConfig.language + @aceConfig.language = @$el.find('#tome-language').val() @aceConfig.invisibles = @$el.find('#tome-invisibles').prop('checked') @aceConfig.keyBindings = @$el.find('#tome-key-bindings').val() @aceConfig.indentGuides = @$el.find('#tome-indent-guides').prop('checked') @aceConfig.behaviors = @$el.find('#tome-behaviors').prop('checked') me.set 'aceConfig', @aceConfig - Backbone.Mediator.publish 'change:editor-config' + Backbone.Mediator.publish 'tome:change-config' + Backbone.Mediator.publish 'tome:change-language' unless @aceConfig.language isnt oldLanguage me.save() destroy: -> diff --git a/app/views/play/level/modal/victory_modal.coffee b/app/views/play/level/modal/victory_modal.coffee index 3eb7d21f5..3fe539b99 100644 --- a/app/views/play/level/modal/victory_modal.coffee +++ b/app/views/play/level/modal/victory_modal.coffee @@ -78,7 +78,7 @@ module.exports = class VictoryModal extends View c = super() c.body = @body c.me = me - c.hasNextLevel = _.isObject(@level.get('nextLevel')) and (@level.get('name') isnt "Mobile Artillery") + c.hasNextLevel = _.isObject(@level.get('nextLevel')) c.levelName = utils.i18n @level.attributes, 'name' c.level = @level if c.level.get('type') is 'ladder' diff --git a/app/views/play/level/playback_view.coffee b/app/views/play/level/playback_view.coffee index 43b744255..4a3e4d359 100644 --- a/app/views/play/level/playback_view.coffee +++ b/app/views/play/level/playback_view.coffee @@ -44,7 +44,6 @@ module.exports = class PlaybackView extends View '⌘+[, ctrl+[': 'onScrubBack' '⌘+], ctrl+]': 'onScrubForward' - # popover that shows at the current mouse position on the progressbar, using the bootstrap popover. # Could make this into a jQuery plugins itself theoretically. class HoverPopup extends $.fn.popover.Constructor diff --git a/app/views/play/level/tome/spell.coffee b/app/views/play/level/tome/spell.coffee index deaf856f8..a0cb680cb 100644 --- a/app/views/play/level/tome/spell.coffee +++ b/app/views/play/level/tome/spell.coffee @@ -85,11 +85,13 @@ module.exports = class Spell aether.hasChangedSignificantly (newSource ? @originalSource), (currentSource ? @source), true, true createAether: (thang) -> + aceConfig = me.get('aceConfig') ? {} aetherOptions = problems: jshint_W040: {level: "ignore"} jshint_W030: {level: "ignore"} # aether_NoEffect instead aether_MissingThis: {level: (if thang.requiresThis then 'error' else 'warning')} + language: aceConfig.language ? 'javascript' functionName: @name functionParameters: @parameters yieldConditionally: thang.plan? @@ -107,5 +109,12 @@ module.exports = class Spell aether = new Aether aetherOptions aether + updateLanguageAether: -> + aceConfig = me.get('aceConfig') ? {} + for thangId, spellThang of @thangs + spellThang.aether?.setLanguage (aceConfig.language ? 'javascript') + spellThang.castAether = null + @transpile() + toString: -> "<Spell: #{@spellKey}>" diff --git a/app/views/play/level/tome/spell_view.coffee b/app/views/play/level/tome/spell_view.coffee index e55e03210..4951b6915 100644 --- a/app/views/play/level/tome/spell_view.coffee +++ b/app/views/play/level/tome/spell_view.coffee @@ -15,6 +15,10 @@ module.exports = class SpellView extends View eventsSuppressed: true writable: true + editModes: + 'javascript': 'ace/mode/javascript' + 'coffeescript': 'ace/mode/coffee' + keyBindings: 'default': null 'vim': 'ace/keyboard/vim' @@ -34,8 +38,9 @@ module.exports = class SpellView extends View 'modal-closed': 'focus' 'focus-editor': 'focus' 'tome:spell-statement-index-updated': 'onStatementIndexUpdated' + 'tome:change-language': 'onChangeLanguage' + 'tome:change-config': 'onChangeEditorConfig' 'spell-beautify': 'onSpellBeautify' - 'change:editor-config': 'onChangeEditorConfig' events: 'mouseout': 'onMouseOut' @@ -58,7 +63,7 @@ module.exports = class SpellView extends View @createFirepad() else # needs to happen after the code generating this view is complete - setTimeout @onLoaded, 1 + setTimeout @onAllLoaded, 1 createACE: -> # Test themes and settings here: http://ace.ajax.org/build/kitchen-sink.html @@ -67,7 +72,7 @@ module.exports = class SpellView extends View @aceSession = @ace.getSession() @aceDoc = @aceSession.getDocument() @aceSession.setUseWorker false - @aceSession.setMode 'ace/mode/javascript' + @aceSession.setMode @editModes[aceConfig.language ? 'javascript'] @aceSession.setWrapLimitRange null @aceSession.setUseWrapMode true @aceSession.setNewLineMode "unix" @@ -173,9 +178,9 @@ module.exports = class SpellView extends View else @ace.setValue @previousSource @ace.clearSelection() - @onLoaded() + @onAllLoaded() - onLoaded: => + onAllLoaded: => @spell.transpile @spell.source @spell.loaded = true Backbone.Mediator.publish 'tome:spell-loaded', spell: @spell @@ -562,10 +567,15 @@ module.exports = class SpellView extends View @ace.setValue pretty onChangeEditorConfig: (e) -> - aceConfig = me.get 'aceConfig' - @ace.setDisplayIndentGuides (aceConfig.indentGuides || false) - @ace.setShowInvisibles (aceConfig.invisibles || false) - @ace.setKeyboardHandler (@keyBindings[aceConfig.keyBindings] || null) + aceConfig = me.get('aceConfig') ? {} + @ace.setDisplayIndentGuides aceConfig.indentGuides # default false + @ace.setShowInvisibles aceConfig.invisibles # default false + @ace.setKeyboardHandler @keyBindings[aceConfig.keyBindings ? 'default'] + # @aceSession.setMode @editModes[aceConfig.language ? 'javascript'] + + onChangeLanguage: (e) -> + aceConfig = me.get('aceConfig') ? {} + @aceSession.setMode @editModes[aceConfig.language ? 'javascript'] dismiss: -> @recompile() if @spell.hasChangedSignificantly @getSource() diff --git a/app/views/play/level/tome/tome_view.coffee b/app/views/play/level/tome/tome_view.coffee index a60179969..e7cc1d7e8 100644 --- a/app/views/play/level/tome/tome_view.coffee +++ b/app/views/play/level/tome/tome_view.coffee @@ -48,6 +48,7 @@ module.exports = class TomeView extends View 'tome:spell-loaded': "onSpellLoaded" 'tome:cast-spell': "onCastSpell" 'tome:toggle-spell-list': 'onToggleSpellList' + 'tome:change-language': 'updateLanguageForAllSpells' 'surface:sprite-selected': 'onSpriteSelected' 'god:new-world-created': 'onNewWorld' @@ -215,6 +216,9 @@ module.exports = class TomeView extends View spell.view.reloadCode false for spellKey, spell of @spells when spell.team is me.team Backbone.Mediator.publish 'tome:cast-spells', spells: @spells + updateLanguageForAllSpells: -> + spell.updateLanguageAether() for spellKey, spell of @spells + destroy: -> spell.destroy() for spellKey, spell of @spells @worker?._close() diff --git a/app/views/play/level_view.coffee b/app/views/play/level_view.coffee index 083d99cb0..bd60b867f 100644 --- a/app/views/play/level_view.coffee +++ b/app/views/play/level_view.coffee @@ -274,10 +274,12 @@ module.exports = class PlayLevelView extends View setTimeout(@preloadNextLevel, 3000) showVictory: -> - options = {level: @level, supermodel: @supermodel, session:@session} + options = {level: @level, supermodel: @supermodel, session: @session} docs = new VictoryModal(options) @openModalView(docs) window.tracker?.trackEvent 'Saw Victory', level: @world.name, label: @world.name + if me.get('anonymous') + window.nextLevelURL = @getNextLevelID() # Signup will go here on completion instead of reloading. onRestartLevel: -> @tome.reloadAllCode() @@ -294,11 +296,10 @@ module.exports = class PlayLevelView extends View window.tracker?.trackEvent 'Saw Initial Infinite Loop', level: @world.name, label: @world.name onPlayNextLevel: -> - nextLevel = @getNextLevel() - nextLevelID = nextLevel.get('slug') or nextLevel.id - url = "/play/level/#{nextLevelID}" + nextLevelID = @getNextLevelID() + nextLevelURL = @getNextLevelURL() Backbone.Mediator.publish 'router:navigate', { - route: url, + route: nextLevelURL, viewClass: PlayLevelView, viewArgs: [{supermodel:@supermodel}, nextLevelID]} @@ -307,6 +308,12 @@ module.exports = class PlayLevelView extends View levels = @supermodel.getModels(Level) return l for l in levels when l.get('original') is nextLevelOriginal + getNextLevelID: -> + nextLevel = @getNextLevel() + nextLevelID = nextLevel.get('slug') or nextLevel.id + + getNextLevelURL: -> "/play/level/#{@getNextLevelID()}" + onHighlightDom: (e) -> if e.delay delay = e.delay @@ -471,5 +478,6 @@ module.exports = class PlayLevelView extends View clearInterval(@pointerInterval) @bus?.destroy() #@instance.save() unless @instance.loading + delete window.nextLevelURL console.profileEnd?() if PROFILE_ME super() diff --git a/app/views/play_view.coffee b/app/views/play_view.coffee index 6a92978e3..349f900c7 100644 --- a/app/views/play_view.coffee +++ b/app/views/play_view.coffee @@ -1,10 +1,32 @@ View = require 'views/kinds/RootView' template = require 'templates/play' +LevelSession = require 'models/LevelSession' +CocoCollection = require 'models/CocoCollection' + +class LevelSessionsCollection extends CocoCollection + url: '' + model: LevelSession + + constructor: (model) -> + super() + @url = "/db/user/#{me.id}/level.sessions?project=state.complete,levelID" module.exports = class PlayView extends View id: "play-view" template: template + constructor: (options) -> + super options + @levelStatusMap = {} + @sessions = new LevelSessionsCollection() + @sessions.fetch() + @listenToOnce @sessions, 'sync', @onSessionsLoaded + + onSessionsLoaded: (e) -> + for session in @sessions.models + @levelStatusMap[session.get('levelID')] = if session.get('state')?.complete then 'complete' else 'started' + @render() + getRenderData: (context={}) -> context = super(context) context.home = true @@ -198,7 +220,7 @@ module.exports = class PlayView extends View {id: "dev", name: "Random Harder Levels", description: "... in which you learn the interface while doing something a little harder.", levels: experienced} {id: "player_created", name: "Player-Created", description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>.", levels: playerCreated} ] - + context.levelStatusMap = @levelStatusMap context afterRender: -> diff --git a/bower.json b/bower.json index b499ee391..e73834bc5 100644 --- a/bower.json +++ b/bower.json @@ -32,10 +32,11 @@ "firepad": "~0.1.2", "marked": "~0.3.0", "moment": "~2.5.0", - "aether": "~0.1.14", + "aether": "~0.1.18", "underscore.string": "~2.3.3", "firebase": "~1.0.2", - "catiline": "~2.9.3" + "catiline": "~2.9.3", + "d3": "~3.4.4" }, "overrides": { "backbone": { diff --git a/config.coffee b/config.coffee index f64a3d7ac..1a860cb76 100644 --- a/config.coffee +++ b/config.coffee @@ -65,6 +65,7 @@ exports.config = # Aether before box2d for some strange Object.defineProperty thing 'bower_components/aether/build/aether.js' + 'bower_components/d3/d3.min.js' ] stylesheets: defaultExtension: 'sass' diff --git a/scripts/devSetup/ruby.py b/scripts/devSetup/ruby.py index 09174a8f4..410ec6ead 100644 --- a/scripts/devSetup/ruby.py +++ b/scripts/devSetup/ruby.py @@ -34,7 +34,7 @@ class Ruby(dependency.Dependency): elif operating_system == u"mac": raise errors.CoCoError(u"Ruby should be installed with Mac OSX machines. Please install Ruby.") elif operating_system == u"linux": - raise errors.CoCoError(u"Please install Ruby (try 'sudo apt-get install ruby').\nIf you are not using Ubuntu then please see your Linux Distribution's documentation for help installing ruby."") + raise errors.CoCoError(u"Please install Ruby (try 'sudo apt-get install ruby').\nIf you are not using Ubuntu then please see your Linux Distribution's documentation for help installing ruby.") def install_ruby_on_windows(self): raise NotImplementedError diff --git a/scripts/windows/coco-dev-setup/batch/config/config.coco b/scripts/windows/coco-dev-setup/batch/config/config.coco index 3ce86efa4..eba46b0f4 100755 --- a/scripts/windows/coco-dev-setup/batch/config/config.coco +++ b/scripts/windows/coco-dev-setup/batch/config/config.coco @@ -1,3 +1,8 @@ -version=1.0 -author=GlenDC -copyright=CodeCombat.com � 2013-2014 \ No newline at end of file +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <version>1.2</version> + <author>GlenDC</author> + <copyright>CodeCombat.com � 2013-2014</copyright> + <github_url>https://github.com/codecombat/codecombat.git</github_url> + <github_ssh>git@github.com:codecombat/codecombat.git</github_ssh> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/downloads.coco b/scripts/windows/coco-dev-setup/batch/config/downloads.coco index 47253f152..771189954 100755 --- a/scripts/windows/coco-dev-setup/batch/config/downloads.coco +++ b/scripts/windows/coco-dev-setup/batch/config/downloads.coco @@ -1,21 +1,38 @@ -[general] - [32] - nodejs=http://nodejs.org/dist/v0.10.25/node-v0.10.25-x86.msi - ruby=http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct - python=http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi - [64] - nodejs=http://nodejs.org/dist/v0.10.25/x64/node-v0.10.25-x64.msi - ruby=http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct - python=http://www.python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi - [general] - gitbash=https://msysgit.googlecode.com/files/Git-1.8.5.2-preview20131230.exe -[win7] - [32] - mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip - [64] - mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.5.4.zip -[vista] - [64] - mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2.5.4.zip - [32] - mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip \ No newline at end of file +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <general> + <b32> + <nodejs>http://nodejs.org/dist/v0.10.25/node-v0.10.25-x86.msi</nodejs> + <ruby>http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct</ruby> + <python>http://s3.amazonaws.com/CodeCombatLargeFiles/python-32.msi</python> + <vs12redist>http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe</vs12redist> + </b32> + <b64> + <nodejs>http://nodejs.org/dist/v0.10.25/x64/node-v0.10.25-x64.msi</nodejs> + <ruby>http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct</ruby> + <python>http://s3.amazonaws.com/CodeCombatLargeFiles/python-64.msi</python> + <winsdk>http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/winsdk_web.exe</winsdk> + <vs12redist>http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe</vs12redist> + </b64> + <general> + <gitbash>https://msysgit.googlecode.com/files/Git-1.8.5.2-preview20131230.exe</gitbash> + <vs10redist>http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe</vs10redist> + </general> + </general> + <Win7> + <b32> + <mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip</mongodb> + </b32> + <b64> + <mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.5.4.zip</mongodb> + </b64> + </Win7> + <Vista> + <b32> + <mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip</mongodb> + </b32> + <b64> + <mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2.5.4.zip</mongodb> + </b64> + </Vista> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/finished_header.coco b/scripts/windows/coco-dev-setup/batch/config/finished_header.coco new file mode 100644 index 000000000..9163183ca --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/finished_header.coco @@ -0,0 +1,7 @@ + ______ _____ _ _ _____ _____ _ _ ___________ + | ___|_ _| \ | |_ _/ ___| | | || ___| _ \ + | |_ | | | \| | | | \ `--.| |_| || |__ | | | | + | _| | | | . ` | | | `--. \ _ || __|| | | | + | | _| |_| |\ |_| |_/\__/ / | | || |___| |/ / + \_| \___/\_| \_/\___/\____/\_| |_/\____/|___/ + \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/github_header.coco b/scripts/windows/coco-dev-setup/batch/config/github_header.coco new file mode 100644 index 000000000..ce71943fc --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/github_header.coco @@ -0,0 +1,7 @@ + _____ _____ _____ _ _ _ _______ + | __ \_ _|_ _| | | | | | | ___ \ + | | \/ | | | | | |_| | | | | |_/ / + | | __ | | | | | _ | | | | ___ \ + | |_\ \_| |_ | | | | | | |_| | |_/ / + \____/\___/ \_/ \_| |_/\___/\____/ + \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/info.coco b/scripts/windows/coco-dev-setup/batch/config/info.coco deleted file mode 100755 index 66ee83329..000000000 --- a/scripts/windows/coco-dev-setup/batch/config/info.coco +++ /dev/null @@ -1,9 +0,0 @@ -====================================================================== - _____ _ _____ _ _ - / __ \ | | / __ \ | | | | - | / \/ ___ __| | ___ | / \/ ___ _ __ ___ | |__ __ _| |_ - | | / _ \ / _` |/ _ \ | | / _ \| '_ ` _ \| '_ \ / _` | __| - | \__/\ (_) | (_| | __/ | \__/\ (_) | | | | | | |_) | (_| | |_ - \____/\___/ \__,_|\___| \____/\___/|_| |_| |_|_.__/ \__,_|\__| - -====================================================================== \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/install_header.coco b/scripts/windows/coco-dev-setup/batch/config/install_header.coco new file mode 100644 index 000000000..e99e50e70 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/install_header.coco @@ -0,0 +1,7 @@ + _____ ___________ _____ _ _ ___ ______ _____ + / ___|| _ | ___|_ _| | | |/ _ \ | ___ \ ___| + \ `--. | | | | |_ | | | | | / /_\ \| |_/ / |__ + `--. \| | | | _| | | | |/\| | _ || /| __| + /\__/ /\ \_/ / | | | \ /\ / | | || |\ \| |___ + \____/ \___/\_| \_/ \/ \/\_| |_/\_| \_\____/ + \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/npm_and_brunch_header.coco b/scripts/windows/coco-dev-setup/batch/config/npm_and_brunch_header.coco new file mode 100644 index 000000000..53a47af88 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/npm_and_brunch_header.coco @@ -0,0 +1,7 @@ + _ _ _________ ___ ____________ _ _ _ _ _____ _ _ + | \ | || ___ \ \/ | | ___ \ ___ \ | | | \ | / __ \| | | | + | \| || |_/ / . . | ______ | |_/ / |_/ / | | | \| | / \/| |_| | + | . ` || __/| |\/| | |______| | ___ \ /| | | | . ` | | | _ | + | |\ || | | | | | | |_/ / |\ \| |_| | |\ | \__/\| | | | + \_| \_/\_| \_| |_/ \____/\_| \_|\___/\_| \_/\____/\_| |_/ + \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/readme.coco b/scripts/windows/coco-dev-setup/batch/config/readme.coco new file mode 100644 index 000000000..ccce0d398 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/readme.coco @@ -0,0 +1,29 @@ + _____ _ _____ _ _ + / __ \ | | / __ \ | | | | + | / \/ ___ __| | ___ | / \/ ___ _ __ ___ | |__ __ _| |_ + | | / _ \ / _` |/ _ \ | | / _ \| '_ ` _ \| '_ \ / _` | __| + | \__/\ (_) | (_| | __/ | \__/\ (_) | | | | | | |_) | (_| | |_ + \____/\___/ \__,_|\___| \____/\___/|_| |_| |_|_.__/ \__,_|\__| + +============================================================================= + +Congratulations, you are now part of the CodeCombat community. +Now that your Develop Environment has been setup, you are ready to start +contributing and help us make this world a better place. + +Do you have questions or would you like to meet us? +Talk with us on hipchat @ https://www.hipchat.com/g3plnOKqa + +Another way to reach is, is by visiting our forum. +You can find it @ http://discourse.codecombat.com/ + +You can read about the latest developments on our blog site. +This one can be found @ http://blog.codecombat.com/ + +Last but not least, you can find most of our documentation +and information on our wiki @ https://github.com/codecombat/codecombat/wiki + +We hope you'll enjoy yourself within our community, just as much as us. + + + - Nick, George, Scott, Michael, Jeremy and Glen diff --git a/scripts/windows/coco-dev-setup/batch/config/tips.coco b/scripts/windows/coco-dev-setup/batch/config/tips.coco index b15f7d6e2..896086692 100755 --- a/scripts/windows/coco-dev-setup/batch/config/tips.coco +++ b/scripts/windows/coco-dev-setup/batch/config/tips.coco @@ -1,5 +1,7 @@ - 1) This program is all about automating the setup of the CoCo environment - 2) When there is a question, please answer carefull and correct - 3) This setup is still in beta and may contain bugs - 4) You can report bugs @ 'https://github.com/codecombat/codecombat/issues' - 5) Having questions/suggestions? Talk with us on HipChat via CodeCombat.com \ No newline at end of file + 1) When there is a question, please answer carefull and correct + 2) This setup is still in beta and may contain bugs + 3) You can report bugs @ 'https://github.com/codecombat/codecombat/issues' + 4) Having questions/suggestions? Talk with us on HipChat via CodeCombat.com + + You can find a step-by-step guide for this installation on our wiki. + github.com/codecombat/codecombat/wiki/Setup-on-Windows:-a-step-by-step-guide \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/get_config.bat b/scripts/windows/coco-dev-setup/batch/get_config.bat deleted file mode 100755 index ccd995c70..000000000 --- a/scripts/windows/coco-dev-setup/batch/get_config.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -get_var config/config.coco %1 -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/get_download.bat b/scripts/windows/coco-dev-setup/batch/get_download.bat deleted file mode 100755 index 38f745faf..000000000 --- a/scripts/windows/coco-dev-setup/batch/get_download.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -get_var config/downloads.coco %1 -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/get_text.bat b/scripts/windows/coco-dev-setup/batch/get_text.bat deleted file mode 100755 index e7a5d399b..000000000 --- a/scripts/windows/coco-dev-setup/batch/get_text.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -get_var localisation/%1.coco %2 -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/get_var.exe b/scripts/windows/coco-dev-setup/batch/get_var.exe deleted file mode 100755 index e07a3cf14ad077979999ff908ee47bce7e5a5133..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28160 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 diff --git a/scripts/windows/coco-dev-setup/batch/localisation/de.coco b/scripts/windows/coco-dev-setup/batch/localisation/de.coco new file mode 100644 index 000000000..6332041f4 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/de.coco @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>Deutsch</native> + <intro>Ab jetzt senden wir unser Feedback in Englisch!</intro> + </global> + <install> + <system> + <bit>-Bit System erkannt.</bit> + <prefix>Es wurde das Betriebssystem</prefix> + <sufix>erkannt.</sufix> + <xp>Windows XP wird nicht unterstützt. Installation abgebrochen.</xp> + </system> + <process> + <sks>Sind die für CodeCombat benötigten Programme bereits installiert?</sks> + <skq>Wir empfehlen Ihnen, mit „Nein“ zu antorten, falls Sie unsicher sind.</skq> + <skc>Überspringe Installation der Programme...</skc> + <s1>Ohne Software von Drittanbietern könnte CodeCombat nicht entwickelt werden.</s1> + <s2>Aus diesem Grund müssen Sie diese Software installieren,</s2> + <s3>um sich in der Community zu engagieren.</s3> + <s4>Wenn Sie ein Programm bereits installiert haben, brechen Sie die Installation bitte ab.</s4> + <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> + <prefix>Haben Sie bereits die aktuellste Version von</prefix> + <sufix>installiert?</sufix> + <downloading>wird heruntergeladen...</downloading> + <installing>wird installiert...</installing> + <unzipping>wird entpackt...</unzipping> + <cleaning>wird aufgeräumt...</cleaning> + <mongodbpath>Bitte geben Sie den kompletten Pfad an, an dem MongoDB installiert werden soll</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>Wie Du bereits weißt, ist CodeCombat Open Source.</opensource> + <online>Unser Quellcode ist komplett auf Github.</online> + <manual>Wenn Du möchtest, kannst du das komplette Git Repository selbst herunterladen und nach deinen wünschen einrichten.</manual> + <norec>Allerdings empfehlen wir, dass du den Prozess statt dessen uns überlässt.</norec> + </intro> + <skip> + <question>Willst du das lokale Git Setup selbst vornehmen?</question> + <consequence>Bit vergewissere dich, dass das Repository korrekt heruntergeladen wurde, bevor du fortfährst.</consequence> + <donotclose>Bitte schließe dieses Fenster nicht.</donotclose> + <wait>Wenn du fertig bist, drücke eine beliebige Taste zum Fortfahren...</wait> + </skip> + <process> + <path>Gebe bitte den kompletten Pfad zu deinem CodeCombat Git Repository ein: </path> + <checkout>Bitte gib den kompletten Pfad ein, an dem du die CodeCombat Umgebung einrichten willst</checkout> + <bashi>Diese Installation benötigt die Git Bash.</bashi> + <bashp64>Die Git Bash ist standardmäßig in 'C:\Program Files (x86)\Git' installiert.</bashp64> + <bashp32>Die Git Bash ist standardmäßig in 'C:\Program Files\Git' installiert.</bashp32> + <bashq>Bitte gebe den kompletten Pfad zur Git Bash ein, oder drücke Enter, um den Standardpfad zu verwenden</bashq> + <ssh>Willst du das Repository via SSH auschecken?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <database>Downloading the last version of the CodeCombat database...</database> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>Dieser Pfad existiert bereits. Willst du ihn wirklich überschreiben?</path> + <exist>Dieser Pfad exisitert nicht. Bitte versuche es erneut...</exist> + </error> + <end> + <succesfull>Die CodeCombat Entwicklungsumgebung wurde erfoglreich installiert.</succesfull> + <thankyou>Vielen Dank für die Unterstützung und bis bald.</thankyou> + <readme>Willst du das README lesen, um weitere Informationen zu erhalten?</readme> + </end> + <start> + <s1>Von nun an kannst du die Entwicklungsumgebung starten unter</s1> + <s2>einmal mit der Maus klicken.</s2> + <s3> 1) Einfach Doppelklicken</s3> + <s4>und warten bis die Entwicklungsumgebung fertig geladen hat.</s4> + <s5> 2) Jetzt 'localhost:3000' in deinem bevorzugten Browser aufrufen.</s5> + <s6>Fertig. Du bist nun bereit, bei CodeCombat mitzuarbeiten!</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en.coco b/scripts/windows/coco-dev-setup/batch/localisation/en.coco index 03442cea3..947890ee8 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/en.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/en.coco @@ -1,41 +1,82 @@ -[global] - native=English - bye=Bye Bye! -[install] - begin=Installation has begun, this can take a while... Please stay tuned... - close=Don't close any windows please, unless specified explicitly. -[dai] - title=[DOWNLOADING AND INSTALLING 3RD PARTY SOFTWARE] - downloading=downloading: - installing=installing: - cancel=Download and Installation cancelled... - software=Software has been installed... - devenv=Installation of the Developers Environment is complete! - stop=Installation has been stopped... - unpacking=unpacking and moving: - bower=Installing bower, brunch, nodemon and sendwithus... -[git] - stored=CodeCombat is safely stored on a git repository. - clapp=Therefore you need a git command-line application (Git-bash). - examples=Examples: git-bash, CygWin, ... - question=Do you already have git-bash? - path=Enter the path to where you installed Git-bash - checkout=Checking out the Git Repository... - username=Please enter your github username: -[nodejs] - question=Do you already have the latest version of node-js installed? - path=Please enter the full path of the location you installed nodejs to: -[ruby] - question=Do you already have the latest version of ruby installed? -[mongodb] - question=Do you already have the latest version of mongo-db installed? - path=Enter the path where you would like to install MongoDB: -[python] - question=Do you already have the latest version of python installed? -[error] - xp=Sadly we can't support Windows XP... Please upgrade your OS! - os=Machine OS cannot be determined... - osreport=Report your OS to the developers @ CodeCombat.com... - nocleaning=... Cleaning up has been disabled... Terminating Script! - git_app_path=The path to your git application is incorrect, please try again... - invalid_path=The path you entered is invalid, please try again... \ No newline at end of file +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>English</native> + <intro>From now on we'll send our feedback in English!</intro> + </global> + <install> + <system> + <bit>-bit computer detected.</bit> + <prefix>The operating system</prefix> + <sufix>was detected.</sufix> + <xp>We don't support Windows XP, installation cancelled.</xp> + </system> + <process> + <sks>Have you already installed all the software needed for CodeCombat?</sks> + <skq>We recommand that you reply negative in case you're not sure.</skq> + <skc>Skipping the installation of the software...</skc> + <s1>CodeCombat couldn't be developed without third-party software.</s1> + <s2>That's why you'll need to install this software,</s2> + <s3>in order to start contributing to our community.</s3> + <s4>Cancel the installation if you already have the application.</s4> + <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> + <prefix>Do you already have the latest version of</prefix> + <sufix>installed?</sufix> + <downloading>is downloading...</downloading> + <installing>is installing...</installing> + <unzipping>is unzipping...</unzipping> + <cleaning>is cleaning...</cleaning> + <mongodbpath>Please define the full path where mongodb should be installed</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>CodeCombat is opensource, like you already know.</opensource> + <online>All our sourcecode can be found online at Github.</online> + <manual>You can choose to do the entire Git setup yourself.</manual> + <norec>However we recommend that you instead let us handle it instead.</norec> + </intro> + <skip> + <question>Do you want to do the Local Git setup manually yourself?</question> + <consequence>Make sure you have correctly setup your repository before processing.</consequence> + <donotclose>Do not close this window please.</donotclose> + <wait>When you're ready, press any key to continue...</wait> + </skip> + <process> + <path>Please give the full path of your CodeCombat git repository: </path> + <checkout>Please enter the full path where you want to install your CodeCombat environment</checkout> + <bashi>This installation requires Git Bash.</bashi> + <bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32> + <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> + <ssh>Do you want to checkout the repository via ssh?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <db>Downloading the last version of the CodeCombat database...</db> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>That path already exists, are you sure you want to overwrite it?</path> + <exist>That path doesn't exist. Please try again...</exist> + </error> + <end> + <succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull> + <thankyou>Thank you already for your contribution and see you soon.</thankyou> + <readme>Do you want to read the README for more information?</readme> + </end> + <start> + <s1>From now on you can start the dev. environment at</s1> + <s2>the touch of a single mouse click.</s2> + <s3> 1) Just double click</s3> + <s4> and let the environment start up.</s4> + <s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5> + <s6>That's it, you're now ready to start working on CodeCombat!</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr.coco b/scripts/windows/coco-dev-setup/batch/localisation/fr.coco new file mode 100644 index 000000000..9dfac45b6 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/fr.coco @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>français</native> + <intro>From now on we'll send our feedback in English!</intro> + </global> + <install> + <system> + <bit>-bit computer detected.</bit> + <prefix>The operating system</prefix> + <sufix>was detected.</sufix> + <xp>We don't support Windows XP, installation cancelled.</xp> + </system> + <process> + <sks>Have you already installed all the software needed for CodeCombat?</sks> + <skq>We recommand that you reply negative in case you're not sure.</skq> + <skc>Skipping the installation of the software...</skc> + <s1>CodeCombat couldn't be developed without third-party software.</s1> + <s2>That's why you'll need to install this software,</s2> + <s3>in order to start contributing to our community.</s3> + <s4>Cancel the installation if you already have the application.</s4> + <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> + <prefix>Do you already have the latest version of</prefix> + <sufix>installed?</sufix> + <downloading>is downloading...</downloading> + <installing>is installing...</installing> + <unzipping>is unzipping...</unzipping> + <cleaning>is cleaning...</cleaning> + <mongodbpath>Please define the full path where mongodb should be installed</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>CodeCombat is opensource, like you already know.</opensource> + <online>All our sourcecode can be found online at Github.</online> + <manual>You can choose to do the entire Git setup yourself.</manual> + <norec>However we recommend that you instead let us handle it instead.</norec> + </intro> + <skip> + <question>Do you want to do the Local Git setup manually yourself?</question> + <consequence>Make sure you have correctly setup your repository before processing.</consequence> + <donotclose>Do not close this window please.</donotclose> + <wait>When you're ready, press any key to continue...</wait> + </skip> + <process> + <path>Please give the full path of your CodeCombat git repository: </path> + <checkout>Please enter the full path where you want to install your CodeCombat environment</checkout> + <bashi>This installation requires Git Bash.</bashi> + <bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32> + <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> + <ssh>Do you want to checkout the repository via ssh?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <db>Downloading the last version of the CodeCombat database...</db> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>That path already exists, are you sure you want to overwrite it?</path> + <exist>That path doesn't exist. Please try again...</exist> + </error> + <end> + <succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull> + <thankyou>Thank you already for your contribution and see you soon.</thankyou> + <readme>Do you want to read the README for more information?</readme> + </end> + <start> + <s1>From now on you can start the dev. environment at</s1> + <s2>the touch of a single mouse click.</s2> + <s3> 1) Just double click</s3> + <s4> and let the environment start up.</s4> + <s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5> + <s6>That's it, you're now ready to start working on CodeCombat!</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/languages.coco b/scripts/windows/coco-dev-setup/batch/localisation/languages.coco new file mode 100644 index 000000000..6acbda23b --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/languages.coco @@ -0,0 +1,7 @@ +en +nl +de +fr +zh +zh-HANT +zh-HANS \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco index a5f9a1abe..654d45c97 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco @@ -1,41 +1,82 @@ -[global] - native=English - bye=Bye Bye! -[install] - begin=De installatie is begonnen, dit kan een tijdje duren. Geduld alsjeblieft... - close=Don't close any windows please, unless specified explicitly. -[dai] - title=[DOWNLOADING AND INSTALLING 3RD PARTY SOFTWARE] - downloading=downloading: - installing=installing: - cancel=Download and Installation cancelled... - software=Software has been installed... - devenv=Installation of the Developers Environment is complete! - stop=Installation has been stopped... - unpacking=unpacking and moving: - bower=Installing bower, brunch, nodemon and sendwithus... -[git] - stored=CodeCombat is safely stored on a git repository. - clapp=Therefore you need a git command-line application (Git-bash). - examples=Examples: git-bash, CygWin, ... - question=Do you already have git-bash? - path=Enter the path to where you installed Git-bash - checkout=Checking out the Git Repository... - username=Please enter your github username: -[nodejs] - question=Do you already have the latest version of node-js installed? - path=Please enter the full path of the location you installed nodejs to: -[ruby] - question=Do you already have the latest version of ruby installed? -[mongodb] - question=Do you already have the latest version of mongo-db installed? - path=Enter the path where you would like to install MongoDB: -[python] - question=Do you already have the latest version of python installed? -[error] - xp=Sadly we can't support Windows XP... Please upgrade your OS! - os=Machine OS cannot be determined... - osreport=Report your OS to the developers @ CodeCombat.com... - nocleaning=... Cleaning up has been disabled... Terminating Script! - git_app_path=The path to your git application is incorrect, please try again... - invalid_path=The path you entered is invalid, please try again... \ No newline at end of file +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>Nederlands</native> + <intro>Vanaf nu geven we onze feedback in het Nederlands!</intro> + </global> + <install> + <system> + <bit>-bit computer gedetecteerd.</bit> + <prefix>Het besturingsysteem</prefix> + <sufix>is gedetecteerd.</sufix> + <xp>Wij ondersteunen Windows XP niet, installatie geanulleerd.</xp> + </system> + <process> + <sks>Heb je alle benodige software al geinstalleerd?</sks> + <skq>We raden aan dat je negatief antwoord indien je niet zeker bent.</skq> + <skc>De installatie van software wordt geanulleerd...</skc> + <s1>CodeCombat kon niet worden ontwikkeld zonder third-party software.</s1> + <s2>Dat is waarom je deze software moet installeren,</s2> + <s3>zodat je je kan beginnen met het bijdragen tot onze gemeenschap.</s3> + <s4>Annuleer de installatie als je de applicatie al hebt.</s4> + <winpath>Zorg er zeker voor dat je de optie selecteert dat de applicatie aan je Windows Path toevoegt, als de optie beschikbaar is.</winpath> + <prefix>Heb je al de laatste versie van</prefix> + <sufix>geinstalleerd?</sufix> + <downloading>is aan het downloaden...</downloading> + <installing>is aan het installeren...</installing> + <unzipping>is aan het uitpakken...</unzipping> + <cleaning>is aan het opkuisen...</cleaning> + <mongodbpath>Geef het volledige pad op, waar mongodb mag worden geinstalleerd</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>CodeCombat is opensource, zoals je waarschijnlijk wel al weet.</opensource> + <online>Je kan al onze sourcecode vinden op Github.</online> + <manual>Indien je wil, kan je de Git setup manueel doen.</manual> + <norec>Maar wij raden aan dat je ons dit automatisch laat afhandellen.</norec> + </intro> + <skip> + <question>Wil je de lokale Git setup manueel doen?</question> + <consequence>Zorg er zeker voor dat jouw git repository correct is.</consequence> + <donotclose>Sluit dit venster niet alsjeblieft.</donotclose> + <wait>Wanneer je klaar bent, druk dan eender welke toets om verder te gaan...</wait> + </skip> + <process> + <path>Geef alsjeblieft het volledige pad van je CodeCombat git repository: </path> + <checkout>Geef alsjeblieft het volledige pad waar je de CodeCombat Ontwikkelings omgeving will installeren</checkout> + <bashi>Deze installatie maakt gebruik van Git Bash.</bashi> + <bashp64>Git bash is normaal geinstalleerd in 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is normaal geinstalleerd in 'C:\Program Files\Git'.</bashp32> + <bashq>Geef alsjeblieft het volledige pad op van Git Bash of druk gewoon op enter indien je het pad niet gewijzigd heeft</bashq> + <ssh>Wil je het git project downloaden via ssh?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <database>Downloading the last version of the CodeCombat database...</database> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>Dat pad bestaat al, ben je zeker dat je het wil overschrijven?</path> + <exist>Dat pad bestaat niet, probeer alsjeblieft opnieuw...</exist> + </error> + <end> + <succesfull>De installatie van de CodeCombat-Ontwikkelings omgeving was succesvol.</succesfull> + <thankyou>Alvast bedankt voor al je werk en tot binnenkort.</thankyou> + <readme>Wil je de LEESMIJ lezen voor meer informatie?</readme> + </end> + <start> + <s1>Vanaf nu kan je de ontwikkelings omgeving opstarten</s1> + <s2>met het gemak van een enkele muisklik.</s2> + <s3> 1) Dubbelklik op</s3> + <s4>en laat de omgeving opstarten.</s4> + <s5> 2) Nu kan je 'localhost:3000' openen in je browser naar voorkeur.</s5> + <s6>Dat is het, je bent nu klaar om te starten met je werk aan CodeCombat.</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco new file mode 100644 index 000000000..18fb9c839 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>简体中文</native> + <intro>From now on we'll send our feedback in English!</intro> + </global> + <install> + <system> + <bit>-bit computer detected.</bit> + <prefix>The operating system</prefix> + <sufix>was detected.</sufix> + <xp>We don't support Windows XP, installation cancelled.</xp> + </system> + <process> + <sks>Have you already installed all the software needed for CodeCombat?</sks> + <skq>We recommand that you reply negative in case you're not sure.</skq> + <skc>Skipping the installation of the software...</skc> + <s1>CodeCombat couldn't be developed without third-party software.</s1> + <s2>That's why you'll need to install this software,</s2> + <s3>in order to start contributing to our community.</s3> + <s4>Cancel the installation if you already have the application.</s4> + <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> + <prefix>Do you already have the latest version of</prefix> + <sufix>installed?</sufix> + <downloading>is downloading...</downloading> + <installing>is installing...</installing> + <unzipping>is unzipping...</unzipping> + <cleaning>is cleaning...</cleaning> + <mongodbpath>Please define the full path where mongodb should be installed</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>CodeCombat is opensource, like you already know.</opensource> + <online>All our sourcecode can be found online at Github.</online> + <manual>You can choose to do the entire Git setup yourself.</manual> + <norec>However we recommend that you instead let us handle it instead.</norec> + </intro> + <skip> + <question>Do you want to do the Local Git setup manually yourself?</question> + <consequence>Make sure you have correctly setup your repository before processing.</consequence> + <donotclose>Do not close this window please.</donotclose> + <wait>When you're ready, press any key to continue...</wait> + </skip> + <process> + <path>Please give the full path of your CodeCombat git repository: </path> + <checkout>Please enter the full path where you want to install your CodeCombat environment</checkout> + <bashi>This installation requires Git Bash.</bashi> + <bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32> + <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> + <ssh>Do you want to checkout the repository via ssh?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <db>Downloading the last version of the CodeCombat database...</db> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>That path already exists, are you sure you want to overwrite it?</path> + <exist>That path doesn't exist. Please try again...</exist> + </error> + <end> + <succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull> + <thankyou>Thank you already for your contribution and see you soon.</thankyou> + <readme>Do you want to read the README for more information?</readme> + </end> + <start> + <s1>From now on you can start the dev. environment at</s1> + <s2>the touch of a single mouse click.</s2> + <s3> 1) Just double click</s3> + <s4> and let the environment start up.</s4> + <s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5> + <s6>That's it, you're now ready to start working on CodeCombat!</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco new file mode 100644 index 000000000..3ef2d22d7 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>繁体中文</native> + <intro>From now on we'll send our feedback in English!</intro> + </global> + <install> + <system> + <bit>-bit computer detected.</bit> + <prefix>The operating system</prefix> + <sufix>was detected.</sufix> + <xp>We don't support Windows XP, installation cancelled.</xp> + </system> + <process> + <sks>Have you already installed all the software needed for CodeCombat?</sks> + <skq>We recommand that you reply negative in case you're not sure.</skq> + <skc>Skipping the installation of the software...</skc> + <s1>CodeCombat couldn't be developed without third-party software.</s1> + <s2>That's why you'll need to install this software,</s2> + <s3>in order to start contributing to our community.</s3> + <s4>Cancel the installation if you already have the application.</s4> + <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> + <prefix>Do you already have the latest version of</prefix> + <sufix>installed?</sufix> + <downloading>is downloading...</downloading> + <installing>is installing...</installing> + <unzipping>is unzipping...</unzipping> + <cleaning>is cleaning...</cleaning> + <mongodbpath>Please define the full path where mongodb should be installed</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>CodeCombat is opensource, like you already know.</opensource> + <online>All our sourcecode can be found online at Github.</online> + <manual>You can choose to do the entire Git setup yourself.</manual> + <norec>However we recommend that you instead let us handle it instead.</norec> + </intro> + <skip> + <question>Do you want to do the Local Git setup manually yourself?</question> + <consequence>Make sure you have correctly setup your repository before processing.</consequence> + <donotclose>Do not close this window please.</donotclose> + <wait>When you're ready, press any key to continue...</wait> + </skip> + <process> + <path>Please give the full path of your CodeCombat git repository: </path> + <checkout>Please enter the full path where you want to install your CodeCombat environment</checkout> + <bashi>This installation requires Git Bash.</bashi> + <bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32> + <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> + <ssh>Do you want to checkout the repository via ssh?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <db>Downloading the last version of the CodeCombat database...</db> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>That path already exists, are you sure you want to overwrite it?</path> + <exist>That path doesn't exist. Please try again...</exist> + </error> + <end> + <succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull> + <thankyou>Thank you already for your contribution and see you soon.</thankyou> + <readme>Do you want to read the README for more information?</readme> + </end> + <start> + <s1>From now on you can start the dev. environment at</s1> + <s2>the touch of a single mouse click.</s2> + <s3> 1) Just double click</s3> + <s4> and let the environment start up.</s4> + <s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5> + <s6>That's it, you're now ready to start working on CodeCombat!</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh.coco b/scripts/windows/coco-dev-setup/batch/localisation/zh.coco new file mode 100644 index 000000000..6cada7324 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/zh.coco @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>中文</native> + <intro>From now on we'll send our feedback in English!</intro> + </global> + <install> + <system> + <bit>-bit computer detected.</bit> + <prefix>The operating system</prefix> + <sufix>was detected.</sufix> + <xp>We don't support Windows XP, installation cancelled.</xp> + </system> + <process> + <sks>Have you already installed all the software needed for CodeCombat?</sks> + <skq>We recommand that you reply negative in case you're not sure.</skq> + <skc>Skipping the installation of the software...</skc> + <s1>CodeCombat couldn't be developed without third-party software.</s1> + <s2>That's why you'll need to install this software,</s2> + <s3>in order to start contributing to our community.</s3> + <s4>Cancel the installation if you already have the application.</s4> + <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> + <prefix>Do you already have the latest version of</prefix> + <sufix>installed?</sufix> + <downloading>is downloading...</downloading> + <installing>is installing...</installing> + <unzipping>is unzipping...</unzipping> + <cleaning>is cleaning...</cleaning> + <mongodbpath>Please define the full path where mongodb should be installed</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>CodeCombat is opensource, like you already know.</opensource> + <online>All our sourcecode can be found online at Github.</online> + <manual>You can choose to do the entire Git setup yourself.</manual> + <norec>However we recommend that you instead let us handle it instead.</norec> + </intro> + <skip> + <question>Do you want to do the Local Git setup manually yourself?</question> + <consequence>Make sure you have correctly setup your repository before processing.</consequence> + <donotclose>Do not close this window please.</donotclose> + <wait>When you're ready, press any key to continue...</wait> + </skip> + <process> + <path>Please give the full path of your CodeCombat git repository: </path> + <checkout>Please enter the full path where you want to install your CodeCombat environment</checkout> + <bashi>This installation requires Git Bash.</bashi> + <bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32> + <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> + <ssh>Do you want to checkout the repository via ssh?</ssh> + </process> + </github> + <npm> + <install>Installing bower, brunch, nodemon and sendwithus...</install> + <binstall>Installing bower packages...</binstall> + <sass>Installing sass...</sass> + <npm>Installing npm...</npm> + <brnch>Starting brunch....</brnch> + <mongodb>Setting up a MongoDB database for you...</mongodb> + <db>Downloading the last version of the CodeCombat database...</db> + <script>Preparing the automatic startup script for you...</script> + </npm> + <error> + <path>That path already exists, are you sure you want to overwrite it?</path> + <exist>That path doesn't exist. Please try again...</exist> + </error> + <end> + <succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull> + <thankyou>Thank you already for your contribution and see you soon.</thankyou> + <readme>Do you want to read the README for more information?</readme> + </end> + <start> + <s1>From now on you can start the dev. environment at</s1> + <s2>the touch of a single mouse click.</s2> + <s3> 1) Just double click</s3> + <s4> and let the environment start up.</s4> + <s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5> + <s6>That's it, you're now ready to start working on CodeCombat!</s6> + </start> +</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/print_header.bat b/scripts/windows/coco-dev-setup/batch/print_header.bat deleted file mode 100755 index cf538540d..000000000 --- a/scripts/windows/coco-dev-setup/batch/print_header.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -print_file config/header.coco -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/print_info.bat b/scripts/windows/coco-dev-setup/batch/print_info.bat deleted file mode 100755 index 76a3a6117..000000000 --- a/scripts/windows/coco-dev-setup/batch/print_info.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -print_file config/info.coco -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/print_license.bat b/scripts/windows/coco-dev-setup/batch/print_license.bat deleted file mode 100755 index 37ab5110f..000000000 --- a/scripts/windows/coco-dev-setup/batch/print_license.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -print_file config/license.coco -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/print_tips.bat b/scripts/windows/coco-dev-setup/batch/print_tips.bat deleted file mode 100755 index 1be9a8691..000000000 --- a/scripts/windows/coco-dev-setup/batch/print_tips.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -print_file config/tips.coco -endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/ask_question.bat b/scripts/windows/coco-dev-setup/batch/scripts/ask_question.bat new file mode 100644 index 000000000..6633ba71d --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/ask_question.bat @@ -0,0 +1,5 @@ +set /p res="%1 [Y/N]: " +set "result=unset" +if "%res%"=="Y" (set "result=true") +if "%res%"=="y" (set "result=true") +if "%result%"=="unset" (set "result=false") \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_app.bat b/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_app.bat new file mode 100644 index 000000000..a81c90363 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_app.bat @@ -0,0 +1,68 @@ +set "temp_directory=c:\.coco\" +set "curl_app=..\utilities\curl.exe" +set "zu_app=..\utilities\7za.exe" + +if NOT exist "%temp_directory%" ( + md %temp_directory% +) + +call get_local_text install_process_prefix install process prefix +call get_local_text install_process_sufix install process sufix + +call ask_question "!install_process_prefix! %1 !install_process_sufix!" + +if "%result%"=="true" ( + goto:exit_installation +) + +call print_dashed_seperator + +call get_extension %2 download_extension +call get_local_text install_process_downloading install process downloading +echo %1 !install_process_downloading! +set "install_file=!temp_directory!%1.!download_extension!" +%curl_app% -k %2 -o !install_file! + +if "%download_extension%"=="zip" ( + set "package_path=!temp_directory!%1\" + + %zu_app% x !install_file! -o!package_path! -y + + for /f "delims=" %%a in ('dir !package_path! /on /ad /b') do @set mongodb_original_directory=%%a + + call print_dashed_seperator + goto:get_mongodb_path + + :get_mongodb_path + call get_local_text install_process_mongodbpath install process mongodbpath + set /p "mongodb_path=!install_process_mongodbpath!: " + if exist "%mongodb_path%" ( + call get_local_text error_path error path + call ask_question "!error_path!" + if "!result!"=="false" ( + call print_dashed_seperator + goto:get_mongodb_path + ) else ( + rmdir /s /q %mongodb_path% + ) + ) + md %mongodb_path% + + %systemroot%\System32\xcopy !package_path!!mongodb_original_directory! !mongodb_path! /r /h /s /e /y + goto:clean_up +) + +call get_local_text install_process_installing install process installing +echo %1 !install_process_installing! +echo. +start /WAIT !install_file! +goto:clean_up + +:clean_up + call get_local_text install_process_cleaning install process cleaning + echo %1 !install_process_cleaning! + rmdir /s /q "!temp_directory!" + goto:exit_installation + +:exit_installation + call print_dashed_seperator \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat b/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat new file mode 100644 index 000000000..defdc10f8 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat @@ -0,0 +1,53 @@ +call print_install_header +call print_dashed_seperator + +call get_local_text install_process_sks install process sks +echo !install_process_sks! + +call get_local_text install_process_skq install process skq +call ask_question "!install_process_skq!" + +call print_dashed_seperator + +if "%result%"=="true" ( + call get_local_text install_process_skc install process skc + echo !install_process_skc! + call print_dashed_seperator + goto:exit_setup +) + +call get_system_information +call print_dashed_seperator + +if %system_info_os% == XP ( + call get_local_text install_system_xp install system xp + echo !install_system_xp! + call print_exit +) + +call get_variables ..\\config\\downloads.coco downloads download_names downloads_count 0 general general +call get_variables ..\\config\\downloads.coco downloads download_names downloads_count 2 %system_info_os% b%system_info_bit% +call get_variables ..\\config\\downloads.coco downloads download_names downloads_count 3 general b%system_info_bit% + +call get_local_text install_process_s1 install process s1 +call get_local_text install_process_s2 install process s2 +call get_local_text install_process_s3 install process s3 +call get_local_text install_process_s4 install process s4 +call get_local_text install_process_winpath install process winpath + +echo !install_process_s1! +echo !install_process_s2! +echo !install_process_s3! +echo !install_process_s4! +echo. +echo !install_process_winpath! + +call print_dashed_seperator + +for /l %%i in (1, 1, !downloads_count!) do ( + call download_and_install_app !download_names[%%i]! !downloads[%%i]! +) + +goto:exit_setup + +:exit_setup \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_array.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_array.bat new file mode 100644 index 000000000..a11f2375e --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_array.bat @@ -0,0 +1,6 @@ +set "file=%1" +set /a %3=0 +for /F "usebackq delims=" %%a in ("%file%") do ( + set /A %3+=1 + call set %2[%%%3%%]=%%a +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_config.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_config.bat new file mode 100644 index 000000000..c335263d6 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_config.bat @@ -0,0 +1,3 @@ +for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\config\\config.coco %1') do ( + set "%1=%%F" +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_download.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_download.bat new file mode 100644 index 000000000..1b81e6a0c --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_download.bat @@ -0,0 +1,3 @@ +for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\config\\downloads.coco %2 %3 %4 %5') do ( + set "%1=%%F" +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_extension.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_extension.bat new file mode 100644 index 000000000..71b381ebb --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_extension.bat @@ -0,0 +1,3 @@ +for /F "delims=" %%F in ('call run_script .\\get_extension.ps1 %1') do ( + set "%2=%%F" +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_extension.ps1 b/scripts/windows/coco-dev-setup/batch/scripts/get_extension.ps1 new file mode 100644 index 000000000..631132f74 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_extension.ps1 @@ -0,0 +1,18 @@ +$url = ($args[0].ToLower()) + +if($url.Contains("zip")) +{ + Write-Host "zip" +} +elseif($url.Contains("exe")) +{ + Write-Host "exe" +} +elseif($url.Contains("msi")) +{ + Write-Host "msi" +} +elseif($url.Contains("tar.gz")) +{ + Write-Host "tar.gz" +} \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat new file mode 100644 index 000000000..ce3446b5e --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat @@ -0,0 +1,36 @@ +echo Some feedback is sent in your system's language +echo but most feedback is sent and localised by us. +echo Here is a list of languages: +call print_dashed_seperator + +call get_array ..\\localisation\\languages.coco languages language_count +for /l %%i in (1,1,%language_count%) do ( + call get_text !languages[%%i]! global_native global native + echo [%%i] !global_native! +) + +goto:get_localisation_id + +:get_localisation_id + call print_dashed_seperator + set /p "localisation_id=Enter the language ID of your preference and press <ENTER>: " + goto:validation_check + +:validation_check + set "localisation_is_false=" + set /a local_id = %localisation_id% + if !local_id! EQU 0 set localisation_is_false=1 + if !local_id! LSS 1 set localisation_is_false=1 + if !local_id! GTR !language_count! set localisation_is_false=1 + if defined localisation_is_false ( + echo The id you entered is invalid, please try again... + goto:get_localisation_id + ) else ( + set language_id=!languages[%local_id%]! + call get_text !language_id! global_native global native + call print_dashed_seperator + echo You have choosen !global_native! as your language. + call get_text !language_id! global_intro global intro + echo !global_intro! + call print_seperator + ) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_local_text.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_local_text.bat new file mode 100644 index 000000000..9a54a78c5 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_local_text.bat @@ -0,0 +1 @@ +call get_text !language_id! %1 %2 %3 %4 %5 \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_path_safe.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_path_safe.bat new file mode 100644 index 000000000..c76707670 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_path_safe.bat @@ -0,0 +1,10 @@ +goto:get_safe_path + +:get_safe_path + set /p "tmp_safe_path=%1" + if not exist "%tmp_safe_path%" ( + call get_local_text error-exist + echo !error_exist! + call print_dashed_seperator + goto:get_safe_path + ) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat new file mode 100644 index 000000000..6921cb56a --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat @@ -0,0 +1,31 @@ +if exist "%PROGRAMFILES(X86)%" ( + call:set_bit 64 +) else ( + call:set_bit 32 +) + +for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j +if "%version%" == "5.2" ( call:set_os XP ) +if "%version%" == "6.0" ( call:set_os Vista ) +if "%version%" == "6.1" ( call:set_os Win7 ) +:: we handle win8.0 as win7 +if "%version%" == "6.2" ( call:set_os Win7 ) +:: we handle win8.1 as win7 +if "%version%" == "6.3" ( call:set_os Win7 ) + +goto:end + +:set_bit + call get_local_text install_system_bit install system bit + set system_info_bit=%~1 + echo %system_info_bit%%install_system_bit% +goto:eof + +:set_os + set system_info_os=%~1 + call get_local_text install_system_prefix install system prefix + call get_local_text install_system_sufix install system sufix + echo %install_system_prefix% %system_info_os% %install_system_sufix% +goto:eof + +:end diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat new file mode 100644 index 000000000..9bd888e0e --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat @@ -0,0 +1,3 @@ +for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\localisation\\%1.coco %3 %4 %5 %6') do ( + set "%2=%%F" +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_var.ps1 b/scripts/windows/coco-dev-setup/batch/scripts/get_var.ps1 new file mode 100644 index 000000000..5e63443fb --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_var.ps1 @@ -0,0 +1,27 @@ +$xml_file = [xml](get-content $args[0]) +if($args.count -eq 2) +{ + $var_output = ($xml_file.variables.($args[1])) +} +elseif($args.count -eq 3) +{ + $var_output = ($xml_file.variables.($args[1]).($args[2])) +} +elseif($args.count -eq 4) +{ + $var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3])) +} +elseif($args.count -eq 5) +{ + $var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]).($args[4])) +} +elseif($args.count -eq 6) +{ + $var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]).($args[4]).($args[5])) +} +elseif($args.count -eq 7) +{ + $var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]).($args[4]).($args[5]).($args[6])) +} + +Write-Host "$var_output" \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_variables.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_variables.bat new file mode 100644 index 000000000..f46c187bc --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_variables.bat @@ -0,0 +1,4 @@ +set count=0 +for /F "delims=" %%F in ('call run_script.bat .\\get_variables.ps1 %*') do ( + %%F +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_variables.ps1 b/scripts/windows/coco-dev-setup/batch/scripts/get_variables.ps1 new file mode 100644 index 000000000..38fa11b7c --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_variables.ps1 @@ -0,0 +1,33 @@ +$xml_file = [xml](get-content $args[0]) +$arr_value = $args[1] +$arr_name = $args[2] +$arr_counter = $args[3] +$counter = $args[4] + +if($args.count -eq 6) +{ + $root = $xml_file.variables.($args[5]) +} +elseif($args.count -eq 7) +{ + $root = $xml_file.variables.($args[5]).($args[6]) +} +elseif($args.count -eq 8) +{ + $root = $xml_file.variables.($args[5]).($args[6]).($args[7]) +} +elseif($args.count -eq 9) +{ + $nodes = $xml_file.variables.($args[5]).($args[6]).($args[7]).($args[8]) +} + +foreach ($node in $root.ChildNodes) +{ + $counter += 1 + $value = $node.InnerText + $name = $node.Name + Write-Host set "$arr_value[$counter]=$value" + Write-Host set "$arr_name[$counter]=$name" +} + +Write-Host set "$arr_counter=$counter" \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/github_setup.bat b/scripts/windows/coco-dev-setup/batch/scripts/github_setup.bat new file mode 100644 index 000000000..deb1334cc --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/github_setup.bat @@ -0,0 +1,115 @@ +call print_github_header +call print_dashed_seperator + +call get_local_text github_intro_opensource github intro opensource +call get_local_text github_intro_online github intro online +call get_local_text github_intro_manual github intro manual +call get_local_text github_intro_norec github intro norec + +echo !github_intro_opensource! +echo !github_intro_online! +echo !github_intro_manual! +echo !github_intro_norec! + +call print_dashed_seperator + +call get_local_text github_skip_question github skip question +call ask_question "!github_skip_question!" +call print_dashed_seperator + +if "%result%"=="true" ( + call get_local_text github_skip_consequence github skip consequence + echo !github_skip_consequence! + + call get_local_text github_skip_donotclose github skip donotclose + echo !github_skip_donotclose! + + call get_local_text github_skip_wait github skip wait + set /p "github_skip_wait=!github_skip_wait!" + + call print_dashed_seperator + + call get_local_text github_process_path github process path + call get_path_safe "!github_process_path!" + set "repository_path=!tmp_safe_path!" + + goto:exit_git_setup +) + +goto:get_bash_path + +:get_bash_path + call get_local_text github_process_bashi github process bashi + echo !github_process_bashi! + + if not defined install_system_bit ( + call print_dashed_seperator + call get_system_information + call print_dashed_seperator + ) + + if "%system_info_bit%"=="64" ( + call get_local_text github_process_bashp64 github process bashp64 + echo !github_process_bashp64! + ) else ( + call get_local_text github_process_bashp32 github process bashp32 + echo !github_process_bashp32! + ) + + call get_local_text github_process_bashq github process bashq + set /p "git_bash_path=!github_process_bashq!: " + + if not defined git_bash_path ( + if "%system_info_bit%"=="64" ( + set "git_bash_path=C:\Program Files (x86)\Git" + ) else ( + set "git_bash_path=C:\Program Files\Git" + ) + goto:get_git_path + ) + + if not exist "%git_bash_path%" ( + call get_local_text error_exist error exist + echo !error_exist! + call print_dashed_seperator + goto:get_bash_path + ) else ( + goto:get_git_path + ) +goto:eof + +:get_git_path + call print_dashed_seperator + call get_local_text github_process_checkout github process checkout + set /p "repository_path=!github_process_checkout!: " + if exist !repository_path! ( + call get_local_text error_path error path + call ask_question "!error_path!" + if "!result!"=="false" ( + call print_dashed_seperator + goto:get_git_path + ) else ( + rmdir /s /q %repository_path% + goto:git_checkout + ) + ) else ( + goto:git_checkout + ) +goto:eof + +:git_checkout + md "%repository_path%" + set "repository_path=%repository_path%\coco" + + call print_dashed_seperator + set "git_app_path=%git_bash_path%\bin\git.exe" + + call get_config github_url + "%git_app_path%" clone "!github_url!" "%repository_path%" + + goto:exit_git_setup +goto:eof + +:exit_git_setup + call print_dashed_seperator +goto:eof \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/npm_and_brunch_setup.bat b/scripts/windows/coco-dev-setup/batch/scripts/npm_and_brunch_setup.bat new file mode 100644 index 000000000..c54b2d205 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/npm_and_brunch_setup.bat @@ -0,0 +1,89 @@ +call print_npm_and_brunch_header +call print_dashed_seperator + +set work_directory=%CD% + +set "curl_app=..\utilities\curl.exe" +set "zu_app=..\utilities\7za.exe" +set "keystuff=..\utilities\keystuff.exe" + +set "coco_root=!repository_path!\coco" + +goto:automatic_script + +call get_local_text npm-install +echo !npm_install! + +cd !coco_root! +start /wait cmd /c "echo !npm_install! & npm install -g bower brunch nodemon sendwithus" +cd !work_directory! + +call print_dashed_seperator +call get_local_text npm-binstall +echo !npm_binstall! + +cd "!coco_root!" +start /wait cmd /c "echo !npm_binstall! & bower install" +cd "!work_directory!" + +call print_dashed_seperator +call get_local_text npm-sass +echo !npm_sass! + +cd "!coco_root!" +start /wait cmd /c "echo !npm_sass! & gem install sass" +cd "!work_directory!" + +call print_dashed_seperator +call get_local_text npm-npm +echo !npm_npm! + +cd "!coco_root!" +start /wait cmd /c "echo !npm_npm! & npm install" +cd "!work_directory!" + +:: --- MONGODB + +:mongodb +call print_dashed_seperator +call get_local_text npm-mongodb +echo !npm_mongodb! + +set "mdb_directory=!repository_path!\cocodb" + +if exist mdb_directory ( + rmdir /s /q "!mdb_directory!" +) + +md !mdb_directory! + +call print_dashed_seperator +call get_local_text npm-db +echo !npm_db! + +call get_config database_backup + +cd !mdb_directory! + +start cmd /c "%work_directory%\%keystuff% Alt-Tab && mongod --setParameter textSearchEnabled=true --dbpath !mdb_directory!" + +%curl_app% -k !database_backup! -o dump.tar.gz + +start /wait cmd /c "%work_directory%\%keystuff% Alt-Tab && %zu_app% e dump.tar.gz && del dump.tar.gz && %zu_app% x dump.tar && del dump.tar" + +start /wait cmd /c "mongorestore dump" + +rmdir /s /q db + +:: --- AUTOMATIC SCRIPT + +::automatic_script +call print_dashed_seperator +call get_local_text npm-script +echo !npm_script! + +:: --- END + +call print_dashed_seperator + +pause \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat b/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat new file mode 100644 index 000000000..484f3dd75 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat @@ -0,0 +1 @@ +call open_text_file ..\\config\\readme.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/open_text_file.bat b/scripts/windows/coco-dev-setup/batch/scripts/open_text_file.bat new file mode 100644 index 000000000..6271391d8 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/open_text_file.bat @@ -0,0 +1 @@ +start notepad.exe %1 \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat new file mode 100644 index 000000000..cd9f23c7d --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat @@ -0,0 +1,3 @@ +echo. +echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +echo. \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat new file mode 100644 index 000000000..1e6a5e14f --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat @@ -0,0 +1,2 @@ +set /p res="Press any key to exit..." +exit \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/print_file.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_file.bat old mode 100755 new mode 100644 similarity index 58% rename from scripts/windows/coco-dev-setup/batch/print_file.bat rename to scripts/windows/coco-dev-setup/batch/scripts/print_file.bat index 7857ee47d..de46b68ee --- a/scripts/windows/coco-dev-setup/batch/print_file.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_file.bat @@ -1,7 +1,4 @@ -@echo off -setlocal EnableDelayedExpansion -set "file=%1" -for /f "usebackq tokens=* delims=;" %%a in ("%file%") do ( - echo.%%a -) -endlocal \ No newline at end of file +set "file=%1" +for /f "usebackq tokens=* delims=;" %%a in ("%file%") do ( + echo.%%a +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_finished_header.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_finished_header.bat new file mode 100644 index 000000000..d7b5572c8 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_finished_header.bat @@ -0,0 +1 @@ +call print_file ..\\config\\finished_header.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_github_header.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_github_header.bat new file mode 100644 index 000000000..d5cbe3e95 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_github_header.bat @@ -0,0 +1 @@ +call print_file ..\\config\\github_header.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_header.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_header.bat new file mode 100644 index 000000000..328405e67 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_header.bat @@ -0,0 +1 @@ +call print_file ..\\config\\header.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_info.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_info.bat new file mode 100644 index 000000000..7af731410 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_info.bat @@ -0,0 +1 @@ +print_file ..\\config\\info.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_install_header.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_install_header.bat new file mode 100644 index 000000000..0d430ad8c --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_install_header.bat @@ -0,0 +1 @@ +call print_file ..\\config\\install_header.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat new file mode 100644 index 000000000..a208ca559 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat @@ -0,0 +1 @@ +print_file ..\\config\\license.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_npm_and_brunch_header.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_npm_and_brunch_header.bat new file mode 100644 index 000000000..9f9ea2164 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_npm_and_brunch_header.bat @@ -0,0 +1 @@ +call print_file ..\\config\\npm_and_brunch_header.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat new file mode 100644 index 000000000..cf145cb6d --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat @@ -0,0 +1,3 @@ +echo. +echo ----------------------------------------------------------------------------- +echo. \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat new file mode 100644 index 000000000..c00833574 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat @@ -0,0 +1 @@ +print_file ..\\config\\tips.coco \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/run_script.bat b/scripts/windows/coco-dev-setup/batch/scripts/run_script.bat new file mode 100644 index 000000000..c18af72b7 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/run_script.bat @@ -0,0 +1,2 @@ +@echo off +PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& "%*" \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/setup.bat b/scripts/windows/coco-dev-setup/batch/scripts/setup.bat new file mode 100644 index 000000000..df03a45d7 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/setup.bat @@ -0,0 +1,67 @@ +@echo off +setlocal EnableDelayedExpansion + +Color 0A +mode con: cols=79 lines=55 + +call print_header +call print_dashed_seperator + +call get_config.bat version +call get_config.bat author +call get_config.bat copyright +echo Welcome to the automated Installation of the CodeCombat Dev. Environment! +echo v%version% authored by %author% and published by %copyright%. +call print_seperator + +echo Before we start the installation, here are some tips: +call print_tips +call print_seperator + +call sign_license + +call get_language + +call download_and_install_applications + +call github_setup + +:: This will be available in v2.0 +::call npm_and_brunch_setup + +call print_finished_header +call print_dashed_seperator + +call get_local_text end_succesfull end succesfull +call get_local_text end_thankyou end thankyou +echo %end_succesfull% +echo %end_thankyou% + +call print_dashed_seperator + +call get_local_text start_s1 start s1 +call get_local_text start_s2 start s2 +call get_local_text start_s3 start s3 +call get_local_text start_s4 start s4 +call get_local_text start_s5 start s5 +call get_local_text start_s6 start s6 + +echo !start_s1! +echo !start_s2! +echo. +echo !start_s3! '!repository_path!\coco\SCOCODE.bat' +echo !start_s4! +echo !start_s5! +echo. +echo !start_s6! + +call print_dashed_seperator + +call get_local_text end_readme end readme +call ask_question "!end_readme!" + +if "%result%"=="true" ( + call open_readme +) + +endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat b/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat new file mode 100644 index 000000000..e1c2c2c47 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat @@ -0,0 +1,15 @@ +echo In order to continue the installation of the developers environment +echo you will have to read and agree with the following license: +call print_dashed_seperator + +call print_license +call print_dashed_seperator + +call ask_question "Have you read the license and do you agree with it?" +call print_dashed_seperator + +if "%result%"=="false" ( + echo This setup can't happen without an agreement. + echo Installation and Setup of the CodeCombat environment is cancelled. + call print_exit +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/setup.bat b/scripts/windows/coco-dev-setup/batch/setup.bat new file mode 100644 index 000000000..1246a77c1 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/setup.bat @@ -0,0 +1,2 @@ +cd scripts +setup.bat \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/dev-setup-packer.bat b/scripts/windows/coco-dev-setup/dev-setup-packer.bat index 8c8d74d8a..49ba67cdf 100755 --- a/scripts/windows/coco-dev-setup/dev-setup-packer.bat +++ b/scripts/windows/coco-dev-setup/dev-setup-packer.bat @@ -5,26 +5,11 @@ setlocal EnableDelayedExpansion set "ZU-app=batch\utilities\7za.exe" set "title=coco-dev-win-setup" -call:parse_file_new "batch\config\config" cnfg n -set "sf=%cnfg[1]%" +cd batch\\scripts\\ +call get_config version +cd ..\\..\\ -%ZU-app% a "%title%-%sf%.zip" .\batch\* - - -:: ================= FUNCTIONS ========================= - -:parse_file - set "file=%~1" - for /F "usebackq delims=" %%a in ("%file%") do ( - set /A %~3+=1 - call set %~2[%%%~3%%]=%%a - ) -goto:eof - -:parse_file_new - set /A %~3=0 - call:parse_file %~1 %~2 %~3 -goto:eof +%ZU-app% a "%title%-%version%.zip" .\batch\* :: =================== EOF ============================= diff --git a/scripts/windows/coco-dev-setup/batch/recycle_bin/dev-setup.bat b/scripts/windows/coco-dev-setup/recycle_bin/dev-setup.bat old mode 100755 new mode 100644 similarity index 95% rename from scripts/windows/coco-dev-setup/batch/recycle_bin/dev-setup.bat rename to scripts/windows/coco-dev-setup/recycle_bin/dev-setup.bat index 97e7d1ee2..c7447cade --- a/scripts/windows/coco-dev-setup/batch/recycle_bin/dev-setup.bat +++ b/scripts/windows/coco-dev-setup/recycle_bin/dev-setup.bat @@ -1,533 +1,533 @@ -@echo off -setlocal EnableDelayedExpansion - -Color 0A - -mode con: cols=78 lines=60 - -:: Global Variables -set "temp-dir=C:\Coco-Temp" -set install-log=%temp-dir%\coco-dev-install-log.txt - -:: set correct curl app -IF EXIST "%PROGRAMFILES(X86)%" ( - (set "curl-app=utilities\curl\64bit\curl.exe") -) ELSE ( - set "curl-app=utilities\curl\32bit\curl.exe" -) - -set "ZU-app=utilities\7za.exe" - -:: BUGS: - :: + DEBUG ALL STEPS UNTILL NOW DONE - - -:: TODO: -:: + Write code to install vs if it's not yet installed on users pc - -:: + Configuraton and installation checklist: -:: 1) cd codecombat -:: 2) npm install -g bower brunch nodemon sendwithus -:: 3) bower install -:: 4) gem install sass -:: 5) npm install -:: 6) brunch -w -:: Extra... @ Fail run npm install - -:: + Copy the automated dev batch file to root folder -:: => Let user define mongo-db directory -:: + Start the dev environment - -:: Create The Temporary Directory -IF EXIST %temp-dir% rmdir %temp-dir% /s /q -mkdir %temp-dir% - -:: Create Log File -copy /y nul %install-log% > nul - -call:parse_aa_and_draw "config\header" -call:draw_dss - -call:parse_file_new "config\config" cnfg n - -call:log "Welcome to the automated Installation of the CodeCombat Dev. Environment!" -call:log_sse "v%%cnfg[1]%% authored by %%cnfg[2]%% and published by %%cnfg[3]%%." - -:: Language Agreement Stuff - -call:log "In order to continue the installation of the developers environment" -call:log "you will have to read and agree with the following license: -call:draw_dss -echo. -call:parse_aa_and_draw "license.txt" -echo. -call:draw_dss -call:strict_user_yn_question "Have you read the license and do you agree with it?" - -if "%res%"=="false" ( - call:log "Sorry to hear that, have a good day..." - call:log_sse "Installation and Setup of the CodeCombat environment is cancelled." - GOTO:END -) - -:: Tips -call:log "Before we start the installation, here are some tips:" -echo. - -call:parse_aa_and_draw "config\tips" - -call:draw_ss - -:: Read Language Index -call:parse_file_new "localisation\languages" lang lang_c - -:: Read Download URLs -call:parse_file_new "config\downloads" downloads n -call:parse_file_new "config\downloads_32" downloads_32 n -call:parse_file_new "config\downloads_64" downloads_64 n -call:parse_file_new "config\downloads_vista_32" downloads_vista_32 n -call:parse_file_new "config\downloads_vista_64" downloads_vista_64 n -call:parse_file_new "config\downloads_7_32" downloads_7_32 n -call:parse_file_new "config\downloads_7_64" downloads_7_64 n - -:: Parse all Localisation Files -for /L %%i in (1,1,%lang_c%) do ( - call:parse_file "localisation\%%lang[%%i]%%" languages languages_c -) - -set /A "wc = %languages_c% / %lang_c%" - -:: Start install with language question (Localisation) -call:log "Which language do you prefer?" - -set /A c=0 -for /L %%i in (1,%wc%,%languages_c%) do ( - set /A "n = %%i - 1" - call:log " [%%c%%] %%languages[%%i]%%" - set /A c+=1 -) - -set "lang_id=-1" -call:user_enter_language_id -goto:user_pick_language - -:user_enter_language_id - set /p lang_id= "Enter the language ID and press <ENTER>: " -goto:eof - -:user_pick_language - set res=false - if %lang_id% LSS 0 set res=true - if %lang_id% GEQ %lang_c% set res=true - if "%res%"=="true" ( - call:log "Invalid id! Please enter a correct id from the numbers listed above..." - call:draw_dss - call:user_enter_language_id - goto:user_pick_language - ) - -call:get_lw word 0 -call:log_ds "You choose '%word%', from now on all feedback will be logged in it." - -call:log_lw 1 -call:log_lw_sse 2 - -:: downloads for all version... - -:: [TODO] The choice between Cygwin && Git ?! Is => HAVE EXTERNAL GIT APPLICATION LIST!!! - -call:log_lw_sse 3 - -call:log_lw 6 -call:log_lw 7 -call:log_lw 8 -call:install_software_o "git" "%%downloads[1]%%" exe 9 -call:draw_dss -call:get_lw word 11 - -:: [TODO] Add downloads for windows visual studio ?! - -call:user_set_git_path - -:user_set_git_path_fail - if not exist "%git_exe_path%" ( - call:log_lw 27 - call:draw_dss - call:user_set_git_path - ) - :: architecture specific downloads... - IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT) -goto:eof - -:user_set_git_path - set /p git_exe_path="%word%: " - call:user_set_git_path_fail -goto:eof - -:go_to_platform - call:log_ds "Windows %~1 detected..." - GOTO %~2 -goto:eof - -:64BIT - call:log_ds "64-bit computer detected..." - - call:install_software_o "node-js" "%%downloads_64[1]%%" msi 12 - call:draw_dss - - call:get_path_from_user 41 42 - set "node_js_path=%user_tmp_path%" - Call:draw_dss - - call:install_software_o "ruby" "%%downloads_64[2]%%" exe 13 - call:draw_dss - call:install_software_o "python" "%%downloads_64[3]%%" msi 26 - - :: Some installations require specific windows versions - for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j - if "%version%" == "5.2" ( call:go_to_platform "XP" ver_XP_64 ) - if "%version%" == "6.0" ( call:go_to_platform "Vista" ver_Vista_64 ) - if "%version%" == "6.1" ( call:go_to_platform "7" ver_Win7_8_64 ) - if "%version%" == "6.2" ( call:go_to_platform "8.0" ver_Win7_8_64 ) - if "%version%" == "6.3" ( call:go_to_platform "8.1" ver_Win7_8_64 ) - GOTO warn_and_exit -GOTO END - -:32BIT - call:log_ds "32-bit computer detected..." - - call:install_software_o "node-js" "%%downloads_32[1]%%" msi 12 - call:draw_dss - - call:get_path_from_user 41 42 - set "node_js_path=%user_tmp_path%" - Call:draw_dss - - call:install_software_o "ruby" "%%downloads_32[2]%%" exe 13 - call:draw_dss - call:install_software_o "python" "%%downloads_32[3]%%" msi 26 - - :: Some installations require specific windows versions - for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j - if "%version%" == "5.2" ( call:go_to_platform "XP" ver_XP_32 ) - if "%version%" == "6.0" ( call:go_to_platform "Vista" ver_Vista_32 ) - if "%version%" == "6.1" ( call:go_to_platform "7" ver_Win7_8_32 ) - if "%version%" == "6.2" ( call:go_to_platform "8.0" ver_Win7_8_32 ) - if "%version%" == "6.3" ( call:go_to_platform "8.1" ver_Win7_8_32 ) - GOTO warn_and_exit -GOTO END - -:ver_Win7_8_32 - call:install_packed_software_o "mongo-db" "%%downloads_7_32[1]%%" 25 14 - set "mong-db-path = %packed_software_path%" -goto git_rep_checkout - -:ver_Vista_32 - call:install_packed_software_o "mongo-db" "%%downloads_vista_32[1]%%" 25 14 - set "mong-db-path = %packed_software_path%" -goto git_rep_checkout - -:ver_XP_32 - call:log_lw_ds 15 -goto END - -:ver_Win7_8_64 - call:install_packed_software_o "mongo-db" "%%downloads_7_64[1]%%" 25 14 - set "mong-db-path = %packed_software_path%" -goto git_rep_checkout - -:ver_Vista_64 - call:install_packed_software_o "mongo-db" "%%downloads_vista_64[1]%%" 25 14 - set "mong-db-path = %packed_software_path%" -goto git_rep_checkout - -:ver_XP_64 - call:log_lw_ds 15 -goto END - -:git_rep_checkout - call:log_lw_ss 16 - call:log_lw_sse 17 - - set "PATH=%PATH%;%git_exe_path%\bin;%git_exe_path%\cmd" /M - - call:log_lw 36 - call:log_lw 37 - call:log_lw 38 - - call:draw_dss - - call:get_lw word 39 - set /p git_username="%word% " - - call:draw_dss - - call:get_empty_path_from_user 32 - set "git_repository_path=%user_tmp_path%" - -goto:git_rep_checkout_auto - -:git_rep_checkout_auto - git clone https://github.com/%git_username%/codecombat.git "%git_repository_path%" -goto:git_repo_configuration - -:git_repo_configuration - call:log_lw_ss 35 - call:log_lw_sse 36 - - SET "PATH=%PATH%;%node_js_path%" /M - setx -m git "%git_exe_path%\bin" - - call:log_lw 40 - start cmd /k "npm install -g bower brunch nodemon sendwithus & exit" - -goto report_ok - -:report_ok - call:log_lw 18 - call:log_lw_sse 19 - - :: Open README file - call:open_readme - -goto clean_up - -:open_readme - call:open_txt_file "config/info" -goto:eof - -:warn_and_exit - call:log_lw_ss 20 - call:log_lw_sse 21 -goto error_report - -:error_report - call:log_lw_ds 22 -goto END - -:clean_up - call:log_lw_sse 23 - rmdir %temp-dir% /s /q -goto END - -:: ============================ INSTALL SOFTWARE FUNCTIONS ====================== - -:download_software - call:get_lw word 4 - call:log "%word% %~1..." - %curl-app% -sS -k %~2 -o %temp-dir%\%~1-setup.%~3 -goto:eof - -:install_software - call:download_software %~1 %~2 %~3 - call:get_lw word 5 - call:log "%word% %~1..." - START /WAIT %temp-dir%\%~1-setup.%~3 -goto:eof - -:install_software_o - call:get_lw word %~4 - call:user_yn_question "%word%" - if "%res%"=="true" ( - call:install_software %~1 %~2 %~3 - ) else ( - call:log_lw 10 - ) -goto:eof - -:install_packed_software - call:download_software %~1 %~2 zip - - call:draw_dss - - call:get_lw word %~3 - - set /p packed_software_path="%word% " - - :: remove chosen directory of user if it already exists (to prevent a window from popping up) - IF EXIST %packed_software_path% rmdir %packed_software_path% /s /q - - %ZU-app% x %temp-dir%\%~1-setup.zip -o%packed_software_path% - - call:draw_dss - - for /f "delims=" %%a in ('dir "%packed_software_path%\" /on /ad /b') do @set temp_dir=%%a - for /f "delims=" %%a in ('dir "%packed_software_path%\%temp_dir%\" /on /ad /b') do ( - xcopy %packed_software_path%\%temp_dir% %packed_software_path%\ /S /E - ) - - call:draw_dss - rmdir %packed_software_path%\%temp_dir%\ /s /q -goto:eof - -:user_yn_question - set /p result="%~1 [Y/N]: " - call:draw_dss - set "res=false" - if "%result%"=="N" (set "res=true") - if "%result%"=="n" (set "res=true") -goto:eof - -:strict_user_yn_question - set /p result="%~1 [Y/N]: " - call:draw_dss - set "res=unset" - if "%result%"=="N" (set "res=false") - if "%result%"=="n" (set "res=false") - if "%result%"=="Y" (set "res=true") - if "%result%"=="y" (set "res=true") - - if "%res%"=="unset" ( - call:log "Please answer the question with either Y or N..." - call:draw_dss - call:strict_user_yn_question "%~1" - ) -goto:eof - -:install_packed_software_o - call:get_lw word %~4 - call:user_yn_question "%word%" - if "%res%"=="true" ( - call:install_packed_software %~1 %~2 %~3 - ) else ( - call:log_lw 10 - ) -goto:eof - -:: ===================== USER - INTERACTION - FUNCTIONS ======================== - -:get_path_from_user - call:get_lw word %~1 - set /p user_tmp_path="%word% " - if not exist "%user_tmp_path%" ( - call:log_lw 43 - call:draw_dss - call:get_path_from_user %~1 %~2 - ) -goto:eof - -:get_empty_path_from_user - call:get_lw word %~1 - set /p user_tmp_path="%word% " - if exist "%user_tmp_path%" ( - call:log_lw 33 - call:draw_dss - call:get_path_from_user %~1 - ) -goto:eof - -:: ============================== FUNCTIONS ==================================== - -:log - echo %~1 - echo %~1 >> %install-log% -goto:eof - -:draw_ss - echo. - call:log "-----------------------------------------------------------------------------" - echo. -goto:eof - -:draw_dss - echo. - call:log "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" - echo. -goto:eof - -:draw_seperator - echo. - echo + + + + + + + + - echo. -goto:eof - -:log_ss - call:draw_ss - call:log "%~1" -goto:eof - -:log_sse - call:log "%~1" - call:draw_ss -goto:eof - -:log_ds - call:log_ss "%~1" - call:draw_ss -goto:eof - -:: ============================== IO FUNCTIONS ==================================== - -:open_txt_file - start "" notepad.exe %~1 -goto:eof - -:parse_aa_and_draw - set "file=%~1" - for /f "usebackq tokens=* delims=;" %%a in ("%file%") do ( - echo.%%a - ) -goto:eof - -:parse_file - set "file=%~1" - for /F "usebackq delims=" %%a in ("%file%") do ( - set /A %~3+=1 - call set %~2[%%%~3%%]=%%a - ) -goto:eof - -:parse_file_new - set /A %~3=0 - call:parse_file %~1 %~2 %~3 -goto:eof - -:: ============================== LOCALISATION FUNCTIONS ================ - -:get_lw - call:get_lw_id %~1 %lang_id% %~2 -goto:eof - -:get_lw_id - set /A count = %~2 * %wc% + %~3 + 1 - set "%~1=!languages[%count%]!" -goto:eof - -:log_lw - call:get_lw str %~1 - call:log "%str%" -goto:eof - -:log_lw_prfx - call:get_lw str %~1 - call:log "%~2%str%" -goto:eof - -:log_lw_ss - call:get_lw str %~1 - call:log_ss "%str%" -goto:eof - -:log_lw_ds - call:get_lw str %~1 - call:log_ds "%str%" -goto:eof - -:log_lw_sse - call:get_lw str %~1 - call:log_sse "%str%" -goto:eof - -:: ============================== WINDOWS FUNCTIONS ====================== - -:set_env_var - setx -m %~1 %~2 -goto:eof - -:: ============================== EOF ==================================== - -:END - exit -goto:eof - +@echo off +setlocal EnableDelayedExpansion + +Color 0A + +mode con: cols=78 lines=60 + +:: Global Variables +set "temp-dir=C:\Coco-Temp" +set install-log=%temp-dir%\coco-dev-install-log.txt + +:: set correct curl app +IF EXIST "%PROGRAMFILES(X86)%" ( + (set "curl-app=utilities\curl\64bit\curl.exe") +) ELSE ( + set "curl-app=utilities\curl\32bit\curl.exe" +) + +set "ZU-app=utilities\7za.exe" + +:: BUGS: + :: + DEBUG ALL STEPS UNTILL NOW DONE + + +:: TODO: +:: + Write code to install vs if it's not yet installed on users pc + +:: + Configuraton and installation checklist: +:: 1) cd codecombat +:: 2) npm install -g bower brunch nodemon sendwithus +:: 3) bower install +:: 4) gem install sass +:: 5) npm install +:: 6) brunch -w +:: Extra... @ Fail run npm install + +:: + Copy the automated dev batch file to root folder +:: => Let user define mongo-db directory +:: + Start the dev environment + +:: Create The Temporary Directory +IF EXIST %temp-dir% rmdir %temp-dir% /s /q +mkdir %temp-dir% + +:: Create Log File +copy /y nul %install-log% > nul + +call:parse_aa_and_draw "config\header" +call:draw_dss + +call:parse_file_new "config\config" cnfg n + +call:log "Welcome to the automated Installation of the CodeCombat Dev. Environment!" +call:log_sse "v%%cnfg[1]%% authored by %%cnfg[2]%% and published by %%cnfg[3]%%." + +:: Language Agreement Stuff + +call:log "In order to continue the installation of the developers environment" +call:log "you will have to read and agree with the following license: +call:draw_dss +echo. +call:parse_aa_and_draw "license.txt" +echo. +call:draw_dss +call:strict_user_yn_question "Have you read the license and do you agree with it?" + +if "%res%"=="false" ( + call:log "Sorry to hear that, have a good day..." + call:log_sse "Installation and Setup of the CodeCombat environment is cancelled." + GOTO:END +) + +:: Tips +call:log "Before we start the installation, here are some tips:" +echo. + +call:parse_aa_and_draw "config\tips" + +call:draw_ss + +:: Read Language Index +call:parse_file_new "localisation\languages" lang lang_c + +:: Read Download URLs +call:parse_file_new "config\downloads" downloads n +call:parse_file_new "config\downloads_32" downloads_32 n +call:parse_file_new "config\downloads_64" downloads_64 n +call:parse_file_new "config\downloads_vista_32" downloads_vista_32 n +call:parse_file_new "config\downloads_vista_64" downloads_vista_64 n +call:parse_file_new "config\downloads_7_32" downloads_7_32 n +call:parse_file_new "config\downloads_7_64" downloads_7_64 n + +:: Parse all Localisation Files +for /L %%i in (1,1,%lang_c%) do ( + call:parse_file "localisation\%%lang[%%i]%%" languages languages_c +) + +set /A "wc = %languages_c% / %lang_c%" + +:: Start install with language question (Localisation) +call:log "Which language do you prefer?" + +set /A c=0 +for /L %%i in (1,%wc%,%languages_c%) do ( + set /A "n = %%i - 1" + call:log " [%%c%%] %%languages[%%i]%%" + set /A c+=1 +) + +set "lang_id=-1" +call:user_enter_language_id +goto:user_pick_language + +:user_enter_language_id + set /p lang_id= "Enter the language ID and press <ENTER>: " +goto:eof + +:user_pick_language + set res=false + if %lang_id% LSS 0 set res=true + if %lang_id% GEQ %lang_c% set res=true + if "%res%"=="true" ( + call:log "Invalid id! Please enter a correct id from the numbers listed above..." + call:draw_dss + call:user_enter_language_id + goto:user_pick_language + ) + +call:get_lw word 0 +call:log_ds "You choose '%word%', from now on all feedback will be logged in it." + +call:log_lw 1 +call:log_lw_sse 2 + +:: downloads for all version... + +:: [TODO] The choice between Cygwin && Git ?! Is => HAVE EXTERNAL GIT APPLICATION LIST!!! + +call:log_lw_sse 3 + +call:log_lw 6 +call:log_lw 7 +call:log_lw 8 +call:install_software_o "git" "%%downloads[1]%%" exe 9 +call:draw_dss +call:get_lw word 11 + +:: [TODO] Add downloads for windows visual studio ?! + +call:user_set_git_path + +:user_set_git_path_fail + if not exist "%git_exe_path%" ( + call:log_lw 27 + call:draw_dss + call:user_set_git_path + ) + :: architecture specific downloads... + IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT) +goto:eof + +:user_set_git_path + set /p git_exe_path="%word%: " + call:user_set_git_path_fail +goto:eof + +:go_to_platform + call:log_ds "Windows %~1 detected..." + GOTO %~2 +goto:eof + +:64BIT + call:log_ds "64-bit computer detected..." + + call:install_software_o "node-js" "%%downloads_64[1]%%" msi 12 + call:draw_dss + + call:get_path_from_user 41 42 + set "node_js_path=%user_tmp_path%" + Call:draw_dss + + call:install_software_o "ruby" "%%downloads_64[2]%%" exe 13 + call:draw_dss + call:install_software_o "python" "%%downloads_64[3]%%" msi 26 + + :: Some installations require specific windows versions + for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j + if "%version%" == "5.2" ( call:go_to_platform "XP" ver_XP_64 ) + if "%version%" == "6.0" ( call:go_to_platform "Vista" ver_Vista_64 ) + if "%version%" == "6.1" ( call:go_to_platform "7" ver_Win7_8_64 ) + if "%version%" == "6.2" ( call:go_to_platform "8.0" ver_Win7_8_64 ) + if "%version%" == "6.3" ( call:go_to_platform "8.1" ver_Win7_8_64 ) + GOTO warn_and_exit +GOTO END + +:32BIT + call:log_ds "32-bit computer detected..." + + call:install_software_o "node-js" "%%downloads_32[1]%%" msi 12 + call:draw_dss + + call:get_path_from_user 41 42 + set "node_js_path=%user_tmp_path%" + Call:draw_dss + + call:install_software_o "ruby" "%%downloads_32[2]%%" exe 13 + call:draw_dss + call:install_software_o "python" "%%downloads_32[3]%%" msi 26 + + :: Some installations require specific windows versions + for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j + if "%version%" == "5.2" ( call:go_to_platform "XP" ver_XP_32 ) + if "%version%" == "6.0" ( call:go_to_platform "Vista" ver_Vista_32 ) + if "%version%" == "6.1" ( call:go_to_platform "7" ver_Win7_8_32 ) + if "%version%" == "6.2" ( call:go_to_platform "8.0" ver_Win7_8_32 ) + if "%version%" == "6.3" ( call:go_to_platform "8.1" ver_Win7_8_32 ) + GOTO warn_and_exit +GOTO END + +:ver_Win7_8_32 + call:install_packed_software_o "mongo-db" "%%downloads_7_32[1]%%" 25 14 + set "mong-db-path = %packed_software_path%" +goto git_rep_checkout + +:ver_Vista_32 + call:install_packed_software_o "mongo-db" "%%downloads_vista_32[1]%%" 25 14 + set "mong-db-path = %packed_software_path%" +goto git_rep_checkout + +:ver_XP_32 + call:log_lw_ds 15 +goto END + +:ver_Win7_8_64 + call:install_packed_software_o "mongo-db" "%%downloads_7_64[1]%%" 25 14 + set "mong-db-path = %packed_software_path%" +goto git_rep_checkout + +:ver_Vista_64 + call:install_packed_software_o "mongo-db" "%%downloads_vista_64[1]%%" 25 14 + set "mong-db-path = %packed_software_path%" +goto git_rep_checkout + +:ver_XP_64 + call:log_lw_ds 15 +goto END + +:git_rep_checkout + call:log_lw_ss 16 + call:log_lw_sse 17 + + set "PATH=%PATH%;%git_exe_path%\bin;%git_exe_path%\cmd" /M + + call:log_lw 36 + call:log_lw 37 + call:log_lw 38 + + call:draw_dss + + call:get_lw word 39 + set /p git_username="%word% " + + call:draw_dss + + call:get_empty_path_from_user 32 + set "git_repository_path=%user_tmp_path%" + +goto:git_rep_checkout_auto + +:git_rep_checkout_auto + git clone https://github.com/%git_username%/codecombat.git "%git_repository_path%" +goto:git_repo_configuration + +:git_repo_configuration + call:log_lw_ss 35 + call:log_lw_sse 36 + + SET "PATH=%PATH%;%node_js_path%" /M + setx -m git "%git_exe_path%\bin" + + call:log_lw 40 + start cmd /k "npm install -g bower brunch nodemon sendwithus & exit" + +goto report_ok + +:report_ok + call:log_lw 18 + call:log_lw_sse 19 + + :: Open README file + call:open_readme + +goto clean_up + +:open_readme + call:open_txt_file "config/info" +goto:eof + +:warn_and_exit + call:log_lw_ss 20 + call:log_lw_sse 21 +goto error_report + +:error_report + call:log_lw_ds 22 +goto END + +:clean_up + call:log_lw_sse 23 + rmdir %temp-dir% /s /q +goto END + +:: ============================ INSTALL SOFTWARE FUNCTIONS ====================== + +:download_software + call:get_lw word 4 + call:log "%word% %~1..." + %curl-app% -sS -k %~2 -o %temp-dir%\%~1-setup.%~3 +goto:eof + +:install_software + call:download_software %~1 %~2 %~3 + call:get_lw word 5 + call:log "%word% %~1..." + START /WAIT %temp-dir%\%~1-setup.%~3 +goto:eof + +:install_software_o + call:get_lw word %~4 + call:user_yn_question "%word%" + if "%res%"=="true" ( + call:install_software %~1 %~2 %~3 + ) else ( + call:log_lw 10 + ) +goto:eof + +:install_packed_software + call:download_software %~1 %~2 zip + + call:draw_dss + + call:get_lw word %~3 + + set /p packed_software_path="%word% " + + :: remove chosen directory of user if it already exists (to prevent a window from popping up) + IF EXIST %packed_software_path% rmdir %packed_software_path% /s /q + + %ZU-app% x %temp-dir%\%~1-setup.zip -o%packed_software_path% + + call:draw_dss + + for /f "delims=" %%a in ('dir "%packed_software_path%\" /on /ad /b') do @set temp_dir=%%a + for /f "delims=" %%a in ('dir "%packed_software_path%\%temp_dir%\" /on /ad /b') do ( + xcopy %packed_software_path%\%temp_dir% %packed_software_path%\ /S /E + ) + + call:draw_dss + rmdir %packed_software_path%\%temp_dir%\ /s /q +goto:eof + +:user_yn_question + set /p result="%~1 [Y/N]: " + call:draw_dss + set "res=false" + if "%result%"=="N" (set "res=true") + if "%result%"=="n" (set "res=true") +goto:eof + +:strict_user_yn_question + set /p result="%~1 [Y/N]: " + call:draw_dss + set "res=unset" + if "%result%"=="N" (set "res=false") + if "%result%"=="n" (set "res=false") + if "%result%"=="Y" (set "res=true") + if "%result%"=="y" (set "res=true") + + if "%res%"=="unset" ( + call:log "Please answer the question with either Y or N..." + call:draw_dss + call:strict_user_yn_question "%~1" + ) +goto:eof + +:install_packed_software_o + call:get_lw word %~4 + call:user_yn_question "%word%" + if "%res%"=="true" ( + call:install_packed_software %~1 %~2 %~3 + ) else ( + call:log_lw 10 + ) +goto:eof + +:: ===================== USER - INTERACTION - FUNCTIONS ======================== + +:get_path_from_user + call:get_lw word %~1 + set /p user_tmp_path="%word% " + if not exist "%user_tmp_path%" ( + call:log_lw 43 + call:draw_dss + call:get_path_from_user %~1 %~2 + ) +goto:eof + +:get_empty_path_from_user + call:get_lw word %~1 + set /p user_tmp_path="%word% " + if exist "%user_tmp_path%" ( + call:log_lw 33 + call:draw_dss + call:get_path_from_user %~1 + ) +goto:eof + +:: ============================== FUNCTIONS ==================================== + +:log + echo %~1 + echo %~1 >> %install-log% +goto:eof + +:draw_ss + echo. + call:log "-----------------------------------------------------------------------------" + echo. +goto:eof + +:draw_dss + echo. + call:log "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" + echo. +goto:eof + +:draw_seperator + echo. + echo + + + + + + + + + echo. +goto:eof + +:log_ss + call:draw_ss + call:log "%~1" +goto:eof + +:log_sse + call:log "%~1" + call:draw_ss +goto:eof + +:log_ds + call:log_ss "%~1" + call:draw_ss +goto:eof + +:: ============================== IO FUNCTIONS ==================================== + +:open_txt_file + start "" notepad.exe %~1 +goto:eof + +:parse_aa_and_draw + set "file=%~1" + for /f "usebackq tokens=* delims=;" %%a in ("%file%") do ( + echo.%%a + ) +goto:eof + +:parse_file + set "file=%~1" + for /F "usebackq delims=" %%a in ("%file%") do ( + set /A %~3+=1 + call set %~2[%%%~3%%]=%%a + ) +goto:eof + +:parse_file_new + set /A %~3=0 + call:parse_file %~1 %~2 %~3 +goto:eof + +:: ============================== LOCALISATION FUNCTIONS ================ + +:get_lw + call:get_lw_id %~1 %lang_id% %~2 +goto:eof + +:get_lw_id + set /A count = %~2 * %wc% + %~3 + 1 + set "%~1=!languages[%count%]!" +goto:eof + +:log_lw + call:get_lw str %~1 + call:log "%str%" +goto:eof + +:log_lw_prfx + call:get_lw str %~1 + call:log "%~2%str%" +goto:eof + +:log_lw_ss + call:get_lw str %~1 + call:log_ss "%str%" +goto:eof + +:log_lw_ds + call:get_lw str %~1 + call:log_ds "%str%" +goto:eof + +:log_lw_sse + call:get_lw str %~1 + call:log_sse "%str%" +goto:eof + +:: ============================== WINDOWS FUNCTIONS ====================== + +:set_env_var + setx -m %~1 %~2 +goto:eof + +:: ============================== EOF ==================================== + +:END + exit +goto:eof + endlocal \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/recycle_bin/git-test.bat b/scripts/windows/coco-dev-setup/recycle_bin/git-test.bat old mode 100755 new mode 100644 similarity index 95% rename from scripts/windows/coco-dev-setup/batch/recycle_bin/git-test.bat rename to scripts/windows/coco-dev-setup/recycle_bin/git-test.bat index adee59c3e..4fc84019c --- a/scripts/windows/coco-dev-setup/batch/recycle_bin/git-test.bat +++ b/scripts/windows/coco-dev-setup/recycle_bin/git-test.bat @@ -1,50 +1,50 @@ -@echo off -setlocal EnableDelayedExpansion - -:: + Configuraton and installation checklist: -:: 1) cd codecombat -:: 2) npm install -g bower brunch nodemon sendwithus -:: 3) bower install -:: 4) gem install sass -:: 5) npm install -:: 6) brunch -w -:: Extra... @ Fail run npm install - -echo "Moving to your git repository..." -C: -cd C:\CodeCombat - -PAUSE - -SET "PATH=%PATH%;C:\Program Files\Nodejs" /M -setx -m git "C:\Program Files (x86)\Git\bin" -SET "PATH=%PATH%;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\cmd" /M - -PAUSE - -echo "Installing bower, brunch, nodemon and sendwithus..." -start cmd /k "npm install -g bower brunch nodemon sendwithus & exit" - -PAUSE - -echo "running npm install..." -start cmd /k "npm install & exit" - -PAUSE - -echo "Activating bower install..." -start cmd /k "bower install & PAUSE & exit" - -PAUSE - -echo "Installing sass via gem..." -start cmd /k "install sass & PAUSE & exit" - -PAUSE - -echo "comping repository via brunch..." -start cmd /k "brunch -w & exit" - -PAUSE - +@echo off +setlocal EnableDelayedExpansion + +:: + Configuraton and installation checklist: +:: 1) cd codecombat +:: 2) npm install -g bower brunch nodemon sendwithus +:: 3) bower install +:: 4) gem install sass +:: 5) npm install +:: 6) brunch -w +:: Extra... @ Fail run npm install + +echo "Moving to your git repository..." +C: +cd C:\CodeCombat + +PAUSE + +SET "PATH=%PATH%;C:\Program Files\Nodejs" /M +setx -m git "C:\Program Files (x86)\Git\bin" +SET "PATH=%PATH%;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\cmd" /M + +PAUSE + +echo "Installing bower, brunch, nodemon and sendwithus..." +start cmd /k "npm install -g bower brunch nodemon sendwithus & exit" + +PAUSE + +echo "running npm install..." +start cmd /k "npm install & exit" + +PAUSE + +echo "Activating bower install..." +start cmd /k "bower install & PAUSE & exit" + +PAUSE + +echo "Installing sass via gem..." +start cmd /k "install sass & PAUSE & exit" + +PAUSE + +echo "comping repository via brunch..." +start cmd /k "brunch -w & exit" + +PAUSE + endlocal \ No newline at end of file diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index 2f11b5dbf..f38885fd9 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -5,7 +5,7 @@ errors = require './errors' log = require 'winston' PROJECT = {original:1, name:1, version:1, description: 1, slug:1, kind: 1} -FETCH_LIMIT = 150 +FETCH_LIMIT = 200 module.exports = class Handler # subclasses should override these properties @@ -47,7 +47,9 @@ module.exports = class Handler sendNotFoundError: (res) -> errors.notFound(res) sendMethodNotAllowed: (res) -> errors.badMethod(res) sendBadInputError: (res, message) -> errors.badInput(res, message) - sendDatabaseError: (res, err) -> errors.serverError(res, 'Database error, ' + err) + sendDatabaseError: (res, err) -> + log.error "Database error, #{err}" + errors.serverError(res, 'Database error, ' + err) sendError: (res, code, message) -> errors.custom(res, code, message) @@ -110,8 +112,7 @@ module.exports = class Handler log.warn "Whoa, we haven't yet thought about public properties for User projection yet." else projection = {} - for field in req.query.project.split(',') - projection[field] = 1 + projection[field] = 1 for field in req.query.project.split(',') for filter in filters callback = (err, results) => return @sendDatabaseError(res, err) if err @@ -251,9 +252,13 @@ module.exports = class Handler return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless parentDocument? return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, parentDocument) + editableProperties = @getEditableProperties req, parentDocument updatedObject = parentDocument.toObject() - changes = _.pick req.body, @getEditableProperties(req, parentDocument) - _.extend updatedObject, changes + for prop in editableProperties + if (val = req.body[prop])? + updatedObject[prop] = val + else if updatedObject[prop]? + delete updatedObject[prop] delete updatedObject._id major = req.body.version?.major @@ -303,8 +308,12 @@ module.exports = class Handler done(err, document) saveChangesToDocument: (req, document, done) -> - for prop in @getEditableProperties(req, document) - document.set(prop, req.body[prop]) if req.body[prop]? + for prop in @getEditableProperties req, document + if (val = req.body[prop])? + document.set prop, val + # Hold on, gotta think about that one + #else if document.get(prop)? and req.method isnt 'PATCH' + # document.set prop, 'undefined' obj = document.toObject() # Hack to get saving of Users to work. Probably should replace these props with strings diff --git a/server/levels/sessions/level_session_handler.coffee b/server/levels/sessions/level_session_handler.coffee index d3ab07830..ca8680a17 100644 --- a/server/levels/sessions/level_session_handler.coffee +++ b/server/levels/sessions/level_session_handler.coffee @@ -1,5 +1,6 @@ LevelSession = require('./LevelSession') Handler = require('../../commons/Handler') +log = require 'winston' TIMEOUT = 1000 * 30 # no activity for 30 seconds means it's not active @@ -10,7 +11,11 @@ class LevelSessionHandler extends Handler 'chat', 'teamSpells', 'submitted', 'unsubscribed'] getByRelationship: (req, res, args...) -> - return @sendNotFoundError(res) unless args.length is 2 and args[1] is 'active' + return @getActiveSessions req, res if args.length is 2 and args[1] is 'active' + return @sendNotFoundError(res) + + getActiveSessions: (req, res) -> + return @sendUnauthorizedError(res) unless req.user.isAdmin() start = new Date() start = new Date(start.getTime() - TIMEOUT) query = @modelClass.find({'changed': {$gt: start}}) diff --git a/server/queues/scoring.coffee b/server/queues/scoring.coffee index 327abf949..cd4670708 100644 --- a/server/queues/scoring.coffee +++ b/server/queues/scoring.coffee @@ -43,17 +43,17 @@ module.exports.addPairwiseTaskToQueueFromRequest = (req, res) -> addPairwiseTaskToQueue = (taskPair, cb) -> LevelSession.findOne(_id:taskPair[0]).lean().exec (err, firstSession) => - if err? then return cb err, false + if err? then return cb err LevelSession.find(_id:taskPair[1]).exec (err, secondSession) => - if err? then return cb err, false + if err? then return cb err try taskPairs = generateTaskPairs(secondSession, firstSession) catch e - if e then return cb e, false + if e then return cb e sendEachTaskPairToTheQueue taskPairs, (taskPairError) -> - if taskPairError? then return cb taskPairError,false - cb null, true + if taskPairError? then return cb taskPairError + cb null module.exports.resimulateAllSessions = (req, res) -> unless isUserAdmin req then return errors.unauthorized res, "Unauthorized. Even if you are authorized, you shouldn't do this" @@ -68,8 +68,8 @@ module.exports.resimulateAllSessions = (req, res) -> majorVersion: levelMajorVersion query = LevelSession - .find(findParameters) - .lean() + .find(findParameters) + .lean() query.exec (err, result) -> if err? then return errors.serverError res, err @@ -100,14 +100,12 @@ resimulateSession = (originalLevelID, levelMajorVersion, session, cb) => cb null - - module.exports.createNewTask = (req, res) -> requestSessionID = req.body.session originalLevelID = req.body.originalLevelID currentLevelID = req.body.levelID requestLevelMajorVersion = parseInt(req.body.levelMajorVersion) - + async.waterfall [ validatePermissions.bind(@,req,requestSessionID) fetchAndVerifyLevelType.bind(@,currentLevelID) @@ -115,12 +113,12 @@ module.exports.createNewTask = (req, res) -> updateSessionToSubmit fetchInitialSessionsToRankAgainst.bind(@, requestLevelMajorVersion, originalLevelID) generateAndSendTaskPairsToTheQueue - + ], (err, successMessageObject) -> if err? then return errors.serverError res, "There was an error submitting the game to the queue:#{err}" sendResponseObject req, res, successMessageObject - + validatePermissions = (req,sessionID, callback) -> if isUserAnonymous req then return callback "You are unauthorized to submit that game to the simulator" if isUserAdmin req then return callback null @@ -136,7 +134,7 @@ validatePermissions = (req,sessionID, callback) -> query.exec (err, retrievedSession) -> if err? then return callback err userHasPermissionToSubmitCode = retrievedSession.creator is req.user?.id and - not _.isEqual(retrievedSession.code, retrievedSession.submittedCode) + not _.isEqual(retrievedSession.code, retrievedSession.submittedCode) unless userHasPermissionToSubmitCode then return callback "You are unauthorized to submit that game to the simulator" callback null @@ -209,7 +207,7 @@ generateAndSendTaskPairsToTheQueue = (sessionToRankAgainst,submittedSession, cal sendEachTaskPairToTheQueue taskPairs, (taskPairError) -> if taskPairError? then return callback taskPairError callback null, {"message": "All task pairs were succesfully sent to the queue"} - + module.exports.dispatchTaskToConsumer = (req, res) -> async.waterfall [ @@ -221,7 +219,7 @@ module.exports.dispatchTaskToConsumer = (req, res) -> constructTaskLogObject.bind(@, getUserIDFromRequest(req)) processTaskObject ], (err, taskObjectToSend) -> - if err? + if err? if typeof err is "string" and err.indexOf "No more games in the queue" isnt -1 res.send(204, "No games to score.") return res.end() @@ -229,16 +227,16 @@ module.exports.dispatchTaskToConsumer = (req, res) -> return errors.serverError res, "There was an error dispatching the task: #{err}" sendResponseObject req, res, taskObjectToSend - - + + checkSimulationPermissions = (req, cb) -> - if isUserAnonymous req + if isUserAnonymous req cb "You need to be logged in to simulate games" else cb null - + receiveMessageFromSimulationQueue = (cb) -> - scoringTaskQueue.receiveMessage (err, message) -> + scoringTaskQueue.receiveMessage (err, message) -> if err? then return cb "No more games in the queue, error:#{err}" if messageIsInvalid(message) then return cb "Message received from queue is invalid" cb null, message @@ -292,90 +290,190 @@ processTaskObject = (taskObject,taskLogObject, message, cb) -> cb null, taskObject getSessionInformation = (sessionIDString, callback) -> - findParameters = + findParameters = _id: sessionIDString selectString = 'submitDate team submittedCode teamSpells levelID creator creatorName' query = LevelSession - .findOne(findParameters) - .select(selectString) - .lean() - + .findOne(findParameters) + .select(selectString) + .lean() + query.exec (err, session) -> if err? then return callback err, {"error":"There was an error retrieving the session."} callback null, session module.exports.processTaskResult = (req, res) -> - clientResponseObject = verifyClientResponse req.body, res + async.waterfall [ + verifyClientResponse.bind(@,req.body) + fetchTaskLog.bind(@) + checkTaskLog.bind(@) + deleteQueueMessage.bind(@) + fetchLevelSession.bind(@) + checkSubmissionDate.bind(@) + logTaskComputation.bind(@) + updateSessions.bind(@) + indexNewScoreArray.bind(@) + addMatchToSessions.bind(@) + updateUserSimulationCounts.bind(@, req.user._id) + determineIfSessionShouldContinueAndUpdateLog.bind(@) + findNearestBetterSessionID.bind(@) + addNewSessionsToQueue.bind(@) + ], (err, results) -> + if err is "shouldn't continue" + sendResponseObject req, res, {"message":"The scores were updated successfully, person lost so no more games are being inserted!"} + else if err is "no session was found" + sendResponseObject req, res, {"message":"There were no more games to rank (game is at top)!"} + else if err? + errors.serverError res, "There was an error:#{err}" + else + sendResponseObject req, res, {"message":"The scores were updated successfully and more games were sent to the queue!"} - return unless clientResponseObject? - TaskLog.findOne {_id: clientResponseObject.taskID}, (err, taskLog) -> - return errors.serverError res, "There was an error retrieiving the task log object" if err? +verifyClientResponse = (responseObject, callback) -> + #TODO: better verification + unless typeof responseObject is "object" + callback "The response to that query is required to be a JSON object." + else + @clientResponseObject = responseObject + log.info "Verified client response!" + callback null, responseObject - taskLogJSON = taskLog.toObject() +fetchTaskLog = (responseObject, callback) -> + findParameters = + _id: responseObject.taskID + query = TaskLog + .findOne(findParameters) + query.exec (err, taskLog) => + @taskLog = taskLog + log.info "Fetched task log!" + callback err, taskLog.toObject() - return errors.badInput res, "That computational task has already been performed" if taskLogJSON.calculationTimeMS - return handleTimedOutTask req, res, clientResponseObject if hasTaskTimedOut taskLogJSON.sentDate +checkTaskLog = (taskLog, callback) -> + if taskLog.calculationTimeMS then return callback "That computational task has already been performed" + if hasTaskTimedOut taskLog.sentDate then return callback "The task has timed out" + log.info "Checked task log" + callback null - scoringTaskQueue.deleteMessage clientResponseObject.receiptHandle, (err) -> - console.log "Deleted message." - if err? then return errors.badInput res, "The queue message is already back in the queue, rejecting results." +deleteQueueMessage = (callback) -> + scoringTaskQueue.deleteMessage @clientResponseObject.receiptHandle, (err) -> + log.info "Deleted queue message" + callback err - LevelSession.findOne(_id: clientResponseObject.originalSessionID).lean().exec (err, levelSession) -> - if err? then return errors.serverError res, "There was a problem finding the level session:#{err}" - - supposedSubmissionDate = new Date(clientResponseObject.sessions[0].submitDate) - - if Number(supposedSubmissionDate) isnt Number(levelSession.submitDate) - return sendResponseObject req, res, {"message":"The game has been resubmitted. Removing from queue..."} - - logTaskComputation clientResponseObject, taskLog, (logErr) -> - if logErr? then return errors.serverError res, "There as a problem logging the task computation: #{logErr}" - - updateSessions clientResponseObject, (updateError, newScoreArray) -> - if updateError? then return errors.serverError res, "There was an error updating the scores.#{updateError}" - - newScoresObject = _.indexBy newScoreArray, 'id' - - addMatchToSessions clientResponseObject, newScoresObject, (err, data) -> - if err? then return errors.serverError res, "There was an error updating the sessions with the match! #{JSON.stringify err}" - - incrementUserSimulationCount req.user._id, 'simulatedBy' - incrementUserSimulationCount levelSession.creator, 'simulatedFor' - - originalSessionID = clientResponseObject.originalSessionID - originalSessionTeam = clientResponseObject.originalSessionTeam - originalSessionRank = parseInt clientResponseObject.originalSessionRank - - determineIfSessionShouldContinueAndUpdateLog originalSessionID, originalSessionRank, (err, sessionShouldContinue) -> - if err? then return errors.serverError res, "There was an error determining if the session should continue, #{err}" - - if sessionShouldContinue - opposingTeam = calculateOpposingTeam(originalSessionTeam) - opponentID = _.pull(_.keys(newScoresObject), originalSessionID) - sessionNewScore = newScoresObject[originalSessionID].totalScore - opponentNewScore = newScoresObject[opponentID].totalScore - - levelOriginalID = levelSession.level.original - levelOriginalMajorVersion = levelSession.level.majorVersion - findNearestBetterSessionID levelOriginalID, levelOriginalMajorVersion, originalSessionID, sessionNewScore, opponentNewScore, opponentID, opposingTeam, (err, opponentSessionID) -> - if err? then return errors.serverError res, "There was an error finding the nearest sessionID!" - if opponentSessionID - addPairwiseTaskToQueue [originalSessionID, opponentSessionID], (err, success) -> - if err? then return errors.serverError res, "There was an error sending the pairwise tasks to the queue!" - sendResponseObject req, res, {"message":"The scores were updated successfully and more games were sent to the queue!"} - else - LevelSession.update {_id: originalSessionID}, {isRanking: false}, {multi: false}, (err, affected) -> - if err? then return errors.serverError res, "There was an error marking the victorious session as not being ranked." - return sendResponseObject req, res, {"message":"There were no more games to rank (game is at top)!"} - else - console.log "Player lost, achieved rank #{originalSessionRank}" - LevelSession.update {_id: originalSessionID}, {isRanking: false}, {multi: false}, (err, affected) -> - if err? then return errors.serverError res, "There was an error marking the completed session as not being ranked." - sendResponseObject req, res, {"message":"The scores were updated successfully, person lost so no more games are being inserted!"} +fetchLevelSession = (callback) -> + findParameters = + _id: @clientResponseObject.originalSessionID + query = LevelSession + .findOne(findParameters) + .lean() + query.exec (err, session) => + @levelSession = session + log.info "Fetched level session" + callback err -determineIfSessionShouldContinueAndUpdateLog = (sessionID, sessionRank, cb) -> +checkSubmissionDate = (callback) -> + supposedSubmissionDate = new Date(@clientResponseObject.sessions[0].submitDate) + if Number(supposedSubmissionDate) isnt Number(@levelSession.submitDate) + callback "The game has been resubmitted. Removing from queue..." + else + log.info "Checked submission date" + callback null + +logTaskComputation = (callback) -> + @taskLog.set('calculationTimeMS',@clientResponseObject.calculationTimeMS) + @taskLog.set('sessions') + @taskLog.calculationTimeMS = @clientResponseObject.calculationTimeMS + @taskLog.sessions = @clientResponseObject.sessions + @taskLog.save (err, saved) -> + log.info "Logged task computation" + callback err + +updateSessions = (callback) -> + sessionIDs = _.pluck @clientResponseObject.sessions, 'sessionID' + + async.map sessionIDs, retrieveOldSessionData, (err, oldScores) => + if err? then callback err, {"error": "There was an error retrieving the old scores"} + + oldScoreArray = _.toArray putRankingFromMetricsIntoScoreObject @clientResponseObject, oldScores + newScoreArray = bayes.updatePlayerSkills oldScoreArray + saveNewScoresToDatabase newScoreArray, callback + + +saveNewScoresToDatabase = (newScoreArray, callback) -> + async.eachSeries newScoreArray, updateScoreInSession, (err) -> + log.info "Saved new scores to database" + callback err,newScoreArray + + +updateScoreInSession = (scoreObject,callback) -> + LevelSession.findOne {"_id": scoreObject.id}, (err, session) -> + if err? then return callback err, null + + session = session.toObject() + newTotalScore = scoreObject.meanStrength - 1.8 * scoreObject.standardDeviation + scoreHistoryAddition = [Date.now(), newTotalScore] + updateObject = + meanStrength: scoreObject.meanStrength + standardDeviation: scoreObject.standardDeviation + totalScore: newTotalScore + $push: {scoreHistory: {$each: [scoreHistoryAddition], $slice: -1000}} + + LevelSession.update {"_id": scoreObject.id}, updateObject, callback + log.info "New total score for session #{scoreObject.id} is #{updateObject.totalScore}" + +indexNewScoreArray = (newScoreArray, callback) -> + newScoresObject = _.indexBy newScoreArray, 'id' + @newScoresObject = newScoresObject + callback null, newScoresObject + +addMatchToSessions = (newScoreObject, callback) -> + matchObject = {} + matchObject.date = new Date() + matchObject.opponents = {} + for session in @clientResponseObject.sessions + sessionID = session.sessionID + matchObject.opponents[sessionID] = {} + matchObject.opponents[sessionID].sessionID = sessionID + matchObject.opponents[sessionID].userID = session.creator + matchObject.opponents[sessionID].metrics = {} + matchObject.opponents[sessionID].metrics.rank = Number(newScoreObject[sessionID].gameRanking) + + log.info "Match object computed, result: #{matchObject}" + log.info "Writing match object to database..." + #use bind with async to do the writes + sessionIDs = _.pluck @clientResponseObject.sessions, 'sessionID' + async.each sessionIDs, updateMatchesInSession.bind(@,matchObject), (err) -> callback err + +updateMatchesInSession = (matchObject, sessionID, callback) -> + currentMatchObject = {} + currentMatchObject.date = matchObject.date + currentMatchObject.metrics = matchObject.opponents[sessionID].metrics + opponentsClone = _.cloneDeep matchObject.opponents + opponentsClone = _.omit opponentsClone, sessionID + opponentsArray = _.toArray opponentsClone + currentMatchObject.opponents = opponentsArray + + sessionUpdateObject = + $push: {matches: {$each: [currentMatchObject], $slice: -200}} + log.info "Updating session #{sessionID}" + LevelSession.update {"_id":sessionID}, sessionUpdateObject, callback + +updateUserSimulationCounts = (reqUserID,callback) -> + incrementUserSimulationCount reqUserID, 'simulatedBy', (err) => + if err? then return callback err + incrementUserSimulationCount @levelSession.creator, 'simulatedFor', callback + +incrementUserSimulationCount = (userID, type, callback) => + inc = {} + inc[type] = 1 + User.update {_id: userID}, {$inc: inc}, (err, affected) -> + log.error "Error incrementing #{type} for #{userID}: #{err}" if err + callback err + +determineIfSessionShouldContinueAndUpdateLog = (cb) -> + sessionID = @clientResponseObject.originalSessionID + sessionRank = parseInt @clientResponseObject.originalSessionRank + queryParameters = _id: sessionID @@ -394,18 +492,26 @@ determineIfSessionShouldContinueAndUpdateLog = (sessionID, sessionRank, cb) -> totalNumberOfGamesPlayed = updatedSession.numberOfWinsAndTies + updatedSession.numberOfLosses if totalNumberOfGamesPlayed < 10 console.log "Number of games played is less than 10, continuing..." - cb null, true + cb null else ratio = (updatedSession.numberOfLosses) / (totalNumberOfGamesPlayed) if ratio > 0.33 - cb null, false + cb "shouldn't continue" console.log "Ratio(#{ratio}) is bad, ending simulation" else console.log "Ratio(#{ratio}) is good, so continuing simulations" - cb null, true + cb null -findNearestBetterSessionID = (levelOriginalID, levelMajorVersion, sessionID, sessionTotalScore, opponentSessionTotalScore, opponentSessionID, opposingTeam, cb) -> +findNearestBetterSessionID = (cb) -> + levelOriginalID = @levelSession.level.original + levelMajorVersion = @levelSession.level.majorVersion + sessionID = @clientResponseObject.originalSessionID + sessionTotalScore = @newScoresObject[sessionID].totalScore + opponentSessionID = _.pull(_.keys(@newScoresObject), sessionID) + opponentSessionTotalScore = @newScoresObject[opponentSessionID].totalScore + opposingTeam = calculateOpposingTeam(@clientResponseObject.originalSessionTeam) + retrieveAllOpponentSessionIDs sessionID, (err, opponentSessionIDs) -> if err? then return cb err, null @@ -434,23 +540,23 @@ findNearestBetterSessionID = (levelOriginalID, levelMajorVersion, sessionID, ses selectString = '_id totalScore' query = LevelSession.findOne(queryParameters) - .sort(sortParameters) - .limit(limitNumber) - .select(selectString) - .lean() + .sort(sortParameters) + .limit(limitNumber) + .select(selectString) + .lean() console.log "Finding session with score near #{opponentSessionTotalScore}" query.exec (err, session) -> if err? then return cb err, session - unless session then return cb err, null + unless session then return cb "no session was found" console.log "Found session with score #{session.totalScore}" cb err, session._id retrieveAllOpponentSessionIDs = (sessionID, cb) -> query = LevelSession.findOne({"_id":sessionID}) - .select('matches.opponents.sessionID matches.date submitDate') - .lean() + .select('matches.opponents.sessionID matches.date submitDate') + .lean() query.exec (err, session) -> if err? then return cb err, null opponentSessionIDs = (match.opponents[0].sessionID for match in session.matches when match.date > session.submitDate) @@ -462,56 +568,15 @@ calculateOpposingTeam = (sessionTeam) -> opposingTeams = _.pull teams, sessionTeam return opposingTeams[0] -incrementUserSimulationCount = (userID, type) -> - inc = {} - inc[type] = 1 - User.update {_id: userID}, {$inc: inc}, (err, affected) -> - log.error "Error incrementing #{type} for #{userID}: #{err}" if err - - -addMatchToSessions = (clientResponseObject, newScoreObject, callback) -> - matchObject = {} - matchObject.date = new Date() - matchObject.opponents = {} - for session in clientResponseObject.sessions - sessionID = session.sessionID - matchObject.opponents[sessionID] = {} - matchObject.opponents[sessionID].sessionID = sessionID - matchObject.opponents[sessionID].userID = session.creator - matchObject.opponents[sessionID].metrics = {} - matchObject.opponents[sessionID].metrics.rank = Number(newScoreObject[sessionID].gameRanking) - - log.info "Match object computed, result: #{matchObject}" - log.info "Writing match object to database..." - #use bind with async to do the writes - sessionIDs = _.pluck clientResponseObject.sessions, 'sessionID' - async.each sessionIDs, updateMatchesInSession.bind(@,matchObject), (err) -> callback err, null - -updateMatchesInSession = (matchObject, sessionID, callback) -> - currentMatchObject = {} - currentMatchObject.date = matchObject.date - currentMatchObject.metrics = matchObject.opponents[sessionID].metrics - opponentsClone = _.cloneDeep matchObject.opponents - opponentsClone = _.omit opponentsClone, sessionID - opponentsArray = _.toArray opponentsClone - currentMatchObject.opponents = opponentsArray - - sessionUpdateObject = - $push: {matches: {$each: [currentMatchObject], $slice: -200}} - log.info "Updating session #{sessionID}" - LevelSession.update {"_id":sessionID}, sessionUpdateObject, callback - +addNewSessionsToQueue = (sessionID, callback) -> + sessions = [@clientResponseObject.originalSessionID, sessionID] + addPairwiseTaskToQueue sessions, callback messageIsInvalid = (message) -> (not message?) or message.isEmpty() sendEachTaskPairToTheQueue = (taskPairs, callback) -> async.each taskPairs, sendTaskPairToQueue, callback - - - - - generateTaskPairs = (submittedSessions, sessionToScore) -> taskPairs = [] for session in submittedSessions @@ -532,10 +597,6 @@ isUserAnonymous = (req) -> if req.user? then return req.user.get('anonymous') el isUserAdmin = (req) -> return Boolean(req.user?.isAdmin()) - - - - sendResponseObject = (req,res,object) -> res.setHeader('Content-Type', 'application/json') res.send(object) @@ -545,51 +606,6 @@ hasTaskTimedOut = (taskSentTimestamp) -> taskSentTimestamp + scoringTaskTimeoutI handleTimedOutTask = (req, res, taskBody) -> errors.clientTimeout res, "The results weren't provided within the timeout" -verifyClientResponse = (responseObject, res) -> - unless typeof responseObject is "object" - errors.badInput res, "The response to that query is required to be a JSON object." - null - else - responseObject - -logTaskComputation = (taskObject,taskLogObject, callback) -> - taskLogObject.calculationTimeMS = taskObject.calculationTimeMS - taskLogObject.sessions = taskObject.sessions - taskLogObject.save callback - - -updateSessions = (taskObject,callback) -> - sessionIDs = _.pluck taskObject.sessions, 'sessionID' - - async.map sessionIDs, retrieveOldSessionData, (err, oldScores) -> - if err? then callback err, {"error": "There was an error retrieving the old scores"} - - oldScoreArray = _.toArray putRankingFromMetricsIntoScoreObject taskObject, oldScores - newScoreArray = bayes.updatePlayerSkills oldScoreArray - saveNewScoresToDatabase newScoreArray, callback - - -saveNewScoresToDatabase = (newScoreArray, callback) -> - async.eachSeries newScoreArray, updateScoreInSession, (err) -> callback err,newScoreArray - - -updateScoreInSession = (scoreObject,callback) -> - LevelSession.findOne {"_id": scoreObject.id}, (err, session) -> - if err? then return callback err, null - - session = session.toObject() - newTotalScore = scoreObject.meanStrength - 1.8 * scoreObject.standardDeviation - scoreHistoryAddition = [Date.now(), newTotalScore] - updateObject = - meanStrength: scoreObject.meanStrength - standardDeviation: scoreObject.standardDeviation - totalScore: newTotalScore - $push: {scoreHistory: {$each: [scoreHistoryAddition], $slice: -1000}} - - LevelSession.update {"_id": scoreObject.id}, updateObject, callback - log.info "New total score for session #{scoreObject.id} is #{updateObject.totalScore}" - - putRankingFromMetricsIntoScoreObject = (taskObject,scoreObject) -> scoreObject = _.indexBy scoreObject, 'id' scoreObject[session.sessionID].gameRanking = session.metrics.rank for session in taskObject.sessions diff --git a/server/routes/auth.coffee b/server/routes/auth.coffee index dcb8ea12a..76612e2e0 100644 --- a/server/routes/auth.coffee +++ b/server/routes/auth.coffee @@ -71,9 +71,7 @@ module.exports.setup = (app) -> if req.user sendSelf(req, res) else - user = new User({anonymous:true}) - user.set 'testGroupNumber', Math.floor(Math.random() * 256) # also in app/lib/auth - user.set 'preferredLanguage', languages.languageCodeFromAcceptedLanguages req.acceptedLanguages + user = makeNewUser(req) makeNext = (req, res) -> -> sendSelf(req, res) next = makeNext(req, res) loginUser(req, res, user, false, next) @@ -84,21 +82,6 @@ module.exports.setup = (app) -> res.send(UserHandler.formatEntity(req, req.user)) res.end() - loginUser = (req, res, user, send=true, next=null) -> - user.save((err) -> - if err - return @sendDatabaseError(res, err) - - req.logIn(user, (err) -> - if err - return @sendDatabaseError(res, err) - - if send - return @sendSuccess(res, user) - next() if next - ) - ) - app.post('/auth/logout', (req, res) -> req.logout() res.end() @@ -155,6 +138,26 @@ module.exports.setup = (app) -> res.send "Unsubscribed #{req.query.email} from all CodeCombat emails. Sorry to see you go! <p><a href='/account/settings'>Account settings</a></p>" res.end() +module.exports.loginUser = loginUser = (req, res, user, send=true, next=null) -> + user.save((err) -> + if err + return @sendDatabaseError(res, err) + + req.logIn(user, (err) -> + if err + return @sendDatabaseError(res, err) + + if send + return @sendSuccess(res, user) + next() if next + ) + ) + +module.exports.makeNewUser = makeNewUser = (req) -> + user = new User({anonymous:true}) + user.set 'testGroupNumber', Math.floor(Math.random() * 256) # also in app/lib/auth + user.set 'preferredLanguage', languages.languageCodeFromAcceptedLanguages req.acceptedLanguages + createMailOptions = (receiver, password) -> # TODO: use email templates here options = @@ -163,4 +166,4 @@ createMailOptions = (receiver, password) -> replyTo: config.mail.username subject: "[CodeCombat] Password Reset" text: "You can log into your account with: #{password}" -# + diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index 174445436..168f10d91 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -7,6 +7,8 @@ mongoose = require 'mongoose' config = require '../../server_config' errors = require '../commons/errors' async = require 'async' +log = require 'winston' +LevelSession = require('../levels/sessions/LevelSession') serverProperties = ['passwordHash', 'emailLower', 'nameLower', 'passwordReset'] privateProperties = [ @@ -55,7 +57,8 @@ UserHandler = class UserHandler extends Handler fbAT = req.query.facebookAccessToken return callback(null, req, user) unless fbID and fbAT url = "https://graph.facebook.com/me?access_token=#{fbAT}" - request(url, (error, response, body) -> + request(url, (err, response, body) -> + log.warn "Error grabbing FB token: #{err}" if err body = JSON.parse(body) emailsMatch = req.body.email is body.email return callback(res:'Invalid Facebook Access Token.', code:422) unless emailsMatch @@ -68,7 +71,8 @@ UserHandler = class UserHandler extends Handler gpAT = req.query.gplusAccessToken return callback(null, req, user) unless gpID and gpAT url = "https://www.googleapis.com/oauth2/v2/userinfo?access_token=#{gpAT}" - request(url, (error, response, body) -> + request(url, (err, response, body) -> + log.warn "Error grabbing G+ token: #{err}" if err body = JSON.parse(body) emailsMatch = req.body.email is body.email return callback(res:'Invalid G+ Access Token.', code:422) unless emailsMatch @@ -81,6 +85,7 @@ UserHandler = class UserHandler extends Handler emailLower = req.body.email.toLowerCase() return callback(null, req, user) if emailLower is user.get('emailLower') User.findOne({emailLower:emailLower}).exec (err, otherUser) -> + log.error "Database error setting user email: #{err}" if err return callback(res:'Database error.', code:500) if err if (req.query.gplusID or req.query.facebookID) and otherUser @@ -100,6 +105,7 @@ UserHandler = class UserHandler extends Handler nameLower = req.body.name?.toLowerCase() return callback(null, req, user) if nameLower is user.get('nameLower') User.findOne({nameLower:nameLower}).exec (err, otherUser) -> + log.error "Database error setting user name: #{err}" if err return callback(res:'Database error.', code:500) if err r = {message:'is already used by another account', property:'name'} return callback({res:r, code:409}) if otherUser @@ -164,6 +170,7 @@ UserHandler = class UserHandler extends Handler return @avatar(req, res, args[0]) if args[1] is 'avatar' return @getNamesByIds(req, res) if args[1] is 'names' return @nameToID(req, res, args[0]) if args[1] is 'nameToID' + return @getLevelSessions(req, res, args[0]) if args[1] is 'level.sessions' return @sendNotFoundError(res) agreeToCLA: (req, res) -> @@ -189,4 +196,17 @@ UserHandler = class UserHandler extends Handler res.redirect(document?.get('photoURL') or '/images/generic-wizard-icon.png') res.end() + getLevelSessions: (req, res, userID) -> + return @sendUnauthorizedError(res) unless req.user._id+'' is userID or req.user.isAdmin() + query = {'creator': userID} + projection = null + if req.query.project + projection = {} + projection[field] = 1 for field in req.query.project.split(',') + LevelSession.find(query).select(projection).exec (err, documents) => + return @sendDatabaseError(res, err) if err + documents = (@formatEntity(req, doc) for doc in documents) + @sendSuccess(res, documents) + + module.exports = new UserHandler() diff --git a/server/users/user_schema.coffee b/server/users/user_schema.coffee index c6399576f..18d526de5 100644 --- a/server/users/user_schema.coffee +++ b/server/users/user_schema.coffee @@ -47,6 +47,7 @@ UserSchema = c.object {}, colorConfig: c.object {additionalProperties: c.colorConfig()} aceConfig: c.object {}, + language: {type: 'string', 'default': 'javascript', 'enum': ['javascript', 'coffeescript']} keyBindings: {type: 'string', 'default': 'default', 'enum': ['default', 'vim', 'emacs']} invisibles: {type: 'boolean', 'default': false} indentGuides: {type: 'boolean', 'default': false} diff --git a/server_setup.coffee b/server_setup.coffee index e0a72f4dc..c06482a85 100644 --- a/server_setup.coffee +++ b/server_setup.coffee @@ -9,6 +9,8 @@ baseRoute = require './server/routes/base' user = require './server/users/user_handler' logging = require './server/commons/logging' config = require './server_config' +auth = require './server/routes/auth' +UserHandler = require('./server/users/user_handler') ###Middleware setup functions implementation### # 2014-03-03: Try not using this and see if it's still a problem @@ -85,7 +87,19 @@ exports.setupMiddleware = (app) -> setupFallbackRouteToIndex = (app) -> app.all '*', (req, res) -> - res.sendfile path.join(__dirname, 'public', 'index.html') + if req.user + sendMain(req, res) + else + user = auth.makeNewUser(req) + makeNext = (req, res) -> -> sendMain(req, res) + next = makeNext(req, res) + auth.loginUser(req, res, user, false, next) + +sendMain = (req, res) -> + fs.readFile path.join(__dirname, 'public', 'main.html'), 'utf8', (err,data) -> + # insert the user object directly into the html so the application can have it immediately + data = data.replace('"userObjectTag"', JSON.stringify(UserHandler.formatEntity(req, req.user))) + res.send data setupFacebookCrossDomainCommunicationRoute = (app) -> app.get '/channel.html', (req, res) -> From 6175a2af220779bbc7979acfd04ef59fcd5da76a Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Mon, 7 Apr 2014 19:15:49 +0400 Subject: [PATCH 03/79] Update article model --- server/articles/article_schema.coffee | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/server/articles/article_schema.coffee b/server/articles/article_schema.coffee index 1fd4769f7..5b488f65b 100644 --- a/server/articles/article_schema.coffee +++ b/server/articles/article_schema.coffee @@ -1,13 +1 @@ -c = require '../commons/schemas' - -ArticleSchema = c.object() -c.extendNamedProperties ArticleSchema # name first - -ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } -ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['body'] } - -c.extendBasicProperties(ArticleSchema, 'article') -c.extendSearchableProperties(ArticleSchema) -c.extendVersionedProperties(ArticleSchema, 'article') - -module.exports = ArticleSchema +c = require '../commons/schemas' ArticleSchema = c.object() c.extendNamedProperties ArticleSchema # name first ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['name', 'body'] } c.extendBasicProperties(ArticleSchema, 'article') c.extendSearchableProperties(ArticleSchema) c.extendVersionedProperties(ArticleSchema, 'article') module.exports = ArticleSchema \ No newline at end of file From 9dab4b39e611f7e2250903be44f8c32255eacf9e Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Mon, 7 Apr 2014 19:46:01 +0400 Subject: [PATCH 04/79] Update ru.coffee --- app/locale/ru.coffee | 50 ++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 45c920faa..baaf8a6fa 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -12,7 +12,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi manual: "Вручную" fork: "Форк" play: "Играть" -# retry: "Retry" + retry: "Повторить" units: second: "секунда" @@ -327,7 +327,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi article_search_title: "Искать статьи" thang_search_title: "Искать типы объектов" level_search_title: "Искать уровни" -# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + read_only_warning: "Примечание: вы не можете сохранять здесь любые правки, потому что вы не вошли как администратор." article: edit_btn_preview: "Предпросмотр" @@ -564,7 +564,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ" games_simulated_by: "Игры, симулированные вами:" games_simulated_for: "Игры, симулированные за вас:" - leaderboard: "Таблица лидеров" + leaderboard: "таблица лидеров" battle_as: "Сразиться за " summary_your: "Ваши " summary_matches: "матчи - " @@ -603,26 +603,26 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." so_ready: "Я полностью готов(а) для этого" -# loading_error: -# could_not_load: "Error loading from server" -# connection_failure: "Connection failed." -# unauthorized: "You need to be signed in. Do you have cookies disabled?" -# forbidden: "You do not have the permissions." -# not_found: "Not found." -# not_allowed: "Method not allowed." -# timeout: "Server timeout." -# conflict: "Resource conflict." -# bad_input: "Bad input." -# server_error: "Server error." -# unknown: "Unknown error." + loading_error: + could_not_load: "Ошибка загрузки с сервера" + connection_failure: "Соединение прервано." + unauthorized: "Вам необходимо авторизоваться. У вас отключены cookie?" + forbidden: "У вас нет прав доступа." + not_found: "Не найдено." + not_allowed: "Метод не поддерживается." + timeout: "Тайм-аут сервера." + conflict: "Конфликт ресурсов." + bad_input: "Неверные входные данные." + server_error: "Ошибка сервера." + unknown: "Неизвестная ошибка." -# resources: -# your_sessions: "Your Sessions" -# level: "Level" -# social_network_apis: "Social Network APIs" -# facebook_status: "Facebook Status" -# facebook_friends: "Facebook Friends" -# facebook_friend_sessions: "Facebook Friend Sessions" -# gplus_friends: "G+ Friends" -# gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" + resources: + your_sessions: "Ваши сессии" + level: "Уровень" + social_network_apis: "API социальных сетей" + facebook_status: "Статус Facebook" + facebook_friends: "Друзья Facebook" + facebook_friend_sessions: "Сессии друзей Facebook" + gplus_friends: "Друзья G+" + gplus_friend_sessions: "Сессии друзей G+" + leaderboard: "таблица лидеров" From 630c44135a9ce2ed9fbc9a2d849297f09c6d8935 Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Mon, 7 Apr 2014 21:44:47 +0400 Subject: [PATCH 05/79] Work on wizard settings --- app/locale/en.coffee | 1261 ++++++++++---------- app/locale/ru.coffee | 1259 +++++++++---------- app/templates/account/wizard_settings.jade | 6 +- server/articles/article_schema.coffee | 14 +- 4 files changed, 1279 insertions(+), 1261 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 7d35d42aa..0d61ad01e 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -1,629 +1,632 @@ -module.exports = nativeDescription: "English", englishDescription: "English", translation: - common: - loading: "Loading..." - saving: "Saving..." - sending: "Sending..." - cancel: "Cancel" - save: "Save" - create: "Create" - delay_1_sec: "1 second" - delay_3_sec: "3 seconds" - delay_5_sec: "5 seconds" - manual: "Manual" - fork: "Fork" - play: "Play" - retry: "Retry" - - units: - second: "second" - seconds: "seconds" - minute: "minute" - minutes: "minutes" - hour: "hour" - hours: "hours" - - modal: - close: "Close" - okay: "Okay" - - not_found: - page_not_found: "Page not found" - - nav: - play: "Levels" - editor: "Editor" - blog: "Blog" - forum: "Forum" - admin: "Admin" - home: "Home" - contribute: "Contribute" - legal: "Legal" - about: "About" - contact: "Contact" - twitter_follow: "Follow" - employers: "Employers" - - versions: - save_version_title: "Save New Version" - new_major_version: "New Major Version" - cla_prefix: "To save changes, first you must agree to our" - cla_url: "CLA" - cla_suffix: "." - cla_agree: "I AGREE" - - login: - sign_up: "Create Account" - log_in: "Log In" - logging_in: "Logging In" - log_out: "Log Out" - recover: "recover account" - - recover: - recover_account_title: "Recover Account" - send_password: "Send Recovery Password" - - signup: - create_account_title: "Create Account to Save Progress" - description: "It's free. Just need a couple things and you'll be good to go:" - email_announcements: "Receive announcements by email" - coppa: "13+ or non-USA " - coppa_why: "(Why?)" - creating: "Creating Account..." - sign_up: "Sign Up" - log_in: "log in with password" - - home: - slogan: "Learn to Code JavaScript by Playing a Game" - no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!" - no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" - play: "Play" - old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" - old_browser_suffix: "You can try anyway, but it probably won't work." - campaign: "Campaign" - for_beginners: "For Beginners" - multiplayer: "Multiplayer" - for_developers: "For Developers" - - play: - choose_your_level: "Choose Your Level" - adventurer_prefix: "You can jump to any level below, or discuss the levels on " - adventurer_forum: "the Adventurer forum" - adventurer_suffix: "." - campaign_beginner: "Beginner Campaign" - campaign_beginner_description: "... in which you learn the wizardry of programming." - campaign_dev: "Random Harder Levels" - campaign_dev_description: "... in which you learn the interface while doing something a little harder." - campaign_multiplayer: "Multiplayer Arenas" - campaign_multiplayer_description: "... in which you code head-to-head against other players." - campaign_player_created: "Player-Created" - campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>." - level_difficulty: "Difficulty: " - play_as: "Play As" - spectate: "Spectate" - - contact: - contact_us: "Contact CodeCombat" - welcome: "Good to hear from you! Use this form to send us email. " - contribute_prefix: "If you're interested in contributing, check out our " - contribute_page: "contribute page" - contribute_suffix: "!" - forum_prefix: "For anything public, please try " - forum_page: "our forum" - forum_suffix: " instead." - send: "Send Feedback" - - diplomat_suggestion: - title: "Help translate CodeCombat!" - sub_heading: "We need your language skills." - pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in {English} but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into {English}." - missing_translations: "Until we can translate everything into {English}, you'll see English when {English} isn't available." - learn_more: "Learn more about being a Diplomat" - subscribe_as_diplomat: "Subscribe as a Diplomat" - - wizard_settings: - title: "Wizard Settings" - customize_avatar: "Customize Your Avatar" - clothes: "Clothes" - trim: "Trim" - cloud: "Cloud" - spell: "Spell" - boots: "Boots" - hue: "Hue" - saturation: "Saturation" - lightness: "Lightness" - - account_settings: - title: "Account Settings" - not_logged_in: "Log in or create an account to change your settings." - autosave: "Changes Save Automatically" - me_tab: "Me" - picture_tab: "Picture" - wizard_tab: "Wizard" - password_tab: "Password" - emails_tab: "Emails" - admin: "Admin" - gravatar_select: "Select which Gravatar photo to use" - gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." - gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." - wizard_color: "Wizard Clothes Color" - new_password: "New Password" - new_password_verify: "Verify" - email_subscriptions: "Email Subscriptions" - email_announcements: "Announcements" - email_notifications: "Notifications" - email_notifications_description: "Get periodic notifications for your account." - email_announcements_description: "Get emails on the latest news and developments at CodeCombat." - contributor_emails: "Contributor Class Emails" - contribute_prefix: "We're looking for people to join our party! Check out the " - contribute_page: "contribute page" - contribute_suffix: " to find out more." - email_toggle: "Toggle All" - error_saving: "Error Saving" - saved: "Changes Saved" - password_mismatch: "Password does not match." - - account_profile: - edit_settings: "Edit Settings" - profile_for_prefix: "Profile for " - profile_for_suffix: "" - profile: "Profile" - user_not_found: "No user found. Check the URL?" - gravatar_not_found_mine: "We couldn't find your profile associated with:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Sign up at " - gravatar_signup_suffix: " to get set up!" - gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." - gravatar_contact: "Contact" - gravatar_websites: "Websites" - gravatar_accounts: "As Seen On" - gravatar_profile_link: "Full Gravatar Profile" - - play_level: - level_load_error: "Level could not be loaded: " - done: "Done" - grid: "Grid" - customize_wizard: "Customize Wizard" - home: "Home" - guide: "Guide" - multiplayer: "Multiplayer" - restart: "Restart" - goals: "Goals" - action_timeline: "Action Timeline" - click_to_select: "Click on a unit to select it." - reload_title: "Reload All Code?" - reload_really: "Are you sure you want to reload this level back to the beginning?" - reload_confirm: "Reload All" - victory_title_prefix: "" - victory_title_suffix: " Complete" - victory_sign_up: "Sign Up to Save Progress" - victory_sign_up_poke: "Want to save your code? Create a free account!" - victory_rate_the_level: "Rate the level: " - victory_rank_my_game: "Rank My Game" - victory_ranking_game: "Submitting..." - victory_return_to_ladder: "Return to Ladder" - victory_play_next_level: "Play Next Level" - victory_go_home: "Go Home" - victory_review: "Tell us more!" - victory_hour_of_code_done: "Are You Done?" - victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" - multiplayer_title: "Multiplayer Settings" - multiplayer_link_description: "Give this link to anyone to have them join you." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." - multiplayer_coming_soon: "More multiplayer features to come!" - guide_title: "Guide" - tome_minion_spells: "Your Minions' Spells" - tome_read_only_spells: "Read-Only Spells" - tome_other_units: "Other Units" - tome_cast_button_castable: "Cast Spell" - tome_cast_button_casting: "Casting" - tome_cast_button_cast: "Spell Cast" - tome_autocast_delay: "Autocast Delay" - tome_select_spell: "Select a Spell" - tome_select_a_thang: "Select Someone for " - tome_available_spells: "Available Spells" - hud_continue: "Continue (shift+space)" - spell_saved: "Spell Saved" - skip_tutorial: "Skip (esc)" - editor_config: "Editor Config" - editor_config_title: "Editor Configuration" - editor_config_language_label: "Programming Language" - editor_config_language_description: "Define the programming language you want to code in." - editor_config_keybindings_label: "Key Bindings" - editor_config_keybindings_default: "Default (Ace)" - editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." - editor_config_invisibles_label: "Show Invisibles" - editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." - editor_config_indentguides_label: "Show Indent Guides" - editor_config_indentguides_description: "Displays vertical lines to see indentation better." - editor_config_behaviors_label: "Smart Behaviors" - editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." - loading_ready: "Ready!" - tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." - tip_toggle_play: "Toggle play/paused with Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." - tip_guide_exists: "Click the guide at the top of the page for useful info." - tip_open_source: "CodeCombat is 100% open source!" - tip_beta_launch: "CodeCombat launched its beta in October, 2013." - tip_js_beginning: "JavaScript is just the beginning." - tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." - think_solution: "Think of the solution, not the problem." - tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" - tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" - tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" - tip_forums: "Head over to the forums and tell us what you think!" - tip_baby_coders: "In the future, even babies will be Archmages." - tip_morale_improves: "Loading will continue until morale improves." - tip_all_species: "We believe in equal opportunities to learn programming for all species." - tip_reticulating: "Reticulating spines." - tip_harry: "Yer a Wizard, " - tip_great_responsibility: "With great coding skill comes great debug responsibility." - tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." - tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." - tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" - tip_no_try: "Do. Or do not. There is no try. - Yoda" - tip_patience: "Patience you must have, young Padawan. - Yoda" - tip_documented_bug: "A documented bug is not a bug; it is a feature." - tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" - tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" - tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" - time_current: "Now:" - time_total: "Max:" - time_goto: "Go to:" - - admin: - av_title: "Admin Views" - av_entities_sub_title: "Entities" - av_entities_users_url: "Users" - av_entities_active_instances_url: "Active Instances" - av_other_sub_title: "Other" - av_other_debug_base_url: "Base (for debugging base.jade)" - u_title: "User List" - lg_title: "Latest Games" - clas: "CLAs" - - editor: - main_title: "CodeCombat Editors" - main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!" - article_title: "Article Editor" - article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns." - thang_title: "Thang Editor" - thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics." - level_title: "Level Editor" - level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!" - security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, " - contact_us: "contact us!" - hipchat_prefix: "You can also find us in our" - hipchat_url: "HipChat room." - revert: "Revert" - revert_models: "Revert Models" - level_some_options: "Some Options?" - level_tab_thangs: "Thangs" - level_tab_scripts: "Scripts" - level_tab_settings: "Settings" - level_tab_components: "Components" - level_tab_systems: "Systems" - level_tab_thangs_title: "Current Thangs" - level_tab_thangs_conditions: "Starting Conditions" - level_tab_thangs_add: "Add Thangs" - level_settings_title: "Settings" - level_component_tab_title: "Current Components" - level_component_btn_new: "Create New Component" - level_systems_tab_title: "Current Systems" - level_systems_btn_new: "Create New System" - level_systems_btn_add: "Add System" - level_components_title: "Back to All Thangs" - level_components_type: "Type" - level_component_edit_title: "Edit Component" - level_component_config_schema: "Config Schema" - level_component_settings: "Settings" - level_system_edit_title: "Edit System" - create_system_title: "Create New System" - new_component_title: "Create New Component" - new_component_field_system: "System" - new_article_title: "Create a New Article" - new_thang_title: "Create a New Thang Type" - new_level_title: "Create a New Level" - article_search_title: "Search Articles Here" - thang_search_title: "Search Thang Types Here" - level_search_title: "Search Levels Here" - read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." - - article: - edit_btn_preview: "Preview" - edit_article_title: "Edit Article" - - general: - and: "and" - name: "Name" - body: "Body" - version: "Version" - commit_msg: "Commit Message" - history: "History" - version_history_for: "Version History for: " - result: "Result" - results: "Results" - description: "Description" - or: "or" - email: "Email" - password: "Password" - message: "Message" - code: "Code" - ladder: "Ladder" - when: "When" - opponent: "Opponent" - rank: "Rank" - score: "Score" - win: "Win" - loss: "Loss" - tie: "Tie" - easy: "Easy" - medium: "Medium" - hard: "Hard" - - - about: - who_is_codecombat: "Who is CodeCombat?" - why_codecombat: "Why CodeCombat?" - who_description_prefix: "together started CodeCombat in 2013. We also created " - who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." - who_description_ending: "Now it's time to teach people to write code." - why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." - why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." - why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" - why_paragraph_3_italic: "yay a badge" - why_paragraph_3_center: "but fun like" - why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!" - why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." - why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." - why_ending: "And hey, it's free. " - why_ending_url: "Start wizarding now!" - george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." - scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." - nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." - jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." - michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." - glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" - - legal: - page_title: "Legal" - opensource_intro: "CodeCombat is free to play and completely open source." - opensource_description_prefix: "Check out " - github_url: "our GitHub" - opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " - archmage_wiki_url: "our Archmage wiki" - opensource_description_suffix: "for a list of the software that makes this game possible." - practices_title: "Respectful Best Practices" - practices_description: "These are our promises to you, the player, in slightly less legalese." - privacy_title: "Privacy" - privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." - security_title: "Security" - security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems." - email_title: "Email" - email_description_prefix: "We will not inundate you with spam. Through" - email_settings_url: "your email settings" - email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." - cost_title: "Cost" - cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" - recruitment_title: "Recruitment" - recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." - url_hire_programmers: "No one can hire programmers fast enough" - recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" - recruitment_description_italic: "a lot" - recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." - copyrights_title: "Copyrights and Licenses" - contributor_title: "Contributor License Agreement" - contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" - cla_url: "CLA" - contributor_description_suffix: "to which you should agree before contributing." - code_title: "Code - MIT" - code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" - mit_license_url: "MIT license" - code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." - art_title: "Art/Music - Creative Commons " - art_description_prefix: "All common content is available under the" - cc_license_url: "Creative Commons Attribution 4.0 International License" - art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" - art_music: "Music" - art_sound: "Sound" - art_artwork: "Artwork" - art_sprites: "Sprites" - art_other: "Any and all other non-code creative works that are made available when creating Levels." - art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible." - art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:" - use_list_1: "If used in a movie or another game, include codecombat.com in the credits." - use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution." - art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any." - rights_title: "Rights Reserved" - rights_desc: "All rights are reserved for Levels themselves. This includes" - rights_scripts: "Scripts" - rights_unit: "Unit configuration" - rights_description: "Description" - rights_writings: "Writings" - rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels." - rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not." - nutshell_title: "In a Nutshell" - nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening." - canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." - - contribute: - page_title: "Contributing" - character_classes_title: "Character Classes" - introduction_desc_intro: "We have high hopes for CodeCombat." - introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " - introduction_desc_github_url: "CodeCombat is totally open source" - introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." - introduction_desc_ending: "We hope you'll join our party!" - introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" - alert_account_message_intro: "Hey there!" - alert_account_message_pref: "To subscribe for class emails, you'll need to " - alert_account_message_suf: "first." - alert_account_message_create_url: "create an account" - archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." - archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever." - class_attributes: "Class Attributes" - archmage_attribute_1_pref: "Knowledge in " - archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax." - archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you." - how_to_join: "How To Join" - join_desc_1: "Anyone can help out! Just check out our " - join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? " - join_desc_3: ", or find us in our " - join_desc_4: "and we'll go from there!" - join_url_email: "Email us" - join_url_hipchat: "public HipChat room" - more_about_archmage: "Learn More About Becoming an Archmage" - archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." - artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" - artisan_summary_suf: ", then this class is for you." - artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" - artisan_introduction_suf: ", then this class might be for you." - artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" - artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." - artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" - artisan_join_desc: "Use the Level Editor in these steps, give or take:" - artisan_join_step1: "Read the documentation." - artisan_join_step2: "Create a new level and explore existing levels." - artisan_join_step3: "Find us in our public HipChat room for help." - artisan_join_step4: "Post your levels on the forum for feedback." - more_about_artisan: "Learn More About Becoming an Artisan" - artisan_subscribe_desc: "Get emails on level editor updates and announcements." - adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you." - adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you." - adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though." - adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve." - adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like" - adventurer_forum_url: "our forum" - adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!" - more_about_adventurer: "Learn More About Becoming an Adventurer" - adventurer_subscribe_desc: "Get emails when there are new levels to test." - scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the " - scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you." - scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you." - scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others." - contact_us_url: "Contact us" - scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!" - more_about_scribe: "Learn More About Becoming a Scribe" - scribe_subscribe_desc: "Get emails about article writing announcements." - diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you." - diplomat_introduction_pref: "So, if there's one thing we learned from the " - diplomat_launch_url: "launch in October" - diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you." - diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!" - diplomat_join_pref_github: "Find your language locale file " - diplomat_github_url: "on GitHub" - diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" - more_about_diplomat: "Learn More About Becoming a Diplomat" - diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." - ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you." - ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." - ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!" - ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!" - ambassador_join_note_strong: "Note" - ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" - more_about_ambassador: "Learn More About Becoming an Ambassador" - ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." - counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you." - counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design." - counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you." - counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful." - counselor_attribute_2: "A little bit of free time!" - counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)." - more_about_counselor: "Learn More About Becoming a Counselor" - changes_auto_save: "Changes are saved automatically when you toggle checkboxes." - diligent_scribes: "Our Diligent Scribes:" - powerful_archmages: "Our Powerful Archmages:" - creative_artisans: "Our Creative Artisans:" - brave_adventurers: "Our Brave Adventurers:" - translating_diplomats: "Our Translating Diplomats:" - helpful_ambassadors: "Our Helpful Ambassadors:" - - classes: - archmage_title: "Archmage" - archmage_title_description: "(Coder)" - artisan_title: "Artisan" - artisan_title_description: "(Level Builder)" - adventurer_title: "Adventurer" - adventurer_title_description: "(Level Playtester)" - scribe_title: "Scribe" - scribe_title_description: "(Article Editor)" - diplomat_title: "Diplomat" - diplomat_title_description: "(Translator)" - ambassador_title: "Ambassador" - ambassador_title_description: "(Support)" - counselor_title: "Counselor" - counselor_title_description: "(Expert/Teacher)" - - ladder: - please_login: "Please log in first before playing a ladder game." - my_matches: "My Matches" - simulate: "Simulate" - simulation_explanation: "By simulating games you can get your game ranked faster!" - simulate_games: "Simulate Games!" - simulate_all: "RESET AND SIMULATE GAMES" - games_simulated_by: "Games simulated by you:" - games_simulated_for: "Games simulated for you:" - leaderboard: "Leaderboard" - battle_as: "Battle as " - summary_your: "Your " - summary_matches: "Matches - " - summary_wins: " Wins, " - summary_losses: " Losses" - rank_no_code: "No New Code to Rank" - rank_my_game: "Rank My Game!" - rank_submitting: "Submitting..." - rank_submitted: "Submitted for Ranking" - rank_failed: "Failed to Rank" - rank_being_ranked: "Game Being Ranked" - code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." - no_ranked_matches_pre: "No ranked matches for the " - no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." - choose_opponent: "Choose an Opponent" - tutorial_play: "Play Tutorial" - tutorial_recommended: "Recommended if you've never played before" - tutorial_skip: "Skip Tutorial" - tutorial_not_sure: "Not sure what's going on?" - tutorial_play_first: "Play the Tutorial first." - simple_ai: "Simple AI" - warmup: "Warmup" - vs: "VS" - - multiplayer_launch: - introducing_dungeon_arena: "Introducing Dungeon Arena" - new_way: "The new way to compete with code." - to_battle: "To Battle, Developers!" - modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." - arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." - ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" - fork_our_arenas: "fork our arenas" - create_worlds: "and create your own worlds." - javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" - tutorial: "tutorial" - new_to_programming: ". New to programming? Hit our beginner campaign to skill up." - so_ready: "I Am So Ready for This" - - loading_error: - could_not_load: "Error loading from server" - connection_failure: "Connection failed." - unauthorized: "You need to be signed in. Do you have cookies disabled?" - forbidden: "You do not have the permissions." - not_found: "Not found." - not_allowed: "Method not allowed." - timeout: "Server timeout." - conflict: "Resource conflict." - bad_input: "Bad input." - server_error: "Server error." - unknown: "Unknown error." - - resources: - your_sessions: "Your Sessions" - level: "Level" - social_network_apis: "Social Network APIs" - facebook_status: "Facebook Status" - facebook_friends: "Facebook Friends" - facebook_friend_sessions: "Facebook Friend Sessions" - gplus_friends: "G+ Friends" - gplus_friend_sessions: "G+ Friend Sessions" - leaderboard: 'leaderboard' \ No newline at end of file +module.exports = nativeDescription: "English", englishDescription: "English", translation: + common: + loading: "Loading..." + saving: "Saving..." + sending: "Sending..." + cancel: "Cancel" + save: "Save" + create: "Create" + delay_1_sec: "1 second" + delay_3_sec: "3 seconds" + delay_5_sec: "5 seconds" + manual: "Manual" + fork: "Fork" + play: "Play" + retry: "Retry" + + units: + second: "second" + seconds: "seconds" + minute: "minute" + minutes: "minutes" + hour: "hour" + hours: "hours" + + modal: + close: "Close" + okay: "Okay" + + not_found: + page_not_found: "Page not found" + + nav: + play: "Levels" + editor: "Editor" + blog: "Blog" + forum: "Forum" + admin: "Admin" + home: "Home" + contribute: "Contribute" + legal: "Legal" + about: "About" + contact: "Contact" + twitter_follow: "Follow" + employers: "Employers" + + versions: + save_version_title: "Save New Version" + new_major_version: "New Major Version" + cla_prefix: "To save changes, first you must agree to our" + cla_url: "CLA" + cla_suffix: "." + cla_agree: "I AGREE" + + login: + sign_up: "Create Account" + log_in: "Log In" + logging_in: "Logging In" + log_out: "Log Out" + recover: "recover account" + + recover: + recover_account_title: "Recover Account" + send_password: "Send Recovery Password" + + signup: + create_account_title: "Create Account to Save Progress" + description: "It's free. Just need a couple things and you'll be good to go:" + email_announcements: "Receive announcements by email" + coppa: "13+ or non-USA " + coppa_why: "(Why?)" + creating: "Creating Account..." + sign_up: "Sign Up" + log_in: "log in with password" + + home: + slogan: "Learn to Code JavaScript by Playing a Game" + no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!" + no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" + play: "Play" + old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" + old_browser_suffix: "You can try anyway, but it probably won't work." + campaign: "Campaign" + for_beginners: "For Beginners" + multiplayer: "Multiplayer" + for_developers: "For Developers" + + play: + choose_your_level: "Choose Your Level" + adventurer_prefix: "You can jump to any level below, or discuss the levels on " + adventurer_forum: "the Adventurer forum" + adventurer_suffix: "." + campaign_beginner: "Beginner Campaign" + campaign_beginner_description: "... in which you learn the wizardry of programming." + campaign_dev: "Random Harder Levels" + campaign_dev_description: "... in which you learn the interface while doing something a little harder." + campaign_multiplayer: "Multiplayer Arenas" + campaign_multiplayer_description: "... in which you code head-to-head against other players." + campaign_player_created: "Player-Created" + campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>." + level_difficulty: "Difficulty: " + play_as: "Play As" + spectate: "Spectate" + + contact: + contact_us: "Contact CodeCombat" + welcome: "Good to hear from you! Use this form to send us email. " + contribute_prefix: "If you're interested in contributing, check out our " + contribute_page: "contribute page" + contribute_suffix: "!" + forum_prefix: "For anything public, please try " + forum_page: "our forum" + forum_suffix: " instead." + send: "Send Feedback" + + diplomat_suggestion: + title: "Help translate CodeCombat!" + sub_heading: "We need your language skills." + pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in {English} but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into {English}." + missing_translations: "Until we can translate everything into {English}, you'll see English when {English} isn't available." + learn_more: "Learn more about being a Diplomat" + subscribe_as_diplomat: "Subscribe as a Diplomat" + + wizard_settings: + title: "Wizard Settings" + customize_avatar: "Customize Your Avatar" + active: "Active" + color: "Color" + group: "Group" + clothes: "Clothes" + trim: "Trim" + team: "Cloud" + spell: "Spell" + boots: "Boots" + hue: "Hue" + saturation: "Saturation" + lightness: "Lightness" + + account_settings: + title: "Account Settings" + not_logged_in: "Log in or create an account to change your settings." + autosave: "Changes Save Automatically" + me_tab: "Me" + picture_tab: "Picture" + wizard_tab: "Wizard" + password_tab: "Password" + emails_tab: "Emails" + admin: "Admin" + gravatar_select: "Select which Gravatar photo to use" + gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." + gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." + wizard_color: "Wizard Clothes Color" + new_password: "New Password" + new_password_verify: "Verify" + email_subscriptions: "Email Subscriptions" + email_announcements: "Announcements" + email_notifications: "Notifications" + email_notifications_description: "Get periodic notifications for your account." + email_announcements_description: "Get emails on the latest news and developments at CodeCombat." + contributor_emails: "Contributor Class Emails" + contribute_prefix: "We're looking for people to join our party! Check out the " + contribute_page: "contribute page" + contribute_suffix: " to find out more." + email_toggle: "Toggle All" + error_saving: "Error Saving" + saved: "Changes Saved" + password_mismatch: "Password does not match." + + account_profile: + edit_settings: "Edit Settings" + profile_for_prefix: "Profile for " + profile_for_suffix: "" + profile: "Profile" + user_not_found: "No user found. Check the URL?" + gravatar_not_found_mine: "We couldn't find your profile associated with:" + gravatar_not_found_email_suffix: "." + gravatar_signup_prefix: "Sign up at " + gravatar_signup_suffix: " to get set up!" + gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." + gravatar_contact: "Contact" + gravatar_websites: "Websites" + gravatar_accounts: "As Seen On" + gravatar_profile_link: "Full Gravatar Profile" + + play_level: + level_load_error: "Level could not be loaded: " + done: "Done" + grid: "Grid" + customize_wizard: "Customize Wizard" + home: "Home" + guide: "Guide" + multiplayer: "Multiplayer" + restart: "Restart" + goals: "Goals" + action_timeline: "Action Timeline" + click_to_select: "Click on a unit to select it." + reload_title: "Reload All Code?" + reload_really: "Are you sure you want to reload this level back to the beginning?" + reload_confirm: "Reload All" + victory_title_prefix: "" + victory_title_suffix: " Complete" + victory_sign_up: "Sign Up to Save Progress" + victory_sign_up_poke: "Want to save your code? Create a free account!" + victory_rate_the_level: "Rate the level: " + victory_rank_my_game: "Rank My Game" + victory_ranking_game: "Submitting..." + victory_return_to_ladder: "Return to Ladder" + victory_play_next_level: "Play Next Level" + victory_go_home: "Go Home" + victory_review: "Tell us more!" + victory_hour_of_code_done: "Are You Done?" + victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" + multiplayer_title: "Multiplayer Settings" + multiplayer_link_description: "Give this link to anyone to have them join you." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." + multiplayer_coming_soon: "More multiplayer features to come!" + guide_title: "Guide" + tome_minion_spells: "Your Minions' Spells" + tome_read_only_spells: "Read-Only Spells" + tome_other_units: "Other Units" + tome_cast_button_castable: "Cast Spell" + tome_cast_button_casting: "Casting" + tome_cast_button_cast: "Spell Cast" + tome_autocast_delay: "Autocast Delay" + tome_select_spell: "Select a Spell" + tome_select_a_thang: "Select Someone for " + tome_available_spells: "Available Spells" + hud_continue: "Continue (shift+space)" + spell_saved: "Spell Saved" + skip_tutorial: "Skip (esc)" + editor_config: "Editor Config" + editor_config_title: "Editor Configuration" + editor_config_language_label: "Programming Language" + editor_config_language_description: "Define the programming language you want to code in." + editor_config_keybindings_label: "Key Bindings" + editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." + editor_config_invisibles_label: "Show Invisibles" + editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." + editor_config_indentguides_label: "Show Indent Guides" + editor_config_indentguides_description: "Displays vertical lines to see indentation better." + editor_config_behaviors_label: "Smart Behaviors" + editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + loading_ready: "Ready!" + tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." + tip_toggle_play: "Toggle play/paused with Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." + tip_guide_exists: "Click the guide at the top of the page for useful info." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat launched its beta in October, 2013." + tip_js_beginning: "JavaScript is just the beginning." + tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." + think_solution: "Think of the solution, not the problem." + tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" + tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" + tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" + tip_forums: "Head over to the forums and tell us what you think!" + tip_baby_coders: "In the future, even babies will be Archmages." + tip_morale_improves: "Loading will continue until morale improves." + tip_all_species: "We believe in equal opportunities to learn programming for all species." + tip_reticulating: "Reticulating spines." + tip_harry: "Yer a Wizard, " + tip_great_responsibility: "With great coding skill comes great debug responsibility." + tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." + tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." + tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" + tip_no_try: "Do. Or do not. There is no try. - Yoda" + tip_patience: "Patience you must have, young Padawan. - Yoda" + tip_documented_bug: "A documented bug is not a bug; it is a feature." + tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" + tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" + tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Now:" + time_total: "Max:" + time_goto: "Go to:" + + admin: + av_title: "Admin Views" + av_entities_sub_title: "Entities" + av_entities_users_url: "Users" + av_entities_active_instances_url: "Active Instances" + av_other_sub_title: "Other" + av_other_debug_base_url: "Base (for debugging base.jade)" + u_title: "User List" + lg_title: "Latest Games" + clas: "CLAs" + + editor: + main_title: "CodeCombat Editors" + main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!" + article_title: "Article Editor" + article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns." + thang_title: "Thang Editor" + thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics." + level_title: "Level Editor" + level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!" + security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, " + contact_us: "contact us!" + hipchat_prefix: "You can also find us in our" + hipchat_url: "HipChat room." + revert: "Revert" + revert_models: "Revert Models" + level_some_options: "Some Options?" + level_tab_thangs: "Thangs" + level_tab_scripts: "Scripts" + level_tab_settings: "Settings" + level_tab_components: "Components" + level_tab_systems: "Systems" + level_tab_thangs_title: "Current Thangs" + level_tab_thangs_conditions: "Starting Conditions" + level_tab_thangs_add: "Add Thangs" + level_settings_title: "Settings" + level_component_tab_title: "Current Components" + level_component_btn_new: "Create New Component" + level_systems_tab_title: "Current Systems" + level_systems_btn_new: "Create New System" + level_systems_btn_add: "Add System" + level_components_title: "Back to All Thangs" + level_components_type: "Type" + level_component_edit_title: "Edit Component" + level_component_config_schema: "Config Schema" + level_component_settings: "Settings" + level_system_edit_title: "Edit System" + create_system_title: "Create New System" + new_component_title: "Create New Component" + new_component_field_system: "System" + new_article_title: "Create a New Article" + new_thang_title: "Create a New Thang Type" + new_level_title: "Create a New Level" + article_search_title: "Search Articles Here" + thang_search_title: "Search Thang Types Here" + level_search_title: "Search Levels Here" + read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + + article: + edit_btn_preview: "Preview" + edit_article_title: "Edit Article" + + general: + and: "and" + name: "Name" + body: "Body" + version: "Version" + commit_msg: "Commit Message" + history: "History" + version_history_for: "Version History for: " + result: "Result" + results: "Results" + description: "Description" + or: "or" + email: "Email" + password: "Password" + message: "Message" + code: "Code" + ladder: "Ladder" + when: "When" + opponent: "Opponent" + rank: "Rank" + score: "Score" + win: "Win" + loss: "Loss" + tie: "Tie" + easy: "Easy" + medium: "Medium" + hard: "Hard" + + + about: + who_is_codecombat: "Who is CodeCombat?" + why_codecombat: "Why CodeCombat?" + who_description_prefix: "together started CodeCombat in 2013. We also created " + who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." + who_description_ending: "Now it's time to teach people to write code." + why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." + why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." + why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" + why_paragraph_3_italic: "yay a badge" + why_paragraph_3_center: "but fun like" + why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!" + why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." + why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." + why_ending: "And hey, it's free. " + why_ending_url: "Start wizarding now!" + george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." + scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." + nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." + jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." + michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." + glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" + + legal: + page_title: "Legal" + opensource_intro: "CodeCombat is free to play and completely open source." + opensource_description_prefix: "Check out " + github_url: "our GitHub" + opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " + archmage_wiki_url: "our Archmage wiki" + opensource_description_suffix: "for a list of the software that makes this game possible." + practices_title: "Respectful Best Practices" + practices_description: "These are our promises to you, the player, in slightly less legalese." + privacy_title: "Privacy" + privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." + security_title: "Security" + security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems." + email_title: "Email" + email_description_prefix: "We will not inundate you with spam. Through" + email_settings_url: "your email settings" + email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." + cost_title: "Cost" + cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" + recruitment_title: "Recruitment" + recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." + url_hire_programmers: "No one can hire programmers fast enough" + recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" + recruitment_description_italic: "a lot" + recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." + copyrights_title: "Copyrights and Licenses" + contributor_title: "Contributor License Agreement" + contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" + cla_url: "CLA" + contributor_description_suffix: "to which you should agree before contributing." + code_title: "Code - MIT" + code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" + mit_license_url: "MIT license" + code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." + art_title: "Art/Music - Creative Commons " + art_description_prefix: "All common content is available under the" + cc_license_url: "Creative Commons Attribution 4.0 International License" + art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" + art_music: "Music" + art_sound: "Sound" + art_artwork: "Artwork" + art_sprites: "Sprites" + art_other: "Any and all other non-code creative works that are made available when creating Levels." + art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible." + art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:" + use_list_1: "If used in a movie or another game, include codecombat.com in the credits." + use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution." + art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any." + rights_title: "Rights Reserved" + rights_desc: "All rights are reserved for Levels themselves. This includes" + rights_scripts: "Scripts" + rights_unit: "Unit configuration" + rights_description: "Description" + rights_writings: "Writings" + rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels." + rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not." + nutshell_title: "In a Nutshell" + nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening." + canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." + + contribute: + page_title: "Contributing" + character_classes_title: "Character Classes" + introduction_desc_intro: "We have high hopes for CodeCombat." + introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " + introduction_desc_github_url: "CodeCombat is totally open source" + introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." + introduction_desc_ending: "We hope you'll join our party!" + introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" + alert_account_message_intro: "Hey there!" + alert_account_message_pref: "To subscribe for class emails, you'll need to " + alert_account_message_suf: "first." + alert_account_message_create_url: "create an account" + archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." + archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever." + class_attributes: "Class Attributes" + archmage_attribute_1_pref: "Knowledge in " + archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax." + archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you." + how_to_join: "How To Join" + join_desc_1: "Anyone can help out! Just check out our " + join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? " + join_desc_3: ", or find us in our " + join_desc_4: "and we'll go from there!" + join_url_email: "Email us" + join_url_hipchat: "public HipChat room" + more_about_archmage: "Learn More About Becoming an Archmage" + archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." + artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" + artisan_summary_suf: ", then this class is for you." + artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" + artisan_introduction_suf: ", then this class might be for you." + artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" + artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." + artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" + artisan_join_desc: "Use the Level Editor in these steps, give or take:" + artisan_join_step1: "Read the documentation." + artisan_join_step2: "Create a new level and explore existing levels." + artisan_join_step3: "Find us in our public HipChat room for help." + artisan_join_step4: "Post your levels on the forum for feedback." + more_about_artisan: "Learn More About Becoming an Artisan" + artisan_subscribe_desc: "Get emails on level editor updates and announcements." + adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you." + adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you." + adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though." + adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve." + adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like" + adventurer_forum_url: "our forum" + adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!" + more_about_adventurer: "Learn More About Becoming an Adventurer" + adventurer_subscribe_desc: "Get emails when there are new levels to test." + scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the " + scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you." + scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you." + scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others." + contact_us_url: "Contact us" + scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!" + more_about_scribe: "Learn More About Becoming a Scribe" + scribe_subscribe_desc: "Get emails about article writing announcements." + diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you." + diplomat_introduction_pref: "So, if there's one thing we learned from the " + diplomat_launch_url: "launch in October" + diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you." + diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!" + diplomat_join_pref_github: "Find your language locale file " + diplomat_github_url: "on GitHub" + diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" + more_about_diplomat: "Learn More About Becoming a Diplomat" + diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." + ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you." + ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." + ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!" + ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!" + ambassador_join_note_strong: "Note" + ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" + more_about_ambassador: "Learn More About Becoming an Ambassador" + ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." + counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you." + counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design." + counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you." + counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful." + counselor_attribute_2: "A little bit of free time!" + counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)." + more_about_counselor: "Learn More About Becoming a Counselor" + changes_auto_save: "Changes are saved automatically when you toggle checkboxes." + diligent_scribes: "Our Diligent Scribes:" + powerful_archmages: "Our Powerful Archmages:" + creative_artisans: "Our Creative Artisans:" + brave_adventurers: "Our Brave Adventurers:" + translating_diplomats: "Our Translating Diplomats:" + helpful_ambassadors: "Our Helpful Ambassadors:" + + classes: + archmage_title: "Archmage" + archmage_title_description: "(Coder)" + artisan_title: "Artisan" + artisan_title_description: "(Level Builder)" + adventurer_title: "Adventurer" + adventurer_title_description: "(Level Playtester)" + scribe_title: "Scribe" + scribe_title_description: "(Article Editor)" + diplomat_title: "Diplomat" + diplomat_title_description: "(Translator)" + ambassador_title: "Ambassador" + ambassador_title_description: "(Support)" + counselor_title: "Counselor" + counselor_title_description: "(Expert/Teacher)" + + ladder: + please_login: "Please log in first before playing a ladder game." + my_matches: "My Matches" + simulate: "Simulate" + simulation_explanation: "By simulating games you can get your game ranked faster!" + simulate_games: "Simulate Games!" + simulate_all: "RESET AND SIMULATE GAMES" + games_simulated_by: "Games simulated by you:" + games_simulated_for: "Games simulated for you:" + leaderboard: "Leaderboard" + battle_as: "Battle as " + summary_your: "Your " + summary_matches: "Matches - " + summary_wins: " Wins, " + summary_losses: " Losses" + rank_no_code: "No New Code to Rank" + rank_my_game: "Rank My Game!" + rank_submitting: "Submitting..." + rank_submitted: "Submitted for Ranking" + rank_failed: "Failed to Rank" + rank_being_ranked: "Game Being Ranked" + code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." + no_ranked_matches_pre: "No ranked matches for the " + no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." + choose_opponent: "Choose an Opponent" + tutorial_play: "Play Tutorial" + tutorial_recommended: "Recommended if you've never played before" + tutorial_skip: "Skip Tutorial" + tutorial_not_sure: "Not sure what's going on?" + tutorial_play_first: "Play the Tutorial first." + simple_ai: "Simple AI" + warmup: "Warmup" + vs: "VS" + + multiplayer_launch: + introducing_dungeon_arena: "Introducing Dungeon Arena" + new_way: "The new way to compete with code." + to_battle: "To Battle, Developers!" + modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." + arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." + ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" + fork_our_arenas: "fork our arenas" + create_worlds: "and create your own worlds." + javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" + tutorial: "tutorial" + new_to_programming: ". New to programming? Hit our beginner campaign to skill up." + so_ready: "I Am So Ready for This" + + loading_error: + could_not_load: "Error loading from server" + connection_failure: "Connection failed." + unauthorized: "You need to be signed in. Do you have cookies disabled?" + forbidden: "You do not have the permissions." + not_found: "Not found." + not_allowed: "Method not allowed." + timeout: "Server timeout." + conflict: "Resource conflict." + bad_input: "Bad input." + server_error: "Server error." + unknown: "Unknown error." + + resources: + your_sessions: "Your Sessions" + level: "Level" + social_network_apis: "Social Network APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook Friends" + facebook_friend_sessions: "Facebook Friend Sessions" + gplus_friends: "G+ Friends" + gplus_friend_sessions: "G+ Friend Sessions" + leaderboard: "leaderboard" \ No newline at end of file diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index baaf8a6fa..523029ed8 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -1,628 +1,631 @@ -module.exports = nativeDescription: "русский", englishDescription: "Russian", translation: - common: - loading: "Загрузка..." - saving: "Сохранение..." - sending: "Отправка..." - cancel: "Отмена" - save: "Сохранить" - create: "Создать" - delay_1_sec: "1 секунда" - delay_3_sec: "3 секунды" - delay_5_sec: "5 секунд" - manual: "Вручную" - fork: "Форк" - play: "Играть" - retry: "Повторить" - - units: - second: "секунда" - seconds: "секунд(ы)" - minute: "минута" - minutes: "минут(ы)" - hour: "час" - hours: "часа(ов)" - - modal: - close: "Закрыть" - okay: "OK" - - not_found: - page_not_found: "Страница не найдена" - - nav: - play: "Уровни" - editor: "Редактор" - blog: "Блог" - forum: "Форум" - admin: "Админ" - home: "Домой" - contribute: "Сотрудничество" - legal: "Юридическая информация" - about: "О нас" - contact: "Контакты" - twitter_follow: "Подписаться" - employers: "Работодателям" - - versions: - save_version_title: "Сохранить новую версию" - new_major_version: "Новая основная версия" - cla_prefix: "Чтобы сохранить изменения, сначала вы должны согласиться с нашим" - cla_url: "лицензионным соглашением соавторов" - cla_suffix: "." - cla_agree: "Я СОГЛАСЕН" - - login: - sign_up: "Создать аккаунт" - log_in: "Войти" - logging_in: "Вход..." - log_out: "Выйти" - recover: "восстановить аккаунт" - - recover: - recover_account_title: "Восстановить аккаунт" - send_password: "Отправить пароль для восстановления" - - signup: - create_account_title: "Создать аккаунт, чтобы сохранить прогресс" - description: "Это бесплатно. Нужна лишь пара вещей, и вы сможете продолжить путешествие:" - email_announcements: "Получать оповещения на email" - coppa: "Вы старше 13 лет или живёте не в США " - coppa_why: "(почему?)" - creating: "Создание аккаунта..." - sign_up: "Регистрация" - log_in: "вход с паролем" - - home: - slogan: "Научитесь программировать на JavaScript, играя в игру" - no_ie: "CodeCombat не работает в IE8 или более старых версиях. Нам очень жаль!" - no_mobile: "CodeCombat не приспособлен для работы на мобильных устройствах и может не работать!" - play: "Играть" - old_browser: "Ой, ваш браузер слишком стар для запуска CodeCombat. Извините!" - old_browser_suffix: "Вы всё равно можете попробовать, но, скорее всего, это не будет работать." - campaign: "Кампания" - for_beginners: "Новичкам" - multiplayer: "Мультиплеер" - for_developers: "Разработчикам" - - play: - choose_your_level: "Выберите ваш уровень" - adventurer_prefix: "Вы можете зайти на любой из этих уровней, а также обсудить уровни на " - adventurer_forum: "форуме Искателей приключений" - adventurer_suffix: "." - campaign_beginner: "Кампания для новичков" - campaign_beginner_description: "... в которой вы познакомитесь с магией программирования." - campaign_dev: "Случайные уровни потруднее" - campaign_dev_description: "... в которых вы изучите интерфейс и научитесь делать кое-что посложнее." - campaign_multiplayer: "Арены для мультиплеера" - campaign_multiplayer_description: "... в которых вы соревнуетесь в программировании с другими игроками." - campaign_player_created: "Уровни игроков" - campaign_player_created_description: "... в которых вы сражаетесь с креативностью ваших друзей <a href=\"/contribute#artisan\">Ремесленников</a>." - level_difficulty: "Сложность: " - play_as: "Играть за " - spectate: "Наблюдать" - - contact: - contact_us: "Связаться с CodeCombat" - welcome: "Мы рады вашему сообщению! Используйте эту форму, чтобы отправить нам email. " - contribute_prefix: "Если вы хотите внести свой вклад в проект, зайдите на нашу " - contribute_page: "страницу сотрудничества" - contribute_suffix: "!" - forum_prefix: "Для любых публичных обсуждений, пожалуйста, используйте " - forum_page: "наш форум" - forum_suffix: "." - send: "Отправить отзыв" - - diplomat_suggestion: - title: "Помогите перевести CodeCombat!" - sub_heading: "Нам нужны ваши языковые навыки." - pitch_body: "Мы создаём CodeCombat на английском, но у нас уже есть игроки со всего мира. Многие из них хотели бы играть на русском, но не знают английского, так что если вы знаете оба этих языка - зарегистрируйтесь как Дипломат и помогите перевести сайт CodeCombat и все уровни на русский язык." - missing_translations: "Пока мы не перевели всё на русский язык, вы будете видеть английский текст в тех частях игры, которые ещё не переведены на русский." - learn_more: "Узнать о том, как стать Дипломатом" - subscribe_as_diplomat: "Зарегистрироваться как Дипломат" - - wizard_settings: - title: "Настройки волшебника" - customize_avatar: "Изменить свой аватар" - clothes: "Одежда" - trim: "Отделка" - cloud: "Облако" - spell: "Заклинание" - boots: "Обувь" - hue: "Оттенок" - saturation: "Насыщенность" - lightness: "Светлость" - - account_settings: - title: "Настройки аккаунта" - not_logged_in: "Войдите или зарегистрируйтесь, чтобы изменить настройки." - autosave: "Настройки сохраняются автоматически" - me_tab: "Я" - picture_tab: "Аватар" - wizard_tab: "Волшебник" - password_tab: "Пароль" - emails_tab: "Email-адреса" - admin: "Админ" - gravatar_select: "Выберите, какое фото с Gravatar использовать" - gravatar_add_photos: "Чтобы выбрать изображение, добавьте фото и уменьшенные изображения в ваш Gravatar-аккаунт." - gravatar_add_more_photos: "Добавьте больше фото к вашему аккаунту в Gravatar, чтобы использовать их здесь." - wizard_color: "Цвет одежды волшебника" - new_password: "Новый пароль" - new_password_verify: "Подтверждение пароля" - email_subscriptions: "Email-подписки" - email_announcements: "Оповещения" - email_notifications: "Уведомления" - email_notifications_description: "Получать периодические уведомления для вашего аккаунта." - email_announcements_description: "Получать email-оповещения о последних новостях CodeCombat." - contributor_emails: "Рассылки по классам участников" - contribute_prefix: "Нам нужны люди, которые присоединятся к нашей команде! Зайдите на " - contribute_page: "страницу участников," - contribute_suffix: " чтобы узнать больше." - email_toggle: "Отметить всё" - error_saving: "Ошибка сохранения" - saved: "Изменения сохранены" - password_mismatch: "Пароли не совпадают." - - account_profile: - edit_settings: "Изменить настройки" - profile_for_prefix: "Профиль для " - profile_for_suffix: "" - profile: "Профиль" - user_not_found: "Пользователь не найден. Пожалуйста, проверьте URL." - gravatar_not_found_mine: "Мы не можем найти профиль, связанный с" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Зарегистрируйтесь на " - gravatar_signup_suffix: ", чтобы настроить профиль." - gravatar_not_found_other: "Нет профиля, связанного с почтой данного пользователя." - gravatar_contact: "Контакты" - gravatar_websites: "Сайты" - gravatar_accounts: "Как показано на" - gravatar_profile_link: "Полный профиль на Gravatar" - - play_level: - level_load_error: "Уровень не может быть загружен: " - done: "Готово" - grid: "Сетка" - customize_wizard: "Настройки волшебника" - home: "На главную" - guide: "Руководство" - multiplayer: "Мультиплеер" - restart: "Перезапустить" - goals: "Цели" - action_timeline: "График действий" - click_to_select: "Выберите персонажа, щёлкнув на нём" - reload_title: "Перезагрузить код полностью?" - reload_really: "Вы уверены, что хотите начать уровень сначала?" - reload_confirm: "Перезагрузить всё" - victory_title_prefix: "Уровень " - victory_title_suffix: " завершён" - victory_sign_up: "Зарегистрироваться" - victory_sign_up_poke: "Хотите сохранить ваш код? Создайте бесплатный аккаунт!" - victory_rate_the_level: "Оцените уровень:" - victory_rank_my_game: "Оценить мою игру" - victory_ranking_game: "Отправка..." - victory_return_to_ladder: "Вернуться к ладдеру" - victory_play_next_level: "Следующий уровень" - victory_go_home: "На главную" - victory_review: "Расскажите нам больше!" - victory_hour_of_code_done: "Вы закончили?" - victory_hour_of_code_done_yes: "Да, я закончил мой Час Кода™!" - multiplayer_title: "Настройки мультиплеера" - multiplayer_link_description: "Дайте эту ссылку кому-нибудь, чтоб он присоединился к вам." - multiplayer_hint_label: "Подсказка: " - multiplayer_hint: "кликните на ссылку, чтобы выделить её, затем нажмите ⌘-С или Ctrl-C, чтобы скопировать." - multiplayer_coming_soon: "Больше возможностей мультиплеера на подходе!" - guide_title: "Руководство" - tome_minion_spells: "Заклинания ваших миньонов" - tome_read_only_spells: "Заклинания только для чтения" - tome_other_units: "Другие юниты" - tome_cast_button_castable: "Читать заклинание" - tome_cast_button_casting: "Заклинание читается" - tome_cast_button_cast: "Заклинание прочитано" - tome_autocast_delay: "Задержка автоматического чтения" - tome_select_spell: "Выбрать заклинание" - tome_select_a_thang: "Выбрать кого-нибудь для " - tome_available_spells: "Доступные заклинания" - hud_continue: "Продолжить (Shift+Пробел)" - spell_saved: "Заклинание сохранено" - skip_tutorial: "Пропуск (Esc)" - editor_config: "Настройки редактора" - editor_config_title: "Настройки редактора" - editor_config_language_label: "Язык программирования" - editor_config_language_description: "Определяет язык, на котором вы хотите программировать." - editor_config_keybindings_label: "Сочетания клавиш" - editor_config_keybindings_default: "По умолчанию (Ace)" - editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." - editor_config_invisibles_label: "Показывать непечатные символы" - editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции." - editor_config_indentguides_label: "Показывать направляющие отступов" - editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов." - editor_config_behaviors_label: "Умное поведение" - editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки." - loading_ready: "Готово!" - tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний." - tip_toggle_play: "Переключайте воспроизведение/паузу комбинацией Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд." - tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации." - tip_open_source: "Исходный код CodeCombat открыт на 100%!" - tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013 года." - tip_js_beginning: "JavaScript это только начало." - tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения." - think_solution: "Думайте о решении, а не о проблеме." - tip_theory_practice: "В теории, между практикой и теорией нет разницы. Но на практике есть. - Yogi Berra" - tip_error_free: "Есть два способа писать программы без ошибок; работает только третий. - Alan Perlis" - tip_debugging_program: "Если отладка это процесс удаления багов, то программирование должно быть процессом их добавления. - Edsger W. Dijkstra" - tip_forums: "Заходите на форумы и расскажите нам, что вы думаете!" - tip_baby_coders: "В будущем, даже младенцы будут Архимагами." - tip_morale_improves: "Загрузка будет продолжаться, пока боевой дух не восстановится." - tip_all_species: "Мы верим в равные возможности для обучения программированию, для всех видов." - tip_reticulating: "Ретикуляция сплайнов." - tip_harry: "Ты волшебник, " - tip_great_responsibility: "С большим умением программирования приходит большая ответственность отладки." - tip_munchkin: "Если вы не съедите овощи, манчкин придёт за вами, пока вы спите." - tip_binary: "В мире есть 10 типов людей: те, кто понимают двоичную систему счисления и те, кто не понимают." - tip_commitment_yoda: "Программист верностью принципам обладать должен, и серьёзным умом. ~ Yoda" - tip_no_try: "Делай. Или не делай. Не надо пытаться. - Yoda" - tip_patience: "Терпением ты обладать должен, юный падаван. - Yoda" - tip_documented_bug: "Документированный баг не является багом; это фича." - tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela" - tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds" - tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay" - time_current: "Текущее:" - time_total: "Максимальное:" - time_goto: "Перейти на:" - - admin: - av_title: "Админ панель" - av_entities_sub_title: "Сущности" - av_entities_users_url: "Пользователи" - av_entities_active_instances_url: "Активные экземпляры" - av_other_sub_title: "Другое" - av_other_debug_base_url: "База (для отладки base.jade)" - u_title: "Список пользователей" - lg_title: "Последние игры" - clas: "ЛСС" - - editor: - main_title: "Редакторы CodeCombat" - main_description: "Создавайте ваши собственные уровни, кампании, юнитов и обучающий контент. Мы предоставляем все необходимые инструменты!" - article_title: "Редактор статей" - article_description: "Пишите статьи, дающие представление игрокам о концепциях программирования, которые могут быть использованы в различных уровнях и кампаниях." - thang_title: "Редактор объектов" - thang_description: "Создавайте юнитов, определяйте их логику по умолчанию, графику и звук. В настоящий момент поддерживается импорт только векторной графики Flash." - level_title: "Редактор уровней" - level_description: "Включает в себя инструменты для написания сценариев, загрузки аудио и построения собственной логики для создания всевозможных уровней. Всё, что мы используем сами!" - security_notice: "Многие основные возможности в этих редакторах в настоящее время не включены по умолчанию. Как только мы повысим безопасность этих систем, они станут общедоступными. Если вам хотелось бы использовать эти возможности раньше, " - contact_us: "свяжитесь с нами!" - hipchat_prefix: "Также вы можете найти нас в нашей" - hipchat_url: "комнате HipChat." - revert: "Откатить" - revert_models: "Откатить Модели" - level_some_options: "Ещё опции" - level_tab_thangs: "Объекты" - level_tab_scripts: "Скрипты" - level_tab_settings: "Настройки" - level_tab_components: "Компоненты" - level_tab_systems: "Системы" - level_tab_thangs_title: "Текущие объекты" - level_tab_thangs_conditions: "Начальные условия" - level_tab_thangs_add: "Добавить объект" - level_settings_title: "Настройки" - level_component_tab_title: "Текущие компоненты" - level_component_btn_new: "Создать новый компонент" - level_systems_tab_title: "Текущие системы" - level_systems_btn_new: "Создать новую систему" - level_systems_btn_add: "Добавить систему" - level_components_title: "Вернуться ко всем объектам" - level_components_type: "Тип" - level_component_edit_title: "Редактировать компонент" - level_component_config_schema: "Настройка Schema" - level_component_settings: "Настройки" - level_system_edit_title: "Редактировать систему" - create_system_title: "Создать новую систему" - new_component_title: "Создать новый компонент" - new_component_field_system: "Система" - new_article_title: "Создать новую статью" - new_thang_title: "Создать новый тип объектов" - new_level_title: "Создать новый уровень" - article_search_title: "Искать статьи" - thang_search_title: "Искать типы объектов" - level_search_title: "Искать уровни" - read_only_warning: "Примечание: вы не можете сохранять здесь любые правки, потому что вы не вошли как администратор." - - article: - edit_btn_preview: "Предпросмотр" - edit_article_title: "Редактирование статьи" - - general: - and: "и" - name: "Имя" - body: "Содержание" - version: "Версия" - commit_msg: "Сопроводительное сообщение" - history: "История" - version_history_for: "История версий для: " - result: "Результат" - results: "Результаты" - description: "Описание" - or: "или" - email: "Email" - password: "Пароль" - message: "Сообщение" - code: "Код" - ladder: "Ладдер" - when: "Когда" - opponent: "Противник" - rank: "Ранг" - score: "Счёт" - win: "Победа" - loss: "Поражение" - tie: "Ничья" - easy: "Просто" - medium: "Нормально" - hard: "Сложно" - - about: - who_is_codecombat: "Кто стоит за CodeCombat?" - why_codecombat: "Почему CodeCombat?" - who_description_prefix: "вместе начали CodeCombat в 2013 году. Также мы создали " - who_description_suffix: "в 2008 году, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами." - who_description_ending: "Теперь пришло время научить людей написанию кода." - why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"потерял интерес.\" Каждую неделю очередной товарищ начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решили со Skritter: люди получают навык через медленные, интенсивные уроки, в то время как то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить." - why_paragraph_2: "Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и прекрасно провести время, делая это." - why_paragraph_3_prefix: "Вот где программирование. Это должно быть весело. Не забавно, вроде" - why_paragraph_3_italic: "вау, значок," - why_paragraph_3_center: "а" - why_paragraph_3_italic_caps: "НЕТ, МАМ, Я ДОЛЖЕН ПРОЙТИ УРОВЕНЬ!" - why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не потеряете голову - в данном случае, это хорошо." - why_paragraph_4: "Если вы собираетесь увлечься какой-нибудь игрой, увлекитесь этой и станьте одним из волшебников века информационных технологий." - why_ending: "И да, это бесплатно. " - why_ending_url: "Начни волшебство сейчас!" - george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер и чемпион начинающих программистов во всём мире." - scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен." - nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat." - jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми." - michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности." - glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!" - - legal: - page_title: "Юридическая информация" - opensource_intro: "CodeCombat - бесплатный проект с полностью открытым исходным кодом." - opensource_description_prefix: "Посмотрите " - github_url: "наш GitHub" - opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в " - archmage_wiki_url: "наш вики-портал для Архимагов" - opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной." - practices_title: "Уважаемые лучшие практики" - practices_description: "Это наши обещания тебе, игроку, менее юридическим языком." - privacy_title: "Конфиденциальность" - privacy_description: "Мы не будем продавать какую-либо личную информацию. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." - security_title: "Безопасность" - security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности." - email_title: "Email" - email_description_prefix: "Мы не наводним вас спамом. Через" - email_settings_url: "ваши email настройки" - email_description_suffix: "или через ссылки в email-ах, которые мы отправляем, вы можете изменить предпочтения и легко отписаться в любой момент." - cost_title: "Стоимость" - cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя" - recruitment_title: "Рекрутинг" - recruitment_description_prefix: "Здесь, в CodeCombat, вы собираетесь стать могущественным волшебником не только в игре, но и в реальной жизни." - url_hire_programmers: "Никто не может нанять программистов достаточно быстро" - recruitment_description_suffix: "поэтому, как только вы улучшите свои навыки и будете согласны, мы начнём демонстрировать ваши лучшие программистские достижения тысячам работодателей, пускающих слюни на возможность нанять вас. Они платят нам немного, они платят вам" - recruitment_description_italic: "много" - recruitment_description_ending: "сайт остаётся бесплатным и все счастливы. Таков план." - copyrights_title: "Авторские права и лицензии" - contributor_title: "Лицензионное соглашение соавторов" - contributor_description_prefix: "Все вклады, как на сайте, так и на нашем репозитории GitHub, подпадают под наше" - cla_url: "ЛСС" - contributor_description_suffix: "с которым вы должны согласиться перед началом содействия." - code_title: "Код - MIT" - code_description_prefix: "Весь код, принадлежащий CodeCombat или размещённый на codecombat.com, а также в репозитории GitHub или в базе данных codecombat.com, лицензирован по" - mit_license_url: "лицензии MIT" - code_description_suffix: "Сюда входит весь код Систем и Компонентов, которые доступны на CodeCombat для целей создания уровней." - art_title: "Художественные работы/Музыка - Creative Commons " - art_description_prefix: "Весь основной контент доступен под" - cc_license_url: "лицензией Creative Commons Attribution 4.0 International" - art_description_suffix: "Основной контент это всё, ставшее общедоступным благодаря CodeCombat для целей создания уровней. Сюда входят:" - art_music: "Музыка" - art_sound: "Звук" - art_artwork: "Художественные произведения" - art_sprites: "Спрайты" - art_other: "Любые другие, не являющиеся кодом, творческие работы, которые доступны при создании уровней." - art_access: "В настоящее время не существует универсальной, удобной системы для выделения данных активов. В общем случае, выделите их из URL-ов, аналогично используемым на сайте, свяжитесь с нами для содействия, или помогите нам в расширении сайта, чтобы сделать данные активы более доступными." - art_paragraph_1: "Для атрибуции, пожалуйста, укажите название и разместите ссылку на codecombat.com недалеко от места, где используется источник, или там, где это уместно для среды окружения. Например:" - use_list_1: "При использовании в фильме или другой игре, включите codecombat.com в титры." - use_list_2: "При использовании на веб-сайте, добавьте ссылку рядом с местом использования, например под изображением, или на общей странице атрибуции, где вы могли бы также упомянуть другие работы Creative Commons и программное обеспечение с открытым исходным кодом, используещееся на сайте. То, что уже явно указывает на CodeCombat, например запись блога, упоминающая CodeCombat, не нуждается в отдельной атрибуции." - art_paragraph_2: "Если используемый контент создан не CodeCombat, но пользователем codecombat.com, приписывайте его ему, и следуйте инструкциям атрибуции, представленным в описании данного ресурса, если таковые имеются." - rights_title: "Сохранение прав" - rights_desc: "Все права сохраняются для уровней самих по себе. Сюда входят:" - rights_scripts: "Скрипты" - rights_unit: "Настройка юнитов" - rights_description: "Описание" - rights_writings: "Тексты" - rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней." - rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет." - nutshell_title: "В двух словах" - nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт." - canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет." - - contribute: - page_title: "Сотрудничество" - character_classes_title: "Классы персонажей" - introduction_desc_intro: "Мы возлагаем большие надежды на CodeCombat." - introduction_desc_pref: "Мы хотим быть местом, где программисты всех мастей приходят учиться и играть вместе, знакомить остальных с удивительным миром программирования, и отражают лучшие части сообщества. Мы не можем и не хотим этого делать в одиночку; то, что делает такие проекты, как GitHub, Stack Overflow и Linux великими - люди, которые их используют и создают на их основе. С этой целью " - introduction_desc_github_url: "исходный код CodeCombat полностью открыт" - introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим." - introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!" - introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль, Джереми и Глен" - alert_account_message_intro: "Привет!" - alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала " - alert_account_message_suf: "." - alert_account_message_create_url: "создать аккаунт" - archmage_summary: "Интересует работа над игровой графикой, дизайном пользовательского интерфейса, базой данных и организацией сервера, сетевым мультиплеером, физикой, звуком или производительностью игрового движка? Хотите помочь создать игру для помощи другим людям в изучении того, в чём вы хорошо разбираетесь? У нас много работы, и если вы опытный программист и хотите разрабатывать для CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." - archmage_introduction: "Одна из лучших черт в создании игр - то, что они синтезируют так много различных вещей. Графика, звук, сетевое взаимодействие в режиме реального времени, социальное сетевое взаимодействие, и, конечно, большинство из более распространённых аспектов программирования, от низкоуровневого управления базами данных и администрирования сервера до построения дизайна и интерфейсов, видимых пользователю. У нас много работы, и если вы опытный программист со страстным желанием погрузиться в действительно мельчайшие детали CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." - class_attributes: "Атрибуты класса" - archmage_attribute_1_pref: "Знания о " - archmage_attribute_1_suf: " или желание научиться. Большая часть нашего кода на этом языке. Если вы фанат Ruby или Python, вы будете чувствовать себя как дома. Это JavaScript, но с лучшим синтаксисом." - archmage_attribute_2: "Определённый опыт в программировании и личная инициатива. Мы поможем вам сориентироваться, однако мы не можем тратить много времени для вашего обучения." - how_to_join: "Как присоединиться" - join_desc_1: "Любой желающий может помочь! Просто ознакомьтесь с нашим " - join_desc_2: "чтобы начать, и установите флажок ниже, чтобы отметить себя как отважного Архимага и получать последние новости через email. Хотите поговорить о том, что делать или как принять более активное участие? " - join_desc_3: " или найдите нас в " - join_desc_4: "и мы решим, откуда можно начать!" - join_url_email: "Напишите нам" - join_url_hipchat: "публичной комнате HipChat" - more_about_archmage: "Узнать больше о том, как стать Архимагом" - archmage_subscribe_desc: "Получать email-ы о новых возможностях для программирования и объявления." - artisan_summary_pref: "Хотите проектировать уровни и расширить арсенал CodeCombat? Люди проходят наш контент на порядок быстрее, чем мы его создаём! В данный момент, наш редактор уровней только скелет, так что будьте осторожны. Создание уровней будет немного сложным и глючным. Если у вас есть видение кампаний, связывающих циклы for в" - artisan_summary_suf: ", тогда этот класс для вас." - artisan_introduction_pref: "Мы должны строить дополнительные уровни! Люди будут требовать больше контента и создавать его можем только мы сами. Сейчас ваша рабочая станция первого уровня; наш редактор уровней едва пригоден для использования создателями, так что будьте осторожны. Если у вас есть видение кампаний, связывающих циклы for в" - artisan_introduction_suf: ", тогда этот класс для вас." - artisan_attribute_1: "Любой опыт по созданию подобного контента был бы хорош, например, использование редакторов уровней Blizzard. Но не обязателен!" - artisan_attribute_2: "Страстное желание делать кучу испытаний и итераций. Чтобы создавать хорошие уровни, вам нужно давать их другим и смотреть, как они играют, и быть готовым находить множество вещей для исправления." - artisan_attribute_3: "В настоящее время, выносливость наравне с Искателем приключений. Наш Редактор уровней супер предварителен и печален в использовании. Вас предупредили!" - artisan_join_desc: "Используйте редактор уровней, следуя этим шагам, плюс-минус:" - artisan_join_step1: "Прочитайте документацию." - artisan_join_step2: "Создайте новый уровень и изучите существующие уровни." - artisan_join_step3: "Найдите нас в нашей публичной комнате HipChat для помощи." - artisan_join_step4: "Разместите свои уровни на форуме для обратной связи." - more_about_artisan: "Узнать больше о том, как стать Ремесленником" - artisan_subscribe_desc: "Получать email-ы об обновлениях редактора уровней и объявления." - adventurer_summary: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." - adventurer_introduction: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." - adventurer_attribute_1: "Жажда обучения. Вы хотите научиться программировать и мы хотим научить вас программировать. Вы, вероятно, проведёте большую часть обучения в процессе." - adventurer_attribute_2: "Харизматичность. Будьте нежны, но ясно формулируйте, что нуждается в улучшении и вносите свои предложения по улучшению." - adventurer_join_pref: "Либо объединитесь (или наймите!) с Ремесленником и работайте с ним, или установите флажок ниже для получения email-ов, когда появляются новые уровни для тестирования. Также мы будем размещать записи об уровнях для обзора в наших сетях, таких, как" - adventurer_forum_url: "наш форум" - adventurer_join_suf: "поэтому, если вы предпочитаете получать уведомления таким способом, зарегистрируйтесь там!" - more_about_adventurer: "Узнать больше о том, как стать Искателем приключений" - adventurer_subscribe_desc: "Получать email-ы при появлении новых уровней для тестирования." - scribe_summary_pref: "CodeCombat будет не просто кучей уровней. Он также будет ресурсом знаний в области программирования, к которому игроки могут присоединиться. Таким образом, каждый Ремесленник может ссылаться на подробную статью для назидания игрока: документация сродни тому, что создана " - scribe_summary_suf: ". Если вам нравится объяснять концепции программирования, этот класс для вас." - scribe_introduction_pref: "CodeCombat будет не просто кучей уровней. Он также включает в себя ресурс для познания, вики концепций программирования, которые уровни могут включать. Таким образом, вместо того, чтобы каждому Ремесленнику необходимо было подробно описывать, что такое оператор сравнения, они могут просто связать их уровень с уже написанной в назидание игрокам статьёй, описывающей их. Что-то по аналогии с " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: ". Если ваше представление о веселье это формулирование концепций программирования в форме Markdown, этот класс для вас." - scribe_attribute_1: "Навык в письме - в значительной степени всё, что вам нужно. Не только грамматика и правописание, но и способность передать сложные идеи другим." - contact_us_url: "Свяжитесь с нами" - scribe_join_description: "расскажите нам немного о себе, вашем опыте в программировании и какие вещи вы хотели бы описывать. Отсюда и начнём!" - more_about_scribe: "Узнать больше о том, как стать Писарем" - scribe_subscribe_desc: "Получать email-ы с объявлениями о написании статей." - diplomat_summary: "Существует большой интерес к CodeCombat в других странах, которые не говорят по-английски! Мы ищем переводчиков, которые готовы тратить свое время на перевод текстовой части сайта, так, чтобы CodeCombat стал доступен по всему миру как можно скорее. Если вы хотите помочь CodeCombat стать интернациональным, этот класс для вас." - diplomat_introduction_pref: "Так, одной из вещей, которую мы узнали из " - diplomat_launch_url: "запуска в октябре" - diplomat_introduction_suf: "было то, что есть значительная заинтересованность в CodeCombat в других странах! Мы создаём корпус переводчиков, стремящихся превратить один набор слов в другой набор слов для максимальной доступности CodeCombat по всему миру. Если вы любите видеть контент до официального выхода и получать эти уровни для ваших соотечественников как можно скорее, этот класс для вас." - diplomat_attribute_1: "Свободное владение английским языком и языком, на который вы хотели бы переводить. При передаче сложных идей важно иметь сильную хватку в обоих!" - diplomat_join_pref_github: "Найдите файл локализации вашего языка " - diplomat_github_url: "на GitHub" - diplomat_join_suf_github: ", отредактируйте его онлайн и отправьте запрос на подтверждение изменений. Кроме того, установите флажок ниже, чтобы быть в курсе новых разработок интернационализации!" - more_about_diplomat: "Узнать больше о том, как стать Дипломатом" - diplomat_subscribe_desc: "Получать email-ы о i18n разработках и уровнях для перевода." - ambassador_summary: "Мы пытаемся создать сообщество, и каждое сообщество нуждается в службе поддержки, когда есть проблемы. У нас есть чаты, электронная почта и социальные сети, чтобы наши пользователи могли познакомиться с игрой. Если вы хотите помочь людям втянуться, получать удовольствие и учиться программированию, этот класс для вас." - ambassador_introduction: "Это сообщество, которое мы создаём, и вы соединяете. У нас есть Olark чаты, электронная почта и социальные сети с уймой людей, с которыми нужно поговорить, помочь в ознакомлении с игрой и обучении из неё. Если вы хотите помочь людям втянуться, получать удовольствие, наслаждаться и и куда мы идём, этот класс для вас." - ambassador_attribute_1: "Навыки общения. Уметь определять проблемы игроков и помогать решить их. Кроме того, держите всех нас в курсе о том, что игроки говорят, что им нравится, не нравится и чего хотят больше!" - ambassador_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Отсюда и начнём!" - ambassador_join_note_strong: "Примечание" - ambassador_join_note_desc: "Одним из наших главных приоритетов является создание мультиплеера, где игроки столкнутся с труднорешаемыми уровнями и могут призвать более высокоуровневых волшебников для помощи. Это будет отличным способом для послов делать свое дело. Мы будем держать вас в курсе!" - more_about_ambassador: "Узнать больше о том, как стать Послом" - ambassador_subscribe_desc: "Получать email-ы о разработке мультиплеера и обновлениях в системе поддержки." - counselor_summary: "Ни одна из вышеупомянутых ролей не соответствует тому, в чём вы заинтересованы? Не волнуйтесь, мы в поисках тех, кто хочет приложить руку к разработке CodeCombat! Если вы заинтересованы в обучении, разработке игр, управлением проектами с открытым исходным кодом, или в чём-нибудь ещё, что, как вы думаете, будет актуально для нас, то этот класс для вас." - counselor_introduction_1: "У вас есть жизненный опыт? Другая точка зрения на вещи, которые могут помочь нам решить, как формировать CodeCombat? Из всех этих ролей, эта, возможно, займёт меньше всего времени, но по отдельности, вы можете сделать наибольшие изменения. Мы в поисках морщинистых мудрецов, особенно в таких областях, как: обучение, разработка игр, управление проектами с открытым исходным кодом, технической рекрутинг, предпринимательство или дизайн." - counselor_introduction_2: "Или действительно всё, что имеет отношение к развитию CodeCombat. Если у вас есть знания и вы хотите поделиться ими, чтобы помочь вырастить этот проект, то этот класс для вас." - counselor_attribute_1: "Опыт, в любой из областей выше, или в том, что, как вы думаете, может быть полезным." - counselor_attribute_2: "Немного свободного времени!" - counselor_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Мы поместим вас в наш список контактов и выйдем на связь, когда нам понадобится совет(не слишком часто)." - more_about_counselor: "Узнать больше о том, как стать Советником" - changes_auto_save: "Изменения сохраняются автоматически при переключении флажков." - diligent_scribes: "Наши старательные Писари:" - powerful_archmages: "Наши могущественные Архимаги:" - creative_artisans: "Наши творческие Ремесленники:" - brave_adventurers: "Наши отважные Искатели приключений:" - translating_diplomats: "Наши переводящие Дипломаты:" - helpful_ambassadors: "Наши полезные Послы:" - - classes: - archmage_title: "Архимаг" - archmage_title_description: "(программист)" - artisan_title: "Ремесленник" - artisan_title_description: "(создатель уровней)" - adventurer_title: "Искатель приключений" - adventurer_title_description: "(тестировщик уровней)" - scribe_title: "Писарь" - scribe_title_description: "(редактор статей)" - diplomat_title: "Дипломат" - diplomat_title_description: "(переводчик)" - ambassador_title: "Посол" - ambassador_title_description: "(поддержка)" - counselor_title: "Советник" - counselor_title_description: "(эксперт/учитель)" - - ladder: - please_login: "Пожалуйста, перед игрой для ладдера, войдите в аккаунт." - my_matches: "Мои матчи" - simulate: "Симулирование" - simulation_explanation: "Симулированием игр вы сможете быстрее получить оценку игры!" - simulate_games: "Симулировать игры!" - simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ" - games_simulated_by: "Игры, симулированные вами:" - games_simulated_for: "Игры, симулированные за вас:" - leaderboard: "таблица лидеров" - battle_as: "Сразиться за " - summary_your: "Ваши " - summary_matches: "матчи - " - summary_wins: " побед, " - summary_losses: " поражений" - rank_no_code: "Нет нового кода для оценки" - rank_my_game: "Оценить мою игру!" - rank_submitting: "Отправка..." - rank_submitted: "Отправлено для оценки" - rank_failed: "Сбой в оценке" - rank_being_ranked: "Игра оценивается" - code_being_simulated: "Ваш новый код участвует в симуляции других игроков для оценки. Обновление будет при поступлении новых матчей." - no_ranked_matches_pre: "Нет оценённых матчей для команды" - no_ranked_matches_post: "! Сыграйте против нескольких противников и возвращайтесь сюда для оценки вашей игры." - choose_opponent: "Выберите противника" - tutorial_play: "Пройти обучение" - tutorial_recommended: "Рекомендуется, если вы раньше никогда не играли" - tutorial_skip: "Пропустить обучение" - tutorial_not_sure: "Не уверены, что делать дальше?" - tutorial_play_first: "Сначала пройдите обучение." - simple_ai: "Простой ИИ" - warmup: "Разминка" - vs: "против" - - multiplayer_launch: - introducing_dungeon_arena: "Представляем Арену подземелья" - new_way: "Новый способ соревноваться с помощью кода." - to_battle: "В бой, разработчики!" - modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы." - arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь." - ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров – затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" - fork_our_arenas: "сделать модификации наших арен" - create_worlds: "и создавать свои собственные миры." - javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть" - tutorial: "обучение" - new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." - so_ready: "Я полностью готов(а) для этого" - - loading_error: - could_not_load: "Ошибка загрузки с сервера" - connection_failure: "Соединение прервано." - unauthorized: "Вам необходимо авторизоваться. У вас отключены cookie?" - forbidden: "У вас нет прав доступа." - not_found: "Не найдено." - not_allowed: "Метод не поддерживается." - timeout: "Тайм-аут сервера." - conflict: "Конфликт ресурсов." - bad_input: "Неверные входные данные." - server_error: "Ошибка сервера." - unknown: "Неизвестная ошибка." - - resources: - your_sessions: "Ваши сессии" - level: "Уровень" - social_network_apis: "API социальных сетей" - facebook_status: "Статус Facebook" - facebook_friends: "Друзья Facebook" - facebook_friend_sessions: "Сессии друзей Facebook" - gplus_friends: "Друзья G+" - gplus_friend_sessions: "Сессии друзей G+" - leaderboard: "таблица лидеров" +module.exports = nativeDescription: "русский", englishDescription: "Russian", translation: + common: + loading: "Загрузка..." + saving: "Сохранение..." + sending: "Отправка..." + cancel: "Отмена" + save: "Сохранить" + create: "Создать" + delay_1_sec: "1 секунда" + delay_3_sec: "3 секунды" + delay_5_sec: "5 секунд" + manual: "Вручную" + fork: "Форк" + play: "Играть" + retry: "Повторить" + + units: + second: "секунда" + seconds: "секунд(ы)" + minute: "минута" + minutes: "минут(ы)" + hour: "час" + hours: "часа(ов)" + + modal: + close: "Закрыть" + okay: "OK" + + not_found: + page_not_found: "Страница не найдена" + + nav: + play: "Уровни" + editor: "Редактор" + blog: "Блог" + forum: "Форум" + admin: "Админ" + home: "Домой" + contribute: "Сотрудничество" + legal: "Юридическая информация" + about: "О нас" + contact: "Контакты" + twitter_follow: "Подписаться" + employers: "Работодателям" + + versions: + save_version_title: "Сохранить новую версию" + new_major_version: "Новая основная версия" + cla_prefix: "Чтобы сохранить изменения, сначала вы должны согласиться с нашим" + cla_url: "лицензионным соглашением соавторов" + cla_suffix: "." + cla_agree: "Я СОГЛАСЕН" + + login: + sign_up: "Создать аккаунт" + log_in: "Войти" + logging_in: "Вход..." + log_out: "Выйти" + recover: "восстановить аккаунт" + + recover: + recover_account_title: "Восстановить аккаунт" + send_password: "Отправить пароль для восстановления" + + signup: + create_account_title: "Создать аккаунт, чтобы сохранить прогресс" + description: "Это бесплатно. Нужна лишь пара вещей, и вы сможете продолжить путешествие:" + email_announcements: "Получать оповещения на email" + coppa: "Вы старше 13 лет или живёте не в США " + coppa_why: "(почему?)" + creating: "Создание аккаунта..." + sign_up: "Регистрация" + log_in: "вход с паролем" + + home: + slogan: "Научитесь программировать на JavaScript, играя в игру" + no_ie: "CodeCombat не работает в IE8 или более старых версиях. Нам очень жаль!" + no_mobile: "CodeCombat не приспособлен для работы на мобильных устройствах и может не работать!" + play: "Играть" + old_browser: "Ой, ваш браузер слишком стар для запуска CodeCombat. Извините!" + old_browser_suffix: "Вы всё равно можете попробовать, но, скорее всего, это не будет работать." + campaign: "Кампания" + for_beginners: "Новичкам" + multiplayer: "Мультиплеер" + for_developers: "Разработчикам" + + play: + choose_your_level: "Выберите ваш уровень" + adventurer_prefix: "Вы можете зайти на любой из этих уровней, а также обсудить уровни на " + adventurer_forum: "форуме Искателей приключений" + adventurer_suffix: "." + campaign_beginner: "Кампания для новичков" + campaign_beginner_description: "... в которой вы познакомитесь с магией программирования." + campaign_dev: "Случайные уровни потруднее" + campaign_dev_description: "... в которых вы изучите интерфейс и научитесь делать кое-что посложнее." + campaign_multiplayer: "Арены для мультиплеера" + campaign_multiplayer_description: "... в которых вы соревнуетесь в программировании с другими игроками." + campaign_player_created: "Уровни игроков" + campaign_player_created_description: "... в которых вы сражаетесь с креативностью ваших друзей <a href=\"/contribute#artisan\">Ремесленников</a>." + level_difficulty: "Сложность: " + play_as: "Играть за " + spectate: "Наблюдать" + + contact: + contact_us: "Связаться с CodeCombat" + welcome: "Мы рады вашему сообщению! Используйте эту форму, чтобы отправить нам email. " + contribute_prefix: "Если вы хотите внести свой вклад в проект, зайдите на нашу " + contribute_page: "страницу сотрудничества" + contribute_suffix: "!" + forum_prefix: "Для любых публичных обсуждений, пожалуйста, используйте " + forum_page: "наш форум" + forum_suffix: "." + send: "Отправить отзыв" + + diplomat_suggestion: + title: "Помогите перевести CodeCombat!" + sub_heading: "Нам нужны ваши языковые навыки." + pitch_body: "Мы создаём CodeCombat на английском, но у нас уже есть игроки со всего мира. Многие из них хотели бы играть на русском, но не знают английского, так что если вы знаете оба этих языка - зарегистрируйтесь как Дипломат и помогите перевести сайт CodeCombat и все уровни на русский язык." + missing_translations: "Пока мы не перевели всё на русский язык, вы будете видеть английский текст в тех частях игры, которые ещё не переведены на русский." + learn_more: "Узнать о том, как стать Дипломатом" + subscribe_as_diplomat: "Зарегистрироваться как Дипломат" + + wizard_settings: + title: "Настройки волшебника" + customize_avatar: "Изменить свой аватар" + active: "Активно" + color: "Цвет" + group: "Группа" + clothes: "Одежда" + trim: "Отделка" + team: "Облако" + spell: "Заклинание" + boots: "Обувь" + hue: "Оттенок" + saturation: "Насыщенность" + lightness: "Светлость" + + account_settings: + title: "Настройки аккаунта" + not_logged_in: "Войдите или зарегистрируйтесь, чтобы изменить настройки." + autosave: "Настройки сохраняются автоматически" + me_tab: "Я" + picture_tab: "Аватар" + wizard_tab: "Волшебник" + password_tab: "Пароль" + emails_tab: "Email-адреса" + admin: "Админ" + gravatar_select: "Выберите, какое фото с Gravatar использовать" + gravatar_add_photos: "Чтобы выбрать изображение, добавьте фото и уменьшенные изображения в ваш Gravatar-аккаунт." + gravatar_add_more_photos: "Добавьте больше фото к вашему аккаунту в Gravatar, чтобы использовать их здесь." + wizard_color: "Цвет одежды волшебника" + new_password: "Новый пароль" + new_password_verify: "Подтверждение пароля" + email_subscriptions: "Email-подписки" + email_announcements: "Оповещения" + email_notifications: "Уведомления" + email_notifications_description: "Получать периодические уведомления для вашего аккаунта." + email_announcements_description: "Получать email-оповещения о последних новостях CodeCombat." + contributor_emails: "Рассылки по классам участников" + contribute_prefix: "Нам нужны люди, которые присоединятся к нашей команде! Зайдите на " + contribute_page: "страницу участников," + contribute_suffix: " чтобы узнать больше." + email_toggle: "Отметить всё" + error_saving: "Ошибка сохранения" + saved: "Изменения сохранены" + password_mismatch: "Пароли не совпадают." + + account_profile: + edit_settings: "Изменить настройки" + profile_for_prefix: "Профиль для " + profile_for_suffix: "" + profile: "Профиль" + user_not_found: "Пользователь не найден. Пожалуйста, проверьте URL." + gravatar_not_found_mine: "Мы не можем найти профиль, связанный с" + gravatar_not_found_email_suffix: "." + gravatar_signup_prefix: "Зарегистрируйтесь на " + gravatar_signup_suffix: ", чтобы настроить профиль." + gravatar_not_found_other: "Нет профиля, связанного с почтой данного пользователя." + gravatar_contact: "Контакты" + gravatar_websites: "Сайты" + gravatar_accounts: "Как показано на" + gravatar_profile_link: "Полный профиль на Gravatar" + + play_level: + level_load_error: "Уровень не может быть загружен: " + done: "Готово" + grid: "Сетка" + customize_wizard: "Настройки волшебника" + home: "На главную" + guide: "Руководство" + multiplayer: "Мультиплеер" + restart: "Перезапустить" + goals: "Цели" + action_timeline: "График действий" + click_to_select: "Выберите персонажа, щёлкнув на нём" + reload_title: "Перезагрузить код полностью?" + reload_really: "Вы уверены, что хотите начать уровень сначала?" + reload_confirm: "Перезагрузить всё" + victory_title_prefix: "Уровень " + victory_title_suffix: " завершён" + victory_sign_up: "Зарегистрироваться" + victory_sign_up_poke: "Хотите сохранить ваш код? Создайте бесплатный аккаунт!" + victory_rate_the_level: "Оцените уровень:" + victory_rank_my_game: "Оценить мою игру" + victory_ranking_game: "Отправка..." + victory_return_to_ladder: "Вернуться к ладдеру" + victory_play_next_level: "Следующий уровень" + victory_go_home: "На главную" + victory_review: "Расскажите нам больше!" + victory_hour_of_code_done: "Вы закончили?" + victory_hour_of_code_done_yes: "Да, я закончил мой Час Кода™!" + multiplayer_title: "Настройки мультиплеера" + multiplayer_link_description: "Дайте эту ссылку кому-нибудь, чтоб он присоединился к вам." + multiplayer_hint_label: "Подсказка: " + multiplayer_hint: "кликните на ссылку, чтобы выделить её, затем нажмите ⌘-С или Ctrl-C, чтобы скопировать." + multiplayer_coming_soon: "Больше возможностей мультиплеера на подходе!" + guide_title: "Руководство" + tome_minion_spells: "Заклинания ваших миньонов" + tome_read_only_spells: "Заклинания только для чтения" + tome_other_units: "Другие юниты" + tome_cast_button_castable: "Читать заклинание" + tome_cast_button_casting: "Заклинание читается" + tome_cast_button_cast: "Заклинание прочитано" + tome_autocast_delay: "Задержка автоматического чтения" + tome_select_spell: "Выбрать заклинание" + tome_select_a_thang: "Выбрать кого-нибудь для " + tome_available_spells: "Доступные заклинания" + hud_continue: "Продолжить (Shift+Пробел)" + spell_saved: "Заклинание сохранено" + skip_tutorial: "Пропуск (Esc)" + editor_config: "Настройки редактора" + editor_config_title: "Настройки редактора" + editor_config_language_label: "Язык программирования" + editor_config_language_description: "Определяет язык, на котором вы хотите программировать." + editor_config_keybindings_label: "Сочетания клавиш" + editor_config_keybindings_default: "По умолчанию (Ace)" + editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." + editor_config_invisibles_label: "Показывать непечатные символы" + editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции." + editor_config_indentguides_label: "Показывать направляющие отступов" + editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов." + editor_config_behaviors_label: "Умное поведение" + editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки." + loading_ready: "Готово!" + tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний." + tip_toggle_play: "Переключайте воспроизведение/паузу комбинацией Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд." + tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации." + tip_open_source: "Исходный код CodeCombat открыт на 100%!" + tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013 года." + tip_js_beginning: "JavaScript это только начало." + tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения." + think_solution: "Думайте о решении, а не о проблеме." + tip_theory_practice: "В теории, между практикой и теорией нет разницы. Но на практике есть. - Yogi Berra" + tip_error_free: "Есть два способа писать программы без ошибок; работает только третий. - Alan Perlis" + tip_debugging_program: "Если отладка это процесс удаления багов, то программирование должно быть процессом их добавления. - Edsger W. Dijkstra" + tip_forums: "Заходите на форумы и расскажите нам, что вы думаете!" + tip_baby_coders: "В будущем, даже младенцы будут Архимагами." + tip_morale_improves: "Загрузка будет продолжаться, пока боевой дух не восстановится." + tip_all_species: "Мы верим в равные возможности для обучения программированию, для всех видов." + tip_reticulating: "Ретикуляция сплайнов." + tip_harry: "Ты волшебник, " + tip_great_responsibility: "С большим умением программирования приходит большая ответственность отладки." + tip_munchkin: "Если вы не съедите овощи, манчкин придёт за вами, пока вы спите." + tip_binary: "В мире есть 10 типов людей: те, кто понимают двоичную систему счисления и те, кто не понимают." + tip_commitment_yoda: "Программист верностью принципам обладать должен, и серьёзным умом. ~ Yoda" + tip_no_try: "Делай. Или не делай. Не надо пытаться. - Yoda" + tip_patience: "Терпением ты обладать должен, юный падаван. - Yoda" + tip_documented_bug: "Документированный баг не является багом; это фича." + tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela" + tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds" + tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay" + time_current: "Текущее:" + time_total: "Максимальное:" + time_goto: "Перейти на:" + + admin: + av_title: "Админ панель" + av_entities_sub_title: "Сущности" + av_entities_users_url: "Пользователи" + av_entities_active_instances_url: "Активные экземпляры" + av_other_sub_title: "Другое" + av_other_debug_base_url: "База (для отладки base.jade)" + u_title: "Список пользователей" + lg_title: "Последние игры" + clas: "ЛСС" + + editor: + main_title: "Редакторы CodeCombat" + main_description: "Создавайте ваши собственные уровни, кампании, юнитов и обучающий контент. Мы предоставляем все необходимые инструменты!" + article_title: "Редактор статей" + article_description: "Пишите статьи, дающие представление игрокам о концепциях программирования, которые могут быть использованы в различных уровнях и кампаниях." + thang_title: "Редактор объектов" + thang_description: "Создавайте юнитов, определяйте их логику по умолчанию, графику и звук. В настоящий момент поддерживается импорт только векторной графики Flash." + level_title: "Редактор уровней" + level_description: "Включает в себя инструменты для написания сценариев, загрузки аудио и построения собственной логики для создания всевозможных уровней. Всё, что мы используем сами!" + security_notice: "Многие основные возможности в этих редакторах в настоящее время не включены по умолчанию. Как только мы повысим безопасность этих систем, они станут общедоступными. Если вам хотелось бы использовать эти возможности раньше, " + contact_us: "свяжитесь с нами!" + hipchat_prefix: "Также вы можете найти нас в нашей" + hipchat_url: "комнате HipChat." + revert: "Откатить" + revert_models: "Откатить Модели" + level_some_options: "Ещё опции" + level_tab_thangs: "Объекты" + level_tab_scripts: "Скрипты" + level_tab_settings: "Настройки" + level_tab_components: "Компоненты" + level_tab_systems: "Системы" + level_tab_thangs_title: "Текущие объекты" + level_tab_thangs_conditions: "Начальные условия" + level_tab_thangs_add: "Добавить объект" + level_settings_title: "Настройки" + level_component_tab_title: "Текущие компоненты" + level_component_btn_new: "Создать новый компонент" + level_systems_tab_title: "Текущие системы" + level_systems_btn_new: "Создать новую систему" + level_systems_btn_add: "Добавить систему" + level_components_title: "Вернуться ко всем объектам" + level_components_type: "Тип" + level_component_edit_title: "Редактировать компонент" + level_component_config_schema: "Настройка Schema" + level_component_settings: "Настройки" + level_system_edit_title: "Редактировать систему" + create_system_title: "Создать новую систему" + new_component_title: "Создать новый компонент" + new_component_field_system: "Система" + new_article_title: "Создать новую статью" + new_thang_title: "Создать новый тип объектов" + new_level_title: "Создать новый уровень" + article_search_title: "Искать статьи" + thang_search_title: "Искать типы объектов" + level_search_title: "Искать уровни" + read_only_warning: "Примечание: вы не можете сохранять здесь любые правки, потому что вы не вошли как администратор." + + article: + edit_btn_preview: "Предпросмотр" + edit_article_title: "Редактирование статьи" + + general: + and: "и" + name: "Имя" + body: "Содержание" + version: "Версия" + commit_msg: "Сопроводительное сообщение" + history: "История" + version_history_for: "История версий для: " + result: "Результат" + results: "Результаты" + description: "Описание" + or: "или" + email: "Email" + password: "Пароль" + message: "Сообщение" + code: "Код" + ladder: "Ладдер" + when: "Когда" + opponent: "Противник" + rank: "Ранг" + score: "Счёт" + win: "Победа" + loss: "Поражение" + tie: "Ничья" + easy: "Просто" + medium: "Нормально" + hard: "Сложно" + + about: + who_is_codecombat: "Кто стоит за CodeCombat?" + why_codecombat: "Почему CodeCombat?" + who_description_prefix: "вместе начали CodeCombat в 2013 году. Также мы создали " + who_description_suffix: "в 2008 году, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами." + who_description_ending: "Теперь пришло время научить людей написанию кода." + why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"потерял интерес.\" Каждую неделю очередной товарищ начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решили со Skritter: люди получают навык через медленные, интенсивные уроки, в то время как то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить." + why_paragraph_2: "Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и прекрасно провести время, делая это." + why_paragraph_3_prefix: "Вот где программирование. Это должно быть весело. Не забавно, вроде" + why_paragraph_3_italic: "вау, значок," + why_paragraph_3_center: "а" + why_paragraph_3_italic_caps: "НЕТ, МАМ, Я ДОЛЖЕН ПРОЙТИ УРОВЕНЬ!" + why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не потеряете голову - в данном случае, это хорошо." + why_paragraph_4: "Если вы собираетесь увлечься какой-нибудь игрой, увлекитесь этой и станьте одним из волшебников века информационных технологий." + why_ending: "И да, это бесплатно. " + why_ending_url: "Начни волшебство сейчас!" + george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер и чемпион начинающих программистов во всём мире." + scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен." + nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat." + jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми." + michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности." + glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!" + + legal: + page_title: "Юридическая информация" + opensource_intro: "CodeCombat - бесплатный проект с полностью открытым исходным кодом." + opensource_description_prefix: "Посмотрите " + github_url: "наш GitHub" + opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в " + archmage_wiki_url: "наш вики-портал для Архимагов" + opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной." + practices_title: "Уважаемые лучшие практики" + practices_description: "Это наши обещания тебе, игроку, менее юридическим языком." + privacy_title: "Конфиденциальность" + privacy_description: "Мы не будем продавать какую-либо личную информацию. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." + security_title: "Безопасность" + security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности." + email_title: "Email" + email_description_prefix: "Мы не наводним вас спамом. Через" + email_settings_url: "ваши email настройки" + email_description_suffix: "или через ссылки в email-ах, которые мы отправляем, вы можете изменить предпочтения и легко отписаться в любой момент." + cost_title: "Стоимость" + cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя" + recruitment_title: "Рекрутинг" + recruitment_description_prefix: "Здесь, в CodeCombat, вы собираетесь стать могущественным волшебником не только в игре, но и в реальной жизни." + url_hire_programmers: "Никто не может нанять программистов достаточно быстро" + recruitment_description_suffix: "поэтому, как только вы улучшите свои навыки и будете согласны, мы начнём демонстрировать ваши лучшие программистские достижения тысячам работодателей, пускающих слюни на возможность нанять вас. Они платят нам немного, они платят вам" + recruitment_description_italic: "много" + recruitment_description_ending: "сайт остаётся бесплатным и все счастливы. Таков план." + copyrights_title: "Авторские права и лицензии" + contributor_title: "Лицензионное соглашение соавторов" + contributor_description_prefix: "Все вклады, как на сайте, так и на нашем репозитории GitHub, подпадают под наше" + cla_url: "ЛСС" + contributor_description_suffix: "с которым вы должны согласиться перед началом содействия." + code_title: "Код - MIT" + code_description_prefix: "Весь код, принадлежащий CodeCombat или размещённый на codecombat.com, а также в репозитории GitHub или в базе данных codecombat.com, лицензирован по" + mit_license_url: "лицензии MIT" + code_description_suffix: "Сюда входит весь код Систем и Компонентов, которые доступны на CodeCombat для целей создания уровней." + art_title: "Художественные работы/Музыка - Creative Commons " + art_description_prefix: "Весь основной контент доступен под" + cc_license_url: "лицензией Creative Commons Attribution 4.0 International" + art_description_suffix: "Основной контент это всё, ставшее общедоступным благодаря CodeCombat для целей создания уровней. Сюда входят:" + art_music: "Музыка" + art_sound: "Звук" + art_artwork: "Художественные произведения" + art_sprites: "Спрайты" + art_other: "Любые другие, не являющиеся кодом, творческие работы, которые доступны при создании уровней." + art_access: "В настоящее время не существует универсальной, удобной системы для выделения данных активов. В общем случае, выделите их из URL-ов, аналогично используемым на сайте, свяжитесь с нами для содействия, или помогите нам в расширении сайта, чтобы сделать данные активы более доступными." + art_paragraph_1: "Для атрибуции, пожалуйста, укажите название и разместите ссылку на codecombat.com недалеко от места, где используется источник, или там, где это уместно для среды окружения. Например:" + use_list_1: "При использовании в фильме или другой игре, включите codecombat.com в титры." + use_list_2: "При использовании на веб-сайте, добавьте ссылку рядом с местом использования, например под изображением, или на общей странице атрибуции, где вы могли бы также упомянуть другие работы Creative Commons и программное обеспечение с открытым исходным кодом, используещееся на сайте. То, что уже явно указывает на CodeCombat, например запись блога, упоминающая CodeCombat, не нуждается в отдельной атрибуции." + art_paragraph_2: "Если используемый контент создан не CodeCombat, но пользователем codecombat.com, приписывайте его ему, и следуйте инструкциям атрибуции, представленным в описании данного ресурса, если таковые имеются." + rights_title: "Сохранение прав" + rights_desc: "Все права сохраняются для уровней самих по себе. Сюда входят:" + rights_scripts: "Скрипты" + rights_unit: "Настройка юнитов" + rights_description: "Описание" + rights_writings: "Тексты" + rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней." + rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет." + nutshell_title: "В двух словах" + nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт." + canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет." + + contribute: + page_title: "Сотрудничество" + character_classes_title: "Классы персонажей" + introduction_desc_intro: "Мы возлагаем большие надежды на CodeCombat." + introduction_desc_pref: "Мы хотим быть местом, где программисты всех мастей приходят учиться и играть вместе, знакомить остальных с удивительным миром программирования, и отражают лучшие части сообщества. Мы не можем и не хотим этого делать в одиночку; то, что делает такие проекты, как GitHub, Stack Overflow и Linux великими - люди, которые их используют и создают на их основе. С этой целью " + introduction_desc_github_url: "исходный код CodeCombat полностью открыт" + introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим." + introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!" + introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль, Джереми и Глен" + alert_account_message_intro: "Привет!" + alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала " + alert_account_message_suf: "." + alert_account_message_create_url: "создать аккаунт" + archmage_summary: "Интересует работа над игровой графикой, дизайном пользовательского интерфейса, базой данных и организацией сервера, сетевым мультиплеером, физикой, звуком или производительностью игрового движка? Хотите помочь создать игру для помощи другим людям в изучении того, в чём вы хорошо разбираетесь? У нас много работы, и если вы опытный программист и хотите разрабатывать для CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." + archmage_introduction: "Одна из лучших черт в создании игр - то, что они синтезируют так много различных вещей. Графика, звук, сетевое взаимодействие в режиме реального времени, социальное сетевое взаимодействие, и, конечно, большинство из более распространённых аспектов программирования, от низкоуровневого управления базами данных и администрирования сервера до построения дизайна и интерфейсов, видимых пользователю. У нас много работы, и если вы опытный программист со страстным желанием погрузиться в действительно мельчайшие детали CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." + class_attributes: "Атрибуты класса" + archmage_attribute_1_pref: "Знания о " + archmage_attribute_1_suf: " или желание научиться. Большая часть нашего кода на этом языке. Если вы фанат Ruby или Python, вы будете чувствовать себя как дома. Это JavaScript, но с лучшим синтаксисом." + archmage_attribute_2: "Определённый опыт в программировании и личная инициатива. Мы поможем вам сориентироваться, однако мы не можем тратить много времени для вашего обучения." + how_to_join: "Как присоединиться" + join_desc_1: "Любой желающий может помочь! Просто ознакомьтесь с нашим " + join_desc_2: "чтобы начать, и установите флажок ниже, чтобы отметить себя как отважного Архимага и получать последние новости через email. Хотите поговорить о том, что делать или как принять более активное участие? " + join_desc_3: " или найдите нас в " + join_desc_4: "и мы решим, откуда можно начать!" + join_url_email: "Напишите нам" + join_url_hipchat: "публичной комнате HipChat" + more_about_archmage: "Узнать больше о том, как стать Архимагом" + archmage_subscribe_desc: "Получать email-ы о новых возможностях для программирования и объявления." + artisan_summary_pref: "Хотите проектировать уровни и расширить арсенал CodeCombat? Люди проходят наш контент на порядок быстрее, чем мы его создаём! В данный момент, наш редактор уровней только скелет, так что будьте осторожны. Создание уровней будет немного сложным и глючным. Если у вас есть видение кампаний, связывающих циклы for в" + artisan_summary_suf: ", тогда этот класс для вас." + artisan_introduction_pref: "Мы должны строить дополнительные уровни! Люди будут требовать больше контента и создавать его можем только мы сами. Сейчас ваша рабочая станция первого уровня; наш редактор уровней едва пригоден для использования создателями, так что будьте осторожны. Если у вас есть видение кампаний, связывающих циклы for в" + artisan_introduction_suf: ", тогда этот класс для вас." + artisan_attribute_1: "Любой опыт по созданию подобного контента был бы хорош, например, использование редакторов уровней Blizzard. Но не обязателен!" + artisan_attribute_2: "Страстное желание делать кучу испытаний и итераций. Чтобы создавать хорошие уровни, вам нужно давать их другим и смотреть, как они играют, и быть готовым находить множество вещей для исправления." + artisan_attribute_3: "В настоящее время, выносливость наравне с Искателем приключений. Наш Редактор уровней супер предварителен и печален в использовании. Вас предупредили!" + artisan_join_desc: "Используйте редактор уровней, следуя этим шагам, плюс-минус:" + artisan_join_step1: "Прочитайте документацию." + artisan_join_step2: "Создайте новый уровень и изучите существующие уровни." + artisan_join_step3: "Найдите нас в нашей публичной комнате HipChat для помощи." + artisan_join_step4: "Разместите свои уровни на форуме для обратной связи." + more_about_artisan: "Узнать больше о том, как стать Ремесленником" + artisan_subscribe_desc: "Получать email-ы об обновлениях редактора уровней и объявления." + adventurer_summary: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." + adventurer_introduction: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." + adventurer_attribute_1: "Жажда обучения. Вы хотите научиться программировать и мы хотим научить вас программировать. Вы, вероятно, проведёте большую часть обучения в процессе." + adventurer_attribute_2: "Харизматичность. Будьте нежны, но ясно формулируйте, что нуждается в улучшении и вносите свои предложения по улучшению." + adventurer_join_pref: "Либо объединитесь (или наймите!) с Ремесленником и работайте с ним, или установите флажок ниже для получения email-ов, когда появляются новые уровни для тестирования. Также мы будем размещать записи об уровнях для обзора в наших сетях, таких, как" + adventurer_forum_url: "наш форум" + adventurer_join_suf: "поэтому, если вы предпочитаете получать уведомления таким способом, зарегистрируйтесь там!" + more_about_adventurer: "Узнать больше о том, как стать Искателем приключений" + adventurer_subscribe_desc: "Получать email-ы при появлении новых уровней для тестирования." + scribe_summary_pref: "CodeCombat будет не просто кучей уровней. Он также будет ресурсом знаний в области программирования, к которому игроки могут присоединиться. Таким образом, каждый Ремесленник может ссылаться на подробную статью для назидания игрока: документация сродни тому, что создана " + scribe_summary_suf: ". Если вам нравится объяснять концепции программирования, этот класс для вас." + scribe_introduction_pref: "CodeCombat будет не просто кучей уровней. Он также включает в себя ресурс для познания, вики концепций программирования, которые уровни могут включать. Таким образом, вместо того, чтобы каждому Ремесленнику необходимо было подробно описывать, что такое оператор сравнения, они могут просто связать их уровень с уже написанной в назидание игрокам статьёй, описывающей их. Что-то по аналогии с " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: ". Если ваше представление о веселье это формулирование концепций программирования в форме Markdown, этот класс для вас." + scribe_attribute_1: "Навык в письме - в значительной степени всё, что вам нужно. Не только грамматика и правописание, но и способность передать сложные идеи другим." + contact_us_url: "Свяжитесь с нами" + scribe_join_description: "расскажите нам немного о себе, вашем опыте в программировании и какие вещи вы хотели бы описывать. Отсюда и начнём!" + more_about_scribe: "Узнать больше о том, как стать Писарем" + scribe_subscribe_desc: "Получать email-ы с объявлениями о написании статей." + diplomat_summary: "Существует большой интерес к CodeCombat в других странах, которые не говорят по-английски! Мы ищем переводчиков, которые готовы тратить свое время на перевод текстовой части сайта, так, чтобы CodeCombat стал доступен по всему миру как можно скорее. Если вы хотите помочь CodeCombat стать интернациональным, этот класс для вас." + diplomat_introduction_pref: "Так, одной из вещей, которую мы узнали из " + diplomat_launch_url: "запуска в октябре" + diplomat_introduction_suf: "было то, что есть значительная заинтересованность в CodeCombat в других странах! Мы создаём корпус переводчиков, стремящихся превратить один набор слов в другой набор слов для максимальной доступности CodeCombat по всему миру. Если вы любите видеть контент до официального выхода и получать эти уровни для ваших соотечественников как можно скорее, этот класс для вас." + diplomat_attribute_1: "Свободное владение английским языком и языком, на который вы хотели бы переводить. При передаче сложных идей важно иметь сильную хватку в обоих!" + diplomat_join_pref_github: "Найдите файл локализации вашего языка " + diplomat_github_url: "на GitHub" + diplomat_join_suf_github: ", отредактируйте его онлайн и отправьте запрос на подтверждение изменений. Кроме того, установите флажок ниже, чтобы быть в курсе новых разработок интернационализации!" + more_about_diplomat: "Узнать больше о том, как стать Дипломатом" + diplomat_subscribe_desc: "Получать email-ы о i18n разработках и уровнях для перевода." + ambassador_summary: "Мы пытаемся создать сообщество, и каждое сообщество нуждается в службе поддержки, когда есть проблемы. У нас есть чаты, электронная почта и социальные сети, чтобы наши пользователи могли познакомиться с игрой. Если вы хотите помочь людям втянуться, получать удовольствие и учиться программированию, этот класс для вас." + ambassador_introduction: "Это сообщество, которое мы создаём, и вы соединяете. У нас есть Olark чаты, электронная почта и социальные сети с уймой людей, с которыми нужно поговорить, помочь в ознакомлении с игрой и обучении из неё. Если вы хотите помочь людям втянуться, получать удовольствие, наслаждаться и и куда мы идём, этот класс для вас." + ambassador_attribute_1: "Навыки общения. Уметь определять проблемы игроков и помогать решить их. Кроме того, держите всех нас в курсе о том, что игроки говорят, что им нравится, не нравится и чего хотят больше!" + ambassador_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Отсюда и начнём!" + ambassador_join_note_strong: "Примечание" + ambassador_join_note_desc: "Одним из наших главных приоритетов является создание мультиплеера, где игроки столкнутся с труднорешаемыми уровнями и могут призвать более высокоуровневых волшебников для помощи. Это будет отличным способом для послов делать свое дело. Мы будем держать вас в курсе!" + more_about_ambassador: "Узнать больше о том, как стать Послом" + ambassador_subscribe_desc: "Получать email-ы о разработке мультиплеера и обновлениях в системе поддержки." + counselor_summary: "Ни одна из вышеупомянутых ролей не соответствует тому, в чём вы заинтересованы? Не волнуйтесь, мы в поисках тех, кто хочет приложить руку к разработке CodeCombat! Если вы заинтересованы в обучении, разработке игр, управлением проектами с открытым исходным кодом, или в чём-нибудь ещё, что, как вы думаете, будет актуально для нас, то этот класс для вас." + counselor_introduction_1: "У вас есть жизненный опыт? Другая точка зрения на вещи, которые могут помочь нам решить, как формировать CodeCombat? Из всех этих ролей, эта, возможно, займёт меньше всего времени, но по отдельности, вы можете сделать наибольшие изменения. Мы в поисках морщинистых мудрецов, особенно в таких областях, как: обучение, разработка игр, управление проектами с открытым исходным кодом, технической рекрутинг, предпринимательство или дизайн." + counselor_introduction_2: "Или действительно всё, что имеет отношение к развитию CodeCombat. Если у вас есть знания и вы хотите поделиться ими, чтобы помочь вырастить этот проект, то этот класс для вас." + counselor_attribute_1: "Опыт, в любой из областей выше, или в том, что, как вы думаете, может быть полезным." + counselor_attribute_2: "Немного свободного времени!" + counselor_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Мы поместим вас в наш список контактов и выйдем на связь, когда нам понадобится совет(не слишком часто)." + more_about_counselor: "Узнать больше о том, как стать Советником" + changes_auto_save: "Изменения сохраняются автоматически при переключении флажков." + diligent_scribes: "Наши старательные Писари:" + powerful_archmages: "Наши могущественные Архимаги:" + creative_artisans: "Наши творческие Ремесленники:" + brave_adventurers: "Наши отважные Искатели приключений:" + translating_diplomats: "Наши переводящие Дипломаты:" + helpful_ambassadors: "Наши полезные Послы:" + + classes: + archmage_title: "Архимаг" + archmage_title_description: "(программист)" + artisan_title: "Ремесленник" + artisan_title_description: "(создатель уровней)" + adventurer_title: "Искатель приключений" + adventurer_title_description: "(тестировщик уровней)" + scribe_title: "Писарь" + scribe_title_description: "(редактор статей)" + diplomat_title: "Дипломат" + diplomat_title_description: "(переводчик)" + ambassador_title: "Посол" + ambassador_title_description: "(поддержка)" + counselor_title: "Советник" + counselor_title_description: "(эксперт/учитель)" + + ladder: + please_login: "Пожалуйста, перед игрой для ладдера, войдите в аккаунт." + my_matches: "Мои матчи" + simulate: "Симулирование" + simulation_explanation: "Симулированием игр вы сможете быстрее получить оценку игры!" + simulate_games: "Симулировать игры!" + simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ" + games_simulated_by: "Игры, симулированные вами:" + games_simulated_for: "Игры, симулированные за вас:" + leaderboard: "таблица лидеров" + battle_as: "Сразиться за " + summary_your: "Ваши " + summary_matches: "матчи - " + summary_wins: " побед, " + summary_losses: " поражений" + rank_no_code: "Нет нового кода для оценки" + rank_my_game: "Оценить мою игру!" + rank_submitting: "Отправка..." + rank_submitted: "Отправлено для оценки" + rank_failed: "Сбой в оценке" + rank_being_ranked: "Игра оценивается" + code_being_simulated: "Ваш новый код участвует в симуляции других игроков для оценки. Обновление будет при поступлении новых матчей." + no_ranked_matches_pre: "Нет оценённых матчей для команды" + no_ranked_matches_post: "! Сыграйте против нескольких противников и возвращайтесь сюда для оценки вашей игры." + choose_opponent: "Выберите противника" + tutorial_play: "Пройти обучение" + tutorial_recommended: "Рекомендуется, если вы раньше никогда не играли" + tutorial_skip: "Пропустить обучение" + tutorial_not_sure: "Не уверены, что делать дальше?" + tutorial_play_first: "Сначала пройдите обучение." + simple_ai: "Простой ИИ" + warmup: "Разминка" + vs: "против" + + multiplayer_launch: + introducing_dungeon_arena: "Представляем Арену подземелья" + new_way: "Новый способ соревноваться с помощью кода." + to_battle: "В бой, разработчики!" + modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы." + arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь." + ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров – затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" + fork_our_arenas: "сделать модификации наших арен" + create_worlds: "и создавать свои собственные миры." + javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть" + tutorial: "обучение" + new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." + so_ready: "Я полностью готов(а) для этого" + + loading_error: + could_not_load: "Ошибка загрузки с сервера" + connection_failure: "Соединение прервано." + unauthorized: "Вам необходимо авторизоваться. У вас отключены cookie?" + forbidden: "У вас нет прав доступа." + not_found: "Не найдено." + not_allowed: "Метод не поддерживается." + timeout: "Тайм-аут сервера." + conflict: "Конфликт ресурсов." + bad_input: "Неверные входные данные." + server_error: "Ошибка сервера." + unknown: "Неизвестная ошибка." + + resources: + your_sessions: "Ваши сессии" + level: "Уровень" + social_network_apis: "API социальных сетей" + facebook_status: "Статус Facebook" + facebook_friends: "Друзья Facebook" + facebook_friend_sessions: "Сессии друзей Facebook" + gplus_friends: "Друзья G+" + gplus_friend_sessions: "Сессии друзей G+" + leaderboard: "таблица лидеров" diff --git a/app/templates/account/wizard_settings.jade b/app/templates/account/wizard_settings.jade index 95684394c..f0c95410e 100644 --- a/app/templates/account/wizard_settings.jade +++ b/app/templates/account/wizard_settings.jade @@ -1,9 +1,9 @@ #color-settings table.table.table-bordered tr - th - th Color - th Group + th(data-i18n="wizard_settings.active") Active + th(data-i18n="wizard_settings.color") Color + th(data-i18n="wizard_settings.group") Group for group in colorGroups tr.color-group(data-name=group.name) td.enabled-cell diff --git a/server/articles/article_schema.coffee b/server/articles/article_schema.coffee index 5b488f65b..c5ee48de9 100644 --- a/server/articles/article_schema.coffee +++ b/server/articles/article_schema.coffee @@ -1 +1,13 @@ -c = require '../commons/schemas' ArticleSchema = c.object() c.extendNamedProperties ArticleSchema # name first ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['name', 'body'] } c.extendBasicProperties(ArticleSchema, 'article') c.extendSearchableProperties(ArticleSchema) c.extendVersionedProperties(ArticleSchema, 'article') module.exports = ArticleSchema \ No newline at end of file +c = require '../commons/schemas' + +ArticleSchema = c.object() +c.extendNamedProperties ArticleSchema # name first + +ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } +ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['name', 'body'] } + +c.extendBasicProperties(ArticleSchema, 'article') +c.extendSearchableProperties(ArticleSchema) +c.extendVersionedProperties(ArticleSchema, 'article') + +module.exports = ArticleSchema From 69406df0edd3202daed0092633092cca7b8e12b2 Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Mon, 7 Apr 2014 23:27:42 +0400 Subject: [PATCH 06/79] Work on create_new modal --- app/locale/en.coffee | 1 + app/locale/ru.coffee | 1 + app/templates/kinds/search.jade | 75 +++++++++++++++++---------------- 3 files changed, 40 insertions(+), 37 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 0d61ad01e..c7852ace7 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -330,6 +330,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr article_search_title: "Search Articles Here" thang_search_title: "Search Thang Types Here" level_search_title: "Search Levels Here" + signup_to_create: "Sign Up to Create a New Content" read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 523029ed8..e59a70c5f 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -330,6 +330,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi article_search_title: "Искать статьи" thang_search_title: "Искать типы объектов" level_search_title: "Искать уровни" + signup_to_create: "Авторизуйтесь для создания нового контента" read_only_warning: "Примечание: вы не можете сохранять здесь любые правки, потому что вы не вошли как администратор." article: diff --git a/app/templates/kinds/search.jade b/app/templates/kinds/search.jade index b7babdc95..e50602d68 100644 --- a/app/templates/kinds/search.jade +++ b/app/templates/kinds/search.jade @@ -1,37 +1,38 @@ -extends /templates/base - -block content - div - ol.breadcrumb - li - a(href="/editor", data-i18n="editor.main_title") CodeCombat Editors - li.active(data-i18n="#{currentEditor}") - | #{currentEditor} - - if me.get('anonymous') - a.btn.btn-primary.open-modal-button(data-toggle="coco-modal", data-target="modal/signup", role="button") Sign Up to Create a New #{modelLabel} - else - a.btn.btn-primary.open-modal-button(href='#new-model-modal', role="button", data-toggle="modal" data-i18n="#{currentNew}") Create a New Something - input#search(data-i18n="[placeholder]#{currentSearch}") - hr - div.results - table - - // TODO: make this into a ModalView subview - div.modal.fade#new-model-modal - .modal-dialog - .modal-content - .modal-header - h3 Create New #{modelLabel} - .modal-body - form.form - .form-group - label.control-label(for="name") Name - input#name.form-control(name="name", type="text") - .modal-footer - button.btn(data-dismiss="modal") Cancel - button.btn.btn-primary.new-model-submit Create - .modal-body.wait.secret - h3 Reticulating Splines... - .progress.progress-striped.active - .progress-bar +extends /templates/base + +block content + div + ol.breadcrumb + li + a(href="/editor", data-i18n="editor.main_title") CodeCombat Editors + li.active(data-i18n="#{currentEditor}") + | #{currentEditor} + + if me.get('anonymous') + a.btn.btn-primary.open-modal-button(data-toggle="coco-modal", data-target="modal/signup", role="button", data-i18n="editor.signup_to_create") Sign Up to Create a New Content + else + a.btn.btn-primary.open-modal-button(href='#new-model-modal', role="button", data-toggle="modal", data-i18n="#{currentNew}") Create a New Something + input#search(data-i18n="[placeholder]#{currentSearch}") + hr + div.results + table + + // TODO: make this into a ModalView subview + div.modal.fade#new-model-modal + .modal-dialog + .background-wrapper + .modal-content + .modal-header + h3(data-i18n="#{currentNew}") Create New #{modelLabel} + .modal-body + form.form + .form-group + label.control-label(for="name", data-i18n="general.name") Name + input#name.form-control(name="name", type="text") + .modal-footer + button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel + button.btn.btn-primary.new-model-submit(data-i18n="common.create") Create + .modal-body.wait.secret + h3(data-i18n="play_level.tip_reticulating") Reticulating Splines... + .progress.progress-striped.active + .progress-bar From d64690e8d970f8d7f529c565814ce491f6b8855d Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Tue, 8 Apr 2014 00:29:40 +0400 Subject: [PATCH 07/79] Work on fork modal --- app/locale/en.coffee | 2 ++ app/locale/ru.coffee | 2 ++ app/templates/editor/level/fork.jade | 8 ++++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index c7852ace7..0d775cef1 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -300,6 +300,8 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr hipchat_url: "HipChat room." revert: "Revert" revert_models: "Revert Models" + fork_title: "Fork New Version" + fork_creating: "Creating Fork..." level_some_options: "Some Options?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index e59a70c5f..96f009415 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -300,6 +300,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi hipchat_url: "комнате HipChat." revert: "Откатить" revert_models: "Откатить Модели" + fork_title: "Форк новой версии" + fork_creating: "Создание форка..." level_some_options: "Ещё опции" level_tab_thangs: "Объекты" level_tab_scripts: "Скрипты" diff --git a/app/templates/editor/level/fork.jade b/app/templates/editor/level/fork.jade index 255fc8d80..6c4f43553 100644 --- a/app/templates/editor/level/fork.jade +++ b/app/templates/editor/level/fork.jade @@ -6,12 +6,12 @@ block modal-header-content block modal-body-content form#save-level-form.form .form-group - label(for="level-name") Name + label(for="level-name", data-i18n="general.name") Name input#level-name(name="name", type="text").form-control block modal-footer-content - button.btn(data-dismiss="modal") Cancel - button.btn.btn-primary#fork-level-confirm-button Save + button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel + button.btn.btn-primary#fork-level-confirm-button(data-i18n="common.save") Save block modal-body-wait-content - h3 Creating Fork... + h3(data-i18n="editor.fork_creating") Creating Fork... From 5f062ad25cc2197defdac019c386c2120b918a34 Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Tue, 8 Apr 2014 01:38:46 +0400 Subject: [PATCH 08/79] Work on revert, save modal --- app/locale/en.coffee | 4 ++++ app/locale/ru.coffee | 4 ++++ app/templates/editor/level/save.jade | 20 ++++++++++---------- app/templates/modal/revert.jade | 5 ++++- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 0d775cef1..569eae285 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr versions: save_version_title: "Save New Version" new_major_version: "New Major Version" + update_break_level: "(Could this update break old solutions of the level?)" + update_break_component: "(Could this update break anything depending on this Component?)" + update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "To save changes, first you must agree to our" cla_url: "CLA" cla_suffix: "." @@ -302,6 +305,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr revert_models: "Revert Models" fork_title: "Fork New Version" fork_creating: "Creating Fork..." + level_publish: "Publish This Level (irreversible)?" level_some_options: "Some Options?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 96f009415..d474e74c7 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi versions: save_version_title: "Сохранить новую версию" new_major_version: "Новая основная версия" + update_break_level: "(Может ли это обновление нарушить старые решения уровня?)" + update_break_component: "(Может ли это обновление нарушить что-нибудь, зависящее от данного Компонента?)" + update_break_system: "(Может ли это обновление нарушить что-нибудь, зависящее от данной Системы?)" cla_prefix: "Чтобы сохранить изменения, сначала вы должны согласиться с нашим" cla_url: "лицензионным соглашением соавторов" cla_suffix: "." @@ -302,6 +305,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi revert_models: "Откатить Модели" fork_title: "Форк новой версии" fork_creating: "Создание форка..." + level_publish: "Опубликовать уровень (необратимо)?" level_some_options: "Ещё опции" level_tab_thangs: "Объекты" level_tab_scripts: "Скрипты" diff --git a/app/templates/editor/level/save.jade b/app/templates/editor/level/save.jade index 8ada52b23..e492550bc 100644 --- a/app/templates/editor/level/save.jade +++ b/app/templates/editor/level/save.jade @@ -5,16 +5,16 @@ block modal-body-content if levelNeedsSave form#save-level-form.form .form-group - label.control-label(for="level-commit-message") Commit Message + label.control-label(for="level-commit-message", data-i18n="general.commit_msg") Commit Message textarea.form-control#level-commit-message(name="commit-message", type="text") if level.isPublished() .form-group.checkbox - label.control-label(for="level-version-is-major") Major Changes? + label.control-label(for="level-version-is-major", data-i18n="versions.new_major_version") New Major Version input#level-version-is-major(name="version-is-major", type="checkbox") - span.help-block (Could this update break old solutions of the level?) + span.help-block(data-i18n="versions.update_break_level") (Could this update break old solutions of the level?) if !level.isPublished() .form-group.checkbox - label.control-label(for="level-publish") Publish This Level (irreversible)? + label.control-label(for="level-publish", data-i18n="editor.level_publish") Publish This Level (irreversible)? input#level-publish(name="publish", type="checkbox") if modifiedComponents.length @@ -27,13 +27,13 @@ block modal-body-content input(name="component-original", type="hidden", value=component.get('original')) input(name="component-parent-major-version", type="hidden", value=component.get('version').major) .form-group - label.control-label(for=id + "-commit-message") Commit Message + label.control-label(for=id + "-commit-message", data-i18n="general.commit_msg") Commit Message textarea.form-control(id=id + "-commit-message", name="commit-message", type="text") if component.isPublished() .form-group.checkbox - label.control-label(for=id + "-version-is-major") Major Changes? + label.control-label(for=id + "-version-is-major", data-i18n="versions.new_major_version") New Major Version input(id=id + "-version-is-major", name="version-is-major", type="checkbox") - span.help-block (Could this update break anything depending on this Component?) + span.help-block(data-i18n="versions.update_break_component") (Could this update break anything depending on this Component?) if modifiedSystems.length hr @@ -45,10 +45,10 @@ block modal-body-content input(name="system-original", type="hidden", value=system.get('original')) input(name="system-parent-major-version", type="hidden", value=system.get('version').major) .form-group - label.control-label(for=id + "-commit-message") Commit Message + label.control-label(for=id + "-commit-message", data-i18n="general.commit_msg") Commit Message textarea.form-control(id=id + "-commit-message", name="commit-message", type="text") if system.isPublished() .form-group.checkbox - label.control-label(for=id + "-version-is-major") Major Changes? + label.control-label(for=id + "-version-is-major", data-i18n="versions.new_major_version") New Major Version input(id=id + "-version-is-major", name="version-is-major", type="checkbox") - span.help-block (Could this update break anything depending on this System?) + span.help-block(data-i18n="versions.update_break_system") (Could this update break anything depending on this System?) diff --git a/app/templates/modal/revert.jade b/app/templates/modal/revert.jade index f20edd7d2..7226e25d4 100644 --- a/app/templates/modal/revert.jade +++ b/app/templates/modal/revert.jade @@ -10,4 +10,7 @@ block modal-body-content td | #{model.type()}: #{model.get('name')} td - button(value=model.id) Revert \ No newline at end of file + button(value=model.id, data-i18n="editor.revert") Revert + +block modal-footer-content + button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel \ No newline at end of file From e87c0c4b911cfc8489a6443f11be769255ccd741 Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Tue, 8 Apr 2014 02:49:27 +0400 Subject: [PATCH 09/79] Work on thang tab --- app/locale/en.coffee | 10 ++++++++-- app/locale/ru.coffee | 11 +++++++++-- app/templates/editor/article/edit.jade | 2 +- app/templates/editor/level/component/edit.jade | 2 +- app/templates/editor/level/edit.jade | 10 +++++----- app/templates/editor/level/thangs_tab.jade | 6 +++--- app/templates/editor/thang/edit.jade | 2 +- 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 569eae285..657b6d790 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -301,10 +301,14 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr contact_us: "contact us!" hipchat_prefix: "You can also find us in our" hipchat_url: "HipChat room." + back: "Back" revert: "Revert" revert_models: "Revert Models" fork_title: "Fork New Version" fork_creating: "Creating Fork..." + more: "More" + wiki: "Wiki" + live_chat: "Live Chat" level_publish: "Publish This Level (irreversible)?" level_some_options: "Some Options?" level_tab_thangs: "Thangs" @@ -313,8 +317,11 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr level_tab_components: "Components" level_tab_systems: "Systems" level_tab_thangs_title: "Current Thangs" + level_tab_thangs_all: "All" level_tab_thangs_conditions: "Starting Conditions" level_tab_thangs_add: "Add Thangs" + delete: "Delete" + duplicate: "Duplicate" level_settings_title: "Settings" level_component_tab_title: "Current Components" level_component_btn_new: "Create New Component" @@ -349,7 +356,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr body: "Body" version: "Version" commit_msg: "Commit Message" - history: "History" + version_history: "Version History" version_history_for: "Version History for: " result: "Result" results: "Results" @@ -371,7 +378,6 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr medium: "Medium" hard: "Hard" - about: who_is_codecombat: "Who is CodeCombat?" why_codecombat: "Why CodeCombat?" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index d474e74c7..95026bcda 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -301,10 +301,14 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi contact_us: "свяжитесь с нами!" hipchat_prefix: "Также вы можете найти нас в нашей" hipchat_url: "комнате HipChat." + back: "Назад" revert: "Откатить" revert_models: "Откатить Модели" fork_title: "Форк новой версии" fork_creating: "Создание форка..." + more: "Ещё" + wiki: "Вики" + live_chat: "Онлайн-чат" level_publish: "Опубликовать уровень (необратимо)?" level_some_options: "Ещё опции" level_tab_thangs: "Объекты" @@ -313,8 +317,11 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi level_tab_components: "Компоненты" level_tab_systems: "Системы" level_tab_thangs_title: "Текущие объекты" + level_tab_thangs_all: "Все" level_tab_thangs_conditions: "Начальные условия" level_tab_thangs_add: "Добавить объект" + delete: "Удалить" + duplicate: "Дублировать" level_settings_title: "Настройки" level_component_tab_title: "Текущие компоненты" level_component_btn_new: "Создать новый компонент" @@ -349,7 +356,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi body: "Содержание" version: "Версия" commit_msg: "Сопроводительное сообщение" - history: "История" + version_history: "История версий" version_history_for: "История версий для: " result: "Результат" results: "Результаты" @@ -635,4 +642,4 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi facebook_friend_sessions: "Сессии друзей Facebook" gplus_friends: "Друзья G+" gplus_friend_sessions: "Сессии друзей G+" - leaderboard: "таблица лидеров" + leaderboard: "таблица лидеров" \ No newline at end of file diff --git a/app/templates/editor/article/edit.jade b/app/templates/editor/article/edit.jade index 4969e30e9..5132c65cb 100644 --- a/app/templates/editor/article/edit.jade +++ b/app/templates/editor/article/edit.jade @@ -10,7 +10,7 @@ block content li.active | #{article.attributes.name} - button(data-i18n="general.history").btn.btn-primary#history-button History + button(data-i18n="general.version_history").btn.btn-primary#history-button Version History button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true").btn.btn-primary#revert-button Revert button(data-i18n="article.edit_btn_preview", disabled=authorized === true ? undefined : "true").btn.btn-primary#preview-button Preview button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true").btn.btn-primary#save-button Save diff --git a/app/templates/editor/level/component/edit.jade b/app/templates/editor/level/component/edit.jade index 44d368080..23c24cf6c 100644 --- a/app/templates/editor/level/component/edit.jade +++ b/app/templates/editor/level/component/edit.jade @@ -15,7 +15,7 @@ nav.navbar.navbar-default(role='navigation') li a(href="#component-settings" data-toggle="tab" data-i18n="editor.level_component_settings") Settings ul.nav.navbar-nav.navbar-left - li(data-i18n="general.history").btn.btn-primary.navbar-btn#history-button History + li(data-i18n="general.version_history").btn.btn-primary.navbar-btn#history-button Version History ul.nav.navbar-nav.navbar-right li(data-i18n="editor.level_component_btn_new").btn.btn-primary.navbar-btn#create-new-component-button Create New Component diff --git a/app/templates/editor/level/edit.jade b/app/templates/editor/level/edit.jade index f90485b49..c029c4a73 100644 --- a/app/templates/editor/level/edit.jade +++ b/app/templates/editor/level/edit.jade @@ -7,7 +7,7 @@ block outer_content .container-fluid ul.nav.navbar-nav li - a(href="/editor/level") Back + a(href="/editor/level", data-i18n="editor.back") Back .navbar-header span.navbar-brand span(data-i18n="editor.level_title") Level Editor @@ -37,18 +37,18 @@ block outer_content li.divider li.dropdown - a.dropdown-toggle(href='#', data-toggle='dropdown') + a.dropdown-toggle(href='#', data-toggle='dropdown', data-i18n="editor.more") | More b.caret ul.dropdown-menu li#history-button a(href='#', data-i18n="general.version_history") Version History li - a(href='https://github.com/codecombat/codecombat/wiki/Artisan-Home') Wiki + a(href='https://github.com/codecombat/codecombat/wiki/Artisan-Home', data-i18n="editor.wiki") Wiki li - a(href='http://www.hipchat.com/g3plnOKqa') Live Chat + a(href='http://www.hipchat.com/g3plnOKqa', data-i18n="editor.live_chat") Live Chat li - a(href='http://discourse.codecombat.com/category/artisan') Forum + a(href='http://discourse.codecombat.com/category/artisan', data-i18n="nav.forum") Forum li a(data-toggle="coco-modal", data-target="modal/contact", data-i18n="nav.contact") Email diff --git a/app/templates/editor/level/thangs_tab.jade b/app/templates/editor/level/thangs_tab.jade index b0b86868c..c41c727b8 100644 --- a/app/templates/editor/level/thangs_tab.jade +++ b/app/templates/editor/level/thangs_tab.jade @@ -1,7 +1,7 @@ .thangs-container.thangs-column h3(data-i18n="editor.level_tab_thangs_title") Current Thangs .btn-group(data-toggle="buttons-radio")#extant-thangs-filter - button.btn.btn-primary All + button.btn.btn-primary(data-i18n="editor.level_tab_thangs_all") All button.btn.btn-primary(value="Unit", title="Unit") i.icon-user button.btn.btn-primary(value="Wall", title="Wall") @@ -19,9 +19,9 @@ #canvas-wrapper ul.dropdown-menu#contextmenu li#delete - a Delete + a(data-i18n="editor.delete") Delete li#duplicate - a Duplicate + a(data-i18n="editor.duplicate") Duplicate canvas(width=1848, height=1178)#surface #canvas-left-gradient.gradient #canvas-top-gradient.gradient diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index 1e8ce462d..d307c22e4 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -12,7 +12,7 @@ block content img#portrait.img-thumbnail - button.btn.btn-secondary#history-button(data-i18n="general.history") History + button.btn.btn-secondary#history-button(data-i18n="general.version_history") Version History button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert From f8d68576334fd25faa4715805e0a89cd6bb9171e Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Tue, 8 Apr 2014 10:45:03 +0400 Subject: [PATCH 10/79] Fix crlf --- app/locale/en.coffee | 1288 +++++++++++++++---------------- app/locale/ru.coffee | 1288 +++++++++++++++---------------- app/templates/kinds/search.jade | 76 +- 3 files changed, 1326 insertions(+), 1326 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 657b6d790..ab473a4a2 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -1,645 +1,645 @@ -module.exports = nativeDescription: "English", englishDescription: "English", translation: - common: - loading: "Loading..." - saving: "Saving..." - sending: "Sending..." - cancel: "Cancel" - save: "Save" - create: "Create" - delay_1_sec: "1 second" - delay_3_sec: "3 seconds" - delay_5_sec: "5 seconds" - manual: "Manual" - fork: "Fork" - play: "Play" - retry: "Retry" - - units: - second: "second" - seconds: "seconds" - minute: "minute" - minutes: "minutes" - hour: "hour" - hours: "hours" - - modal: - close: "Close" - okay: "Okay" - - not_found: - page_not_found: "Page not found" - - nav: - play: "Levels" - editor: "Editor" - blog: "Blog" - forum: "Forum" - admin: "Admin" - home: "Home" - contribute: "Contribute" - legal: "Legal" - about: "About" - contact: "Contact" - twitter_follow: "Follow" - employers: "Employers" - - versions: - save_version_title: "Save New Version" - new_major_version: "New Major Version" - update_break_level: "(Could this update break old solutions of the level?)" - update_break_component: "(Could this update break anything depending on this Component?)" - update_break_system: "(Could this update break anything depending on this System?)" - cla_prefix: "To save changes, first you must agree to our" - cla_url: "CLA" - cla_suffix: "." - cla_agree: "I AGREE" - - login: - sign_up: "Create Account" - log_in: "Log In" - logging_in: "Logging In" - log_out: "Log Out" - recover: "recover account" - - recover: - recover_account_title: "Recover Account" - send_password: "Send Recovery Password" - - signup: - create_account_title: "Create Account to Save Progress" - description: "It's free. Just need a couple things and you'll be good to go:" - email_announcements: "Receive announcements by email" - coppa: "13+ or non-USA " - coppa_why: "(Why?)" - creating: "Creating Account..." - sign_up: "Sign Up" - log_in: "log in with password" - - home: - slogan: "Learn to Code JavaScript by Playing a Game" - no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!" - no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" - play: "Play" - old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" - old_browser_suffix: "You can try anyway, but it probably won't work." - campaign: "Campaign" - for_beginners: "For Beginners" - multiplayer: "Multiplayer" - for_developers: "For Developers" - - play: - choose_your_level: "Choose Your Level" - adventurer_prefix: "You can jump to any level below, or discuss the levels on " - adventurer_forum: "the Adventurer forum" - adventurer_suffix: "." - campaign_beginner: "Beginner Campaign" - campaign_beginner_description: "... in which you learn the wizardry of programming." - campaign_dev: "Random Harder Levels" - campaign_dev_description: "... in which you learn the interface while doing something a little harder." - campaign_multiplayer: "Multiplayer Arenas" - campaign_multiplayer_description: "... in which you code head-to-head against other players." - campaign_player_created: "Player-Created" - campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>." - level_difficulty: "Difficulty: " - play_as: "Play As" - spectate: "Spectate" - - contact: - contact_us: "Contact CodeCombat" - welcome: "Good to hear from you! Use this form to send us email. " - contribute_prefix: "If you're interested in contributing, check out our " - contribute_page: "contribute page" - contribute_suffix: "!" - forum_prefix: "For anything public, please try " - forum_page: "our forum" - forum_suffix: " instead." - send: "Send Feedback" - - diplomat_suggestion: - title: "Help translate CodeCombat!" - sub_heading: "We need your language skills." - pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in {English} but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into {English}." - missing_translations: "Until we can translate everything into {English}, you'll see English when {English} isn't available." - learn_more: "Learn more about being a Diplomat" - subscribe_as_diplomat: "Subscribe as a Diplomat" - - wizard_settings: - title: "Wizard Settings" - customize_avatar: "Customize Your Avatar" - active: "Active" - color: "Color" - group: "Group" - clothes: "Clothes" - trim: "Trim" - team: "Cloud" - spell: "Spell" - boots: "Boots" - hue: "Hue" - saturation: "Saturation" - lightness: "Lightness" - - account_settings: - title: "Account Settings" - not_logged_in: "Log in or create an account to change your settings." - autosave: "Changes Save Automatically" - me_tab: "Me" - picture_tab: "Picture" - wizard_tab: "Wizard" - password_tab: "Password" - emails_tab: "Emails" - admin: "Admin" - gravatar_select: "Select which Gravatar photo to use" - gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." - gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." - wizard_color: "Wizard Clothes Color" - new_password: "New Password" - new_password_verify: "Verify" - email_subscriptions: "Email Subscriptions" - email_announcements: "Announcements" - email_notifications: "Notifications" - email_notifications_description: "Get periodic notifications for your account." - email_announcements_description: "Get emails on the latest news and developments at CodeCombat." - contributor_emails: "Contributor Class Emails" - contribute_prefix: "We're looking for people to join our party! Check out the " - contribute_page: "contribute page" - contribute_suffix: " to find out more." - email_toggle: "Toggle All" - error_saving: "Error Saving" - saved: "Changes Saved" - password_mismatch: "Password does not match." - - account_profile: - edit_settings: "Edit Settings" - profile_for_prefix: "Profile for " - profile_for_suffix: "" - profile: "Profile" - user_not_found: "No user found. Check the URL?" - gravatar_not_found_mine: "We couldn't find your profile associated with:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Sign up at " - gravatar_signup_suffix: " to get set up!" - gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." - gravatar_contact: "Contact" - gravatar_websites: "Websites" - gravatar_accounts: "As Seen On" - gravatar_profile_link: "Full Gravatar Profile" - - play_level: - level_load_error: "Level could not be loaded: " - done: "Done" - grid: "Grid" - customize_wizard: "Customize Wizard" - home: "Home" - guide: "Guide" - multiplayer: "Multiplayer" - restart: "Restart" - goals: "Goals" - action_timeline: "Action Timeline" - click_to_select: "Click on a unit to select it." - reload_title: "Reload All Code?" - reload_really: "Are you sure you want to reload this level back to the beginning?" - reload_confirm: "Reload All" - victory_title_prefix: "" - victory_title_suffix: " Complete" - victory_sign_up: "Sign Up to Save Progress" - victory_sign_up_poke: "Want to save your code? Create a free account!" - victory_rate_the_level: "Rate the level: " - victory_rank_my_game: "Rank My Game" - victory_ranking_game: "Submitting..." - victory_return_to_ladder: "Return to Ladder" - victory_play_next_level: "Play Next Level" - victory_go_home: "Go Home" - victory_review: "Tell us more!" - victory_hour_of_code_done: "Are You Done?" - victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" - multiplayer_title: "Multiplayer Settings" - multiplayer_link_description: "Give this link to anyone to have them join you." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." - multiplayer_coming_soon: "More multiplayer features to come!" - guide_title: "Guide" - tome_minion_spells: "Your Minions' Spells" - tome_read_only_spells: "Read-Only Spells" - tome_other_units: "Other Units" - tome_cast_button_castable: "Cast Spell" - tome_cast_button_casting: "Casting" - tome_cast_button_cast: "Spell Cast" - tome_autocast_delay: "Autocast Delay" - tome_select_spell: "Select a Spell" - tome_select_a_thang: "Select Someone for " - tome_available_spells: "Available Spells" - hud_continue: "Continue (shift+space)" - spell_saved: "Spell Saved" - skip_tutorial: "Skip (esc)" - editor_config: "Editor Config" - editor_config_title: "Editor Configuration" - editor_config_language_label: "Programming Language" - editor_config_language_description: "Define the programming language you want to code in." - editor_config_keybindings_label: "Key Bindings" - editor_config_keybindings_default: "Default (Ace)" - editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." - editor_config_invisibles_label: "Show Invisibles" - editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." - editor_config_indentguides_label: "Show Indent Guides" - editor_config_indentguides_description: "Displays vertical lines to see indentation better." - editor_config_behaviors_label: "Smart Behaviors" - editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." - loading_ready: "Ready!" - tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." - tip_toggle_play: "Toggle play/paused with Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." - tip_guide_exists: "Click the guide at the top of the page for useful info." - tip_open_source: "CodeCombat is 100% open source!" - tip_beta_launch: "CodeCombat launched its beta in October, 2013." - tip_js_beginning: "JavaScript is just the beginning." - tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." - think_solution: "Think of the solution, not the problem." - tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" - tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" - tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" - tip_forums: "Head over to the forums and tell us what you think!" - tip_baby_coders: "In the future, even babies will be Archmages." - tip_morale_improves: "Loading will continue until morale improves." - tip_all_species: "We believe in equal opportunities to learn programming for all species." - tip_reticulating: "Reticulating spines." - tip_harry: "Yer a Wizard, " - tip_great_responsibility: "With great coding skill comes great debug responsibility." - tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." - tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." - tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" - tip_no_try: "Do. Or do not. There is no try. - Yoda" - tip_patience: "Patience you must have, young Padawan. - Yoda" - tip_documented_bug: "A documented bug is not a bug; it is a feature." - tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" - tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" - tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" - time_current: "Now:" - time_total: "Max:" - time_goto: "Go to:" - - admin: - av_title: "Admin Views" - av_entities_sub_title: "Entities" - av_entities_users_url: "Users" - av_entities_active_instances_url: "Active Instances" - av_other_sub_title: "Other" - av_other_debug_base_url: "Base (for debugging base.jade)" - u_title: "User List" - lg_title: "Latest Games" - clas: "CLAs" - - editor: - main_title: "CodeCombat Editors" - main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!" - article_title: "Article Editor" - article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns." - thang_title: "Thang Editor" - thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics." - level_title: "Level Editor" - level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!" - security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, " - contact_us: "contact us!" - hipchat_prefix: "You can also find us in our" - hipchat_url: "HipChat room." - back: "Back" - revert: "Revert" - revert_models: "Revert Models" - fork_title: "Fork New Version" - fork_creating: "Creating Fork..." - more: "More" - wiki: "Wiki" - live_chat: "Live Chat" - level_publish: "Publish This Level (irreversible)?" - level_some_options: "Some Options?" - level_tab_thangs: "Thangs" - level_tab_scripts: "Scripts" - level_tab_settings: "Settings" - level_tab_components: "Components" - level_tab_systems: "Systems" - level_tab_thangs_title: "Current Thangs" - level_tab_thangs_all: "All" - level_tab_thangs_conditions: "Starting Conditions" - level_tab_thangs_add: "Add Thangs" - delete: "Delete" - duplicate: "Duplicate" - level_settings_title: "Settings" - level_component_tab_title: "Current Components" - level_component_btn_new: "Create New Component" - level_systems_tab_title: "Current Systems" - level_systems_btn_new: "Create New System" - level_systems_btn_add: "Add System" - level_components_title: "Back to All Thangs" - level_components_type: "Type" - level_component_edit_title: "Edit Component" - level_component_config_schema: "Config Schema" - level_component_settings: "Settings" - level_system_edit_title: "Edit System" - create_system_title: "Create New System" - new_component_title: "Create New Component" - new_component_field_system: "System" - new_article_title: "Create a New Article" - new_thang_title: "Create a New Thang Type" - new_level_title: "Create a New Level" - article_search_title: "Search Articles Here" - thang_search_title: "Search Thang Types Here" - level_search_title: "Search Levels Here" - signup_to_create: "Sign Up to Create a New Content" - read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." - - article: - edit_btn_preview: "Preview" - edit_article_title: "Edit Article" - - general: - and: "and" - name: "Name" - body: "Body" - version: "Version" - commit_msg: "Commit Message" - version_history: "Version History" - version_history_for: "Version History for: " - result: "Result" - results: "Results" - description: "Description" - or: "or" - email: "Email" - password: "Password" - message: "Message" - code: "Code" - ladder: "Ladder" - when: "When" - opponent: "Opponent" - rank: "Rank" - score: "Score" - win: "Win" - loss: "Loss" - tie: "Tie" - easy: "Easy" - medium: "Medium" - hard: "Hard" - - about: - who_is_codecombat: "Who is CodeCombat?" - why_codecombat: "Why CodeCombat?" - who_description_prefix: "together started CodeCombat in 2013. We also created " - who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." - who_description_ending: "Now it's time to teach people to write code." - why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." - why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." - why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" - why_paragraph_3_italic: "yay a badge" - why_paragraph_3_center: "but fun like" - why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!" - why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." - why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." - why_ending: "And hey, it's free. " - why_ending_url: "Start wizarding now!" - george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." - scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." - nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." - jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." - michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." - glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" - - legal: - page_title: "Legal" - opensource_intro: "CodeCombat is free to play and completely open source." - opensource_description_prefix: "Check out " - github_url: "our GitHub" - opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " - archmage_wiki_url: "our Archmage wiki" - opensource_description_suffix: "for a list of the software that makes this game possible." - practices_title: "Respectful Best Practices" - practices_description: "These are our promises to you, the player, in slightly less legalese." - privacy_title: "Privacy" - privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." - security_title: "Security" - security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems." - email_title: "Email" - email_description_prefix: "We will not inundate you with spam. Through" - email_settings_url: "your email settings" - email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." - cost_title: "Cost" - cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" - recruitment_title: "Recruitment" - recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." - url_hire_programmers: "No one can hire programmers fast enough" - recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" - recruitment_description_italic: "a lot" - recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." - copyrights_title: "Copyrights and Licenses" - contributor_title: "Contributor License Agreement" - contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" - cla_url: "CLA" - contributor_description_suffix: "to which you should agree before contributing." - code_title: "Code - MIT" - code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" - mit_license_url: "MIT license" - code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." - art_title: "Art/Music - Creative Commons " - art_description_prefix: "All common content is available under the" - cc_license_url: "Creative Commons Attribution 4.0 International License" - art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" - art_music: "Music" - art_sound: "Sound" - art_artwork: "Artwork" - art_sprites: "Sprites" - art_other: "Any and all other non-code creative works that are made available when creating Levels." - art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible." - art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:" - use_list_1: "If used in a movie or another game, include codecombat.com in the credits." - use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution." - art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any." - rights_title: "Rights Reserved" - rights_desc: "All rights are reserved for Levels themselves. This includes" - rights_scripts: "Scripts" - rights_unit: "Unit configuration" - rights_description: "Description" - rights_writings: "Writings" - rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels." - rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not." - nutshell_title: "In a Nutshell" - nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening." - canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." - - contribute: - page_title: "Contributing" - character_classes_title: "Character Classes" - introduction_desc_intro: "We have high hopes for CodeCombat." - introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " - introduction_desc_github_url: "CodeCombat is totally open source" - introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." - introduction_desc_ending: "We hope you'll join our party!" - introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" - alert_account_message_intro: "Hey there!" - alert_account_message_pref: "To subscribe for class emails, you'll need to " - alert_account_message_suf: "first." - alert_account_message_create_url: "create an account" - archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." - archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever." - class_attributes: "Class Attributes" - archmage_attribute_1_pref: "Knowledge in " - archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax." - archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you." - how_to_join: "How To Join" - join_desc_1: "Anyone can help out! Just check out our " - join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? " - join_desc_3: ", or find us in our " - join_desc_4: "and we'll go from there!" - join_url_email: "Email us" - join_url_hipchat: "public HipChat room" - more_about_archmage: "Learn More About Becoming an Archmage" - archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." - artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" - artisan_summary_suf: ", then this class is for you." - artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" - artisan_introduction_suf: ", then this class might be for you." - artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" - artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." - artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" - artisan_join_desc: "Use the Level Editor in these steps, give or take:" - artisan_join_step1: "Read the documentation." - artisan_join_step2: "Create a new level and explore existing levels." - artisan_join_step3: "Find us in our public HipChat room for help." - artisan_join_step4: "Post your levels on the forum for feedback." - more_about_artisan: "Learn More About Becoming an Artisan" - artisan_subscribe_desc: "Get emails on level editor updates and announcements." - adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you." - adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you." - adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though." - adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve." - adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like" - adventurer_forum_url: "our forum" - adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!" - more_about_adventurer: "Learn More About Becoming an Adventurer" - adventurer_subscribe_desc: "Get emails when there are new levels to test." - scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the " - scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you." - scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you." - scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others." - contact_us_url: "Contact us" - scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!" - more_about_scribe: "Learn More About Becoming a Scribe" - scribe_subscribe_desc: "Get emails about article writing announcements." - diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you." - diplomat_introduction_pref: "So, if there's one thing we learned from the " - diplomat_launch_url: "launch in October" - diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you." - diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!" - diplomat_join_pref_github: "Find your language locale file " - diplomat_github_url: "on GitHub" - diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" - more_about_diplomat: "Learn More About Becoming a Diplomat" - diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." - ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you." - ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." - ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!" - ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!" - ambassador_join_note_strong: "Note" - ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" - more_about_ambassador: "Learn More About Becoming an Ambassador" - ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." - counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you." - counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design." - counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you." - counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful." - counselor_attribute_2: "A little bit of free time!" - counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)." - more_about_counselor: "Learn More About Becoming a Counselor" - changes_auto_save: "Changes are saved automatically when you toggle checkboxes." - diligent_scribes: "Our Diligent Scribes:" - powerful_archmages: "Our Powerful Archmages:" - creative_artisans: "Our Creative Artisans:" - brave_adventurers: "Our Brave Adventurers:" - translating_diplomats: "Our Translating Diplomats:" - helpful_ambassadors: "Our Helpful Ambassadors:" - - classes: - archmage_title: "Archmage" - archmage_title_description: "(Coder)" - artisan_title: "Artisan" - artisan_title_description: "(Level Builder)" - adventurer_title: "Adventurer" - adventurer_title_description: "(Level Playtester)" - scribe_title: "Scribe" - scribe_title_description: "(Article Editor)" - diplomat_title: "Diplomat" - diplomat_title_description: "(Translator)" - ambassador_title: "Ambassador" - ambassador_title_description: "(Support)" - counselor_title: "Counselor" - counselor_title_description: "(Expert/Teacher)" - - ladder: - please_login: "Please log in first before playing a ladder game." - my_matches: "My Matches" - simulate: "Simulate" - simulation_explanation: "By simulating games you can get your game ranked faster!" - simulate_games: "Simulate Games!" - simulate_all: "RESET AND SIMULATE GAMES" - games_simulated_by: "Games simulated by you:" - games_simulated_for: "Games simulated for you:" - leaderboard: "Leaderboard" - battle_as: "Battle as " - summary_your: "Your " - summary_matches: "Matches - " - summary_wins: " Wins, " - summary_losses: " Losses" - rank_no_code: "No New Code to Rank" - rank_my_game: "Rank My Game!" - rank_submitting: "Submitting..." - rank_submitted: "Submitted for Ranking" - rank_failed: "Failed to Rank" - rank_being_ranked: "Game Being Ranked" - code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." - no_ranked_matches_pre: "No ranked matches for the " - no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." - choose_opponent: "Choose an Opponent" - tutorial_play: "Play Tutorial" - tutorial_recommended: "Recommended if you've never played before" - tutorial_skip: "Skip Tutorial" - tutorial_not_sure: "Not sure what's going on?" - tutorial_play_first: "Play the Tutorial first." - simple_ai: "Simple AI" - warmup: "Warmup" - vs: "VS" - - multiplayer_launch: - introducing_dungeon_arena: "Introducing Dungeon Arena" - new_way: "The new way to compete with code." - to_battle: "To Battle, Developers!" - modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." - arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." - ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" - fork_our_arenas: "fork our arenas" - create_worlds: "and create your own worlds." - javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" - tutorial: "tutorial" - new_to_programming: ". New to programming? Hit our beginner campaign to skill up." - so_ready: "I Am So Ready for This" - - loading_error: - could_not_load: "Error loading from server" - connection_failure: "Connection failed." - unauthorized: "You need to be signed in. Do you have cookies disabled?" - forbidden: "You do not have the permissions." - not_found: "Not found." - not_allowed: "Method not allowed." - timeout: "Server timeout." - conflict: "Resource conflict." - bad_input: "Bad input." - server_error: "Server error." - unknown: "Unknown error." - - resources: - your_sessions: "Your Sessions" - level: "Level" - social_network_apis: "Social Network APIs" - facebook_status: "Facebook Status" - facebook_friends: "Facebook Friends" - facebook_friend_sessions: "Facebook Friend Sessions" - gplus_friends: "G+ Friends" - gplus_friend_sessions: "G+ Friend Sessions" +module.exports = nativeDescription: "English", englishDescription: "English", translation: + common: + loading: "Loading..." + saving: "Saving..." + sending: "Sending..." + cancel: "Cancel" + save: "Save" + create: "Create" + delay_1_sec: "1 second" + delay_3_sec: "3 seconds" + delay_5_sec: "5 seconds" + manual: "Manual" + fork: "Fork" + play: "Play" + retry: "Retry" + + units: + second: "second" + seconds: "seconds" + minute: "minute" + minutes: "minutes" + hour: "hour" + hours: "hours" + + modal: + close: "Close" + okay: "Okay" + + not_found: + page_not_found: "Page not found" + + nav: + play: "Levels" + editor: "Editor" + blog: "Blog" + forum: "Forum" + admin: "Admin" + home: "Home" + contribute: "Contribute" + legal: "Legal" + about: "About" + contact: "Contact" + twitter_follow: "Follow" + employers: "Employers" + + versions: + save_version_title: "Save New Version" + new_major_version: "New Major Version" + update_break_level: "(Could this update break old solutions of the level?)" + update_break_component: "(Could this update break anything depending on this Component?)" + update_break_system: "(Could this update break anything depending on this System?)" + cla_prefix: "To save changes, first you must agree to our" + cla_url: "CLA" + cla_suffix: "." + cla_agree: "I AGREE" + + login: + sign_up: "Create Account" + log_in: "Log In" + logging_in: "Logging In" + log_out: "Log Out" + recover: "recover account" + + recover: + recover_account_title: "Recover Account" + send_password: "Send Recovery Password" + + signup: + create_account_title: "Create Account to Save Progress" + description: "It's free. Just need a couple things and you'll be good to go:" + email_announcements: "Receive announcements by email" + coppa: "13+ or non-USA " + coppa_why: "(Why?)" + creating: "Creating Account..." + sign_up: "Sign Up" + log_in: "log in with password" + + home: + slogan: "Learn to Code JavaScript by Playing a Game" + no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!" + no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" + play: "Play" + old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" + old_browser_suffix: "You can try anyway, but it probably won't work." + campaign: "Campaign" + for_beginners: "For Beginners" + multiplayer: "Multiplayer" + for_developers: "For Developers" + + play: + choose_your_level: "Choose Your Level" + adventurer_prefix: "You can jump to any level below, or discuss the levels on " + adventurer_forum: "the Adventurer forum" + adventurer_suffix: "." + campaign_beginner: "Beginner Campaign" + campaign_beginner_description: "... in which you learn the wizardry of programming." + campaign_dev: "Random Harder Levels" + campaign_dev_description: "... in which you learn the interface while doing something a little harder." + campaign_multiplayer: "Multiplayer Arenas" + campaign_multiplayer_description: "... in which you code head-to-head against other players." + campaign_player_created: "Player-Created" + campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>." + level_difficulty: "Difficulty: " + play_as: "Play As" + spectate: "Spectate" + + contact: + contact_us: "Contact CodeCombat" + welcome: "Good to hear from you! Use this form to send us email. " + contribute_prefix: "If you're interested in contributing, check out our " + contribute_page: "contribute page" + contribute_suffix: "!" + forum_prefix: "For anything public, please try " + forum_page: "our forum" + forum_suffix: " instead." + send: "Send Feedback" + + diplomat_suggestion: + title: "Help translate CodeCombat!" + sub_heading: "We need your language skills." + pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in {English} but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into {English}." + missing_translations: "Until we can translate everything into {English}, you'll see English when {English} isn't available." + learn_more: "Learn more about being a Diplomat" + subscribe_as_diplomat: "Subscribe as a Diplomat" + + wizard_settings: + title: "Wizard Settings" + customize_avatar: "Customize Your Avatar" + active: "Active" + color: "Color" + group: "Group" + clothes: "Clothes" + trim: "Trim" + team: "Cloud" + spell: "Spell" + boots: "Boots" + hue: "Hue" + saturation: "Saturation" + lightness: "Lightness" + + account_settings: + title: "Account Settings" + not_logged_in: "Log in or create an account to change your settings." + autosave: "Changes Save Automatically" + me_tab: "Me" + picture_tab: "Picture" + wizard_tab: "Wizard" + password_tab: "Password" + emails_tab: "Emails" + admin: "Admin" + gravatar_select: "Select which Gravatar photo to use" + gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." + gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." + wizard_color: "Wizard Clothes Color" + new_password: "New Password" + new_password_verify: "Verify" + email_subscriptions: "Email Subscriptions" + email_announcements: "Announcements" + email_notifications: "Notifications" + email_notifications_description: "Get periodic notifications for your account." + email_announcements_description: "Get emails on the latest news and developments at CodeCombat." + contributor_emails: "Contributor Class Emails" + contribute_prefix: "We're looking for people to join our party! Check out the " + contribute_page: "contribute page" + contribute_suffix: " to find out more." + email_toggle: "Toggle All" + error_saving: "Error Saving" + saved: "Changes Saved" + password_mismatch: "Password does not match." + + account_profile: + edit_settings: "Edit Settings" + profile_for_prefix: "Profile for " + profile_for_suffix: "" + profile: "Profile" + user_not_found: "No user found. Check the URL?" + gravatar_not_found_mine: "We couldn't find your profile associated with:" + gravatar_not_found_email_suffix: "." + gravatar_signup_prefix: "Sign up at " + gravatar_signup_suffix: " to get set up!" + gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." + gravatar_contact: "Contact" + gravatar_websites: "Websites" + gravatar_accounts: "As Seen On" + gravatar_profile_link: "Full Gravatar Profile" + + play_level: + level_load_error: "Level could not be loaded: " + done: "Done" + grid: "Grid" + customize_wizard: "Customize Wizard" + home: "Home" + guide: "Guide" + multiplayer: "Multiplayer" + restart: "Restart" + goals: "Goals" + action_timeline: "Action Timeline" + click_to_select: "Click on a unit to select it." + reload_title: "Reload All Code?" + reload_really: "Are you sure you want to reload this level back to the beginning?" + reload_confirm: "Reload All" + victory_title_prefix: "" + victory_title_suffix: " Complete" + victory_sign_up: "Sign Up to Save Progress" + victory_sign_up_poke: "Want to save your code? Create a free account!" + victory_rate_the_level: "Rate the level: " + victory_rank_my_game: "Rank My Game" + victory_ranking_game: "Submitting..." + victory_return_to_ladder: "Return to Ladder" + victory_play_next_level: "Play Next Level" + victory_go_home: "Go Home" + victory_review: "Tell us more!" + victory_hour_of_code_done: "Are You Done?" + victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" + multiplayer_title: "Multiplayer Settings" + multiplayer_link_description: "Give this link to anyone to have them join you." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." + multiplayer_coming_soon: "More multiplayer features to come!" + guide_title: "Guide" + tome_minion_spells: "Your Minions' Spells" + tome_read_only_spells: "Read-Only Spells" + tome_other_units: "Other Units" + tome_cast_button_castable: "Cast Spell" + tome_cast_button_casting: "Casting" + tome_cast_button_cast: "Spell Cast" + tome_autocast_delay: "Autocast Delay" + tome_select_spell: "Select a Spell" + tome_select_a_thang: "Select Someone for " + tome_available_spells: "Available Spells" + hud_continue: "Continue (shift+space)" + spell_saved: "Spell Saved" + skip_tutorial: "Skip (esc)" + editor_config: "Editor Config" + editor_config_title: "Editor Configuration" + editor_config_language_label: "Programming Language" + editor_config_language_description: "Define the programming language you want to code in." + editor_config_keybindings_label: "Key Bindings" + editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." + editor_config_invisibles_label: "Show Invisibles" + editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." + editor_config_indentguides_label: "Show Indent Guides" + editor_config_indentguides_description: "Displays vertical lines to see indentation better." + editor_config_behaviors_label: "Smart Behaviors" + editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + loading_ready: "Ready!" + tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." + tip_toggle_play: "Toggle play/paused with Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." + tip_guide_exists: "Click the guide at the top of the page for useful info." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat launched its beta in October, 2013." + tip_js_beginning: "JavaScript is just the beginning." + tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." + think_solution: "Think of the solution, not the problem." + tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" + tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" + tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" + tip_forums: "Head over to the forums and tell us what you think!" + tip_baby_coders: "In the future, even babies will be Archmages." + tip_morale_improves: "Loading will continue until morale improves." + tip_all_species: "We believe in equal opportunities to learn programming for all species." + tip_reticulating: "Reticulating spines." + tip_harry: "Yer a Wizard, " + tip_great_responsibility: "With great coding skill comes great debug responsibility." + tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." + tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." + tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" + tip_no_try: "Do. Or do not. There is no try. - Yoda" + tip_patience: "Patience you must have, young Padawan. - Yoda" + tip_documented_bug: "A documented bug is not a bug; it is a feature." + tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" + tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" + tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Now:" + time_total: "Max:" + time_goto: "Go to:" + + admin: + av_title: "Admin Views" + av_entities_sub_title: "Entities" + av_entities_users_url: "Users" + av_entities_active_instances_url: "Active Instances" + av_other_sub_title: "Other" + av_other_debug_base_url: "Base (for debugging base.jade)" + u_title: "User List" + lg_title: "Latest Games" + clas: "CLAs" + + editor: + main_title: "CodeCombat Editors" + main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!" + article_title: "Article Editor" + article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns." + thang_title: "Thang Editor" + thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics." + level_title: "Level Editor" + level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!" + security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, " + contact_us: "contact us!" + hipchat_prefix: "You can also find us in our" + hipchat_url: "HipChat room." + back: "Back" + revert: "Revert" + revert_models: "Revert Models" + fork_title: "Fork New Version" + fork_creating: "Creating Fork..." + more: "More" + wiki: "Wiki" + live_chat: "Live Chat" + level_publish: "Publish This Level (irreversible)?" + level_some_options: "Some Options?" + level_tab_thangs: "Thangs" + level_tab_scripts: "Scripts" + level_tab_settings: "Settings" + level_tab_components: "Components" + level_tab_systems: "Systems" + level_tab_thangs_title: "Current Thangs" + level_tab_thangs_all: "All" + level_tab_thangs_conditions: "Starting Conditions" + level_tab_thangs_add: "Add Thangs" + delete: "Delete" + duplicate: "Duplicate" + level_settings_title: "Settings" + level_component_tab_title: "Current Components" + level_component_btn_new: "Create New Component" + level_systems_tab_title: "Current Systems" + level_systems_btn_new: "Create New System" + level_systems_btn_add: "Add System" + level_components_title: "Back to All Thangs" + level_components_type: "Type" + level_component_edit_title: "Edit Component" + level_component_config_schema: "Config Schema" + level_component_settings: "Settings" + level_system_edit_title: "Edit System" + create_system_title: "Create New System" + new_component_title: "Create New Component" + new_component_field_system: "System" + new_article_title: "Create a New Article" + new_thang_title: "Create a New Thang Type" + new_level_title: "Create a New Level" + article_search_title: "Search Articles Here" + thang_search_title: "Search Thang Types Here" + level_search_title: "Search Levels Here" + signup_to_create: "Sign Up to Create a New Content" + read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + + article: + edit_btn_preview: "Preview" + edit_article_title: "Edit Article" + + general: + and: "and" + name: "Name" + body: "Body" + version: "Version" + commit_msg: "Commit Message" + version_history: "Version History" + version_history_for: "Version History for: " + result: "Result" + results: "Results" + description: "Description" + or: "or" + email: "Email" + password: "Password" + message: "Message" + code: "Code" + ladder: "Ladder" + when: "When" + opponent: "Opponent" + rank: "Rank" + score: "Score" + win: "Win" + loss: "Loss" + tie: "Tie" + easy: "Easy" + medium: "Medium" + hard: "Hard" + + about: + who_is_codecombat: "Who is CodeCombat?" + why_codecombat: "Why CodeCombat?" + who_description_prefix: "together started CodeCombat in 2013. We also created " + who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." + who_description_ending: "Now it's time to teach people to write code." + why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." + why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." + why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" + why_paragraph_3_italic: "yay a badge" + why_paragraph_3_center: "but fun like" + why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!" + why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." + why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." + why_ending: "And hey, it's free. " + why_ending_url: "Start wizarding now!" + george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." + scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." + nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." + jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." + michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." + glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" + + legal: + page_title: "Legal" + opensource_intro: "CodeCombat is free to play and completely open source." + opensource_description_prefix: "Check out " + github_url: "our GitHub" + opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " + archmage_wiki_url: "our Archmage wiki" + opensource_description_suffix: "for a list of the software that makes this game possible." + practices_title: "Respectful Best Practices" + practices_description: "These are our promises to you, the player, in slightly less legalese." + privacy_title: "Privacy" + privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." + security_title: "Security" + security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems." + email_title: "Email" + email_description_prefix: "We will not inundate you with spam. Through" + email_settings_url: "your email settings" + email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." + cost_title: "Cost" + cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" + recruitment_title: "Recruitment" + recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." + url_hire_programmers: "No one can hire programmers fast enough" + recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" + recruitment_description_italic: "a lot" + recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." + copyrights_title: "Copyrights and Licenses" + contributor_title: "Contributor License Agreement" + contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" + cla_url: "CLA" + contributor_description_suffix: "to which you should agree before contributing." + code_title: "Code - MIT" + code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" + mit_license_url: "MIT license" + code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." + art_title: "Art/Music - Creative Commons " + art_description_prefix: "All common content is available under the" + cc_license_url: "Creative Commons Attribution 4.0 International License" + art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" + art_music: "Music" + art_sound: "Sound" + art_artwork: "Artwork" + art_sprites: "Sprites" + art_other: "Any and all other non-code creative works that are made available when creating Levels." + art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible." + art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:" + use_list_1: "If used in a movie or another game, include codecombat.com in the credits." + use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution." + art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any." + rights_title: "Rights Reserved" + rights_desc: "All rights are reserved for Levels themselves. This includes" + rights_scripts: "Scripts" + rights_unit: "Unit configuration" + rights_description: "Description" + rights_writings: "Writings" + rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels." + rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not." + nutshell_title: "In a Nutshell" + nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening." + canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." + + contribute: + page_title: "Contributing" + character_classes_title: "Character Classes" + introduction_desc_intro: "We have high hopes for CodeCombat." + introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " + introduction_desc_github_url: "CodeCombat is totally open source" + introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." + introduction_desc_ending: "We hope you'll join our party!" + introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" + alert_account_message_intro: "Hey there!" + alert_account_message_pref: "To subscribe for class emails, you'll need to " + alert_account_message_suf: "first." + alert_account_message_create_url: "create an account" + archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." + archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever." + class_attributes: "Class Attributes" + archmage_attribute_1_pref: "Knowledge in " + archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax." + archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you." + how_to_join: "How To Join" + join_desc_1: "Anyone can help out! Just check out our " + join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? " + join_desc_3: ", or find us in our " + join_desc_4: "and we'll go from there!" + join_url_email: "Email us" + join_url_hipchat: "public HipChat room" + more_about_archmage: "Learn More About Becoming an Archmage" + archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." + artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" + artisan_summary_suf: ", then this class is for you." + artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" + artisan_introduction_suf: ", then this class might be for you." + artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" + artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." + artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" + artisan_join_desc: "Use the Level Editor in these steps, give or take:" + artisan_join_step1: "Read the documentation." + artisan_join_step2: "Create a new level and explore existing levels." + artisan_join_step3: "Find us in our public HipChat room for help." + artisan_join_step4: "Post your levels on the forum for feedback." + more_about_artisan: "Learn More About Becoming an Artisan" + artisan_subscribe_desc: "Get emails on level editor updates and announcements." + adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you." + adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you." + adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though." + adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve." + adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like" + adventurer_forum_url: "our forum" + adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!" + more_about_adventurer: "Learn More About Becoming an Adventurer" + adventurer_subscribe_desc: "Get emails when there are new levels to test." + scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the " + scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you." + scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you." + scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others." + contact_us_url: "Contact us" + scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!" + more_about_scribe: "Learn More About Becoming a Scribe" + scribe_subscribe_desc: "Get emails about article writing announcements." + diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you." + diplomat_introduction_pref: "So, if there's one thing we learned from the " + diplomat_launch_url: "launch in October" + diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you." + diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!" + diplomat_join_pref_github: "Find your language locale file " + diplomat_github_url: "on GitHub" + diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" + more_about_diplomat: "Learn More About Becoming a Diplomat" + diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." + ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you." + ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." + ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!" + ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!" + ambassador_join_note_strong: "Note" + ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" + more_about_ambassador: "Learn More About Becoming an Ambassador" + ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." + counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you." + counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design." + counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you." + counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful." + counselor_attribute_2: "A little bit of free time!" + counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)." + more_about_counselor: "Learn More About Becoming a Counselor" + changes_auto_save: "Changes are saved automatically when you toggle checkboxes." + diligent_scribes: "Our Diligent Scribes:" + powerful_archmages: "Our Powerful Archmages:" + creative_artisans: "Our Creative Artisans:" + brave_adventurers: "Our Brave Adventurers:" + translating_diplomats: "Our Translating Diplomats:" + helpful_ambassadors: "Our Helpful Ambassadors:" + + classes: + archmage_title: "Archmage" + archmage_title_description: "(Coder)" + artisan_title: "Artisan" + artisan_title_description: "(Level Builder)" + adventurer_title: "Adventurer" + adventurer_title_description: "(Level Playtester)" + scribe_title: "Scribe" + scribe_title_description: "(Article Editor)" + diplomat_title: "Diplomat" + diplomat_title_description: "(Translator)" + ambassador_title: "Ambassador" + ambassador_title_description: "(Support)" + counselor_title: "Counselor" + counselor_title_description: "(Expert/Teacher)" + + ladder: + please_login: "Please log in first before playing a ladder game." + my_matches: "My Matches" + simulate: "Simulate" + simulation_explanation: "By simulating games you can get your game ranked faster!" + simulate_games: "Simulate Games!" + simulate_all: "RESET AND SIMULATE GAMES" + games_simulated_by: "Games simulated by you:" + games_simulated_for: "Games simulated for you:" + leaderboard: "Leaderboard" + battle_as: "Battle as " + summary_your: "Your " + summary_matches: "Matches - " + summary_wins: " Wins, " + summary_losses: " Losses" + rank_no_code: "No New Code to Rank" + rank_my_game: "Rank My Game!" + rank_submitting: "Submitting..." + rank_submitted: "Submitted for Ranking" + rank_failed: "Failed to Rank" + rank_being_ranked: "Game Being Ranked" + code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." + no_ranked_matches_pre: "No ranked matches for the " + no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." + choose_opponent: "Choose an Opponent" + tutorial_play: "Play Tutorial" + tutorial_recommended: "Recommended if you've never played before" + tutorial_skip: "Skip Tutorial" + tutorial_not_sure: "Not sure what's going on?" + tutorial_play_first: "Play the Tutorial first." + simple_ai: "Simple AI" + warmup: "Warmup" + vs: "VS" + + multiplayer_launch: + introducing_dungeon_arena: "Introducing Dungeon Arena" + new_way: "The new way to compete with code." + to_battle: "To Battle, Developers!" + modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." + arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." + ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" + fork_our_arenas: "fork our arenas" + create_worlds: "and create your own worlds." + javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" + tutorial: "tutorial" + new_to_programming: ". New to programming? Hit our beginner campaign to skill up." + so_ready: "I Am So Ready for This" + + loading_error: + could_not_load: "Error loading from server" + connection_failure: "Connection failed." + unauthorized: "You need to be signed in. Do you have cookies disabled?" + forbidden: "You do not have the permissions." + not_found: "Not found." + not_allowed: "Method not allowed." + timeout: "Server timeout." + conflict: "Resource conflict." + bad_input: "Bad input." + server_error: "Server error." + unknown: "Unknown error." + + resources: + your_sessions: "Your Sessions" + level: "Level" + social_network_apis: "Social Network APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook Friends" + facebook_friend_sessions: "Facebook Friend Sessions" + gplus_friends: "G+ Friends" + gplus_friend_sessions: "G+ Friend Sessions" leaderboard: "leaderboard" \ No newline at end of file diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 95026bcda..9fba6c0db 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -1,645 +1,645 @@ -module.exports = nativeDescription: "русский", englishDescription: "Russian", translation: - common: - loading: "Загрузка..." - saving: "Сохранение..." - sending: "Отправка..." - cancel: "Отмена" - save: "Сохранить" - create: "Создать" - delay_1_sec: "1 секунда" - delay_3_sec: "3 секунды" - delay_5_sec: "5 секунд" - manual: "Вручную" - fork: "Форк" - play: "Играть" - retry: "Повторить" - - units: - second: "секунда" - seconds: "секунд(ы)" - minute: "минута" - minutes: "минут(ы)" - hour: "час" - hours: "часа(ов)" - - modal: - close: "Закрыть" - okay: "OK" - - not_found: - page_not_found: "Страница не найдена" - - nav: - play: "Уровни" - editor: "Редактор" - blog: "Блог" - forum: "Форум" - admin: "Админ" - home: "Домой" - contribute: "Сотрудничество" - legal: "Юридическая информация" - about: "О нас" - contact: "Контакты" - twitter_follow: "Подписаться" - employers: "Работодателям" - - versions: - save_version_title: "Сохранить новую версию" - new_major_version: "Новая основная версия" - update_break_level: "(Может ли это обновление нарушить старые решения уровня?)" - update_break_component: "(Может ли это обновление нарушить что-нибудь, зависящее от данного Компонента?)" - update_break_system: "(Может ли это обновление нарушить что-нибудь, зависящее от данной Системы?)" - cla_prefix: "Чтобы сохранить изменения, сначала вы должны согласиться с нашим" - cla_url: "лицензионным соглашением соавторов" - cla_suffix: "." - cla_agree: "Я СОГЛАСЕН" - - login: - sign_up: "Создать аккаунт" - log_in: "Войти" - logging_in: "Вход..." - log_out: "Выйти" - recover: "восстановить аккаунт" - - recover: - recover_account_title: "Восстановить аккаунт" - send_password: "Отправить пароль для восстановления" - - signup: - create_account_title: "Создать аккаунт, чтобы сохранить прогресс" - description: "Это бесплатно. Нужна лишь пара вещей, и вы сможете продолжить путешествие:" - email_announcements: "Получать оповещения на email" - coppa: "Вы старше 13 лет или живёте не в США " - coppa_why: "(почему?)" - creating: "Создание аккаунта..." - sign_up: "Регистрация" - log_in: "вход с паролем" - - home: - slogan: "Научитесь программировать на JavaScript, играя в игру" - no_ie: "CodeCombat не работает в IE8 или более старых версиях. Нам очень жаль!" - no_mobile: "CodeCombat не приспособлен для работы на мобильных устройствах и может не работать!" - play: "Играть" - old_browser: "Ой, ваш браузер слишком стар для запуска CodeCombat. Извините!" - old_browser_suffix: "Вы всё равно можете попробовать, но, скорее всего, это не будет работать." - campaign: "Кампания" - for_beginners: "Новичкам" - multiplayer: "Мультиплеер" - for_developers: "Разработчикам" - - play: - choose_your_level: "Выберите ваш уровень" - adventurer_prefix: "Вы можете зайти на любой из этих уровней, а также обсудить уровни на " - adventurer_forum: "форуме Искателей приключений" - adventurer_suffix: "." - campaign_beginner: "Кампания для новичков" - campaign_beginner_description: "... в которой вы познакомитесь с магией программирования." - campaign_dev: "Случайные уровни потруднее" - campaign_dev_description: "... в которых вы изучите интерфейс и научитесь делать кое-что посложнее." - campaign_multiplayer: "Арены для мультиплеера" - campaign_multiplayer_description: "... в которых вы соревнуетесь в программировании с другими игроками." - campaign_player_created: "Уровни игроков" - campaign_player_created_description: "... в которых вы сражаетесь с креативностью ваших друзей <a href=\"/contribute#artisan\">Ремесленников</a>." - level_difficulty: "Сложность: " - play_as: "Играть за " - spectate: "Наблюдать" - - contact: - contact_us: "Связаться с CodeCombat" - welcome: "Мы рады вашему сообщению! Используйте эту форму, чтобы отправить нам email. " - contribute_prefix: "Если вы хотите внести свой вклад в проект, зайдите на нашу " - contribute_page: "страницу сотрудничества" - contribute_suffix: "!" - forum_prefix: "Для любых публичных обсуждений, пожалуйста, используйте " - forum_page: "наш форум" - forum_suffix: "." - send: "Отправить отзыв" - - diplomat_suggestion: - title: "Помогите перевести CodeCombat!" - sub_heading: "Нам нужны ваши языковые навыки." - pitch_body: "Мы создаём CodeCombat на английском, но у нас уже есть игроки со всего мира. Многие из них хотели бы играть на русском, но не знают английского, так что если вы знаете оба этих языка - зарегистрируйтесь как Дипломат и помогите перевести сайт CodeCombat и все уровни на русский язык." - missing_translations: "Пока мы не перевели всё на русский язык, вы будете видеть английский текст в тех частях игры, которые ещё не переведены на русский." - learn_more: "Узнать о том, как стать Дипломатом" - subscribe_as_diplomat: "Зарегистрироваться как Дипломат" - - wizard_settings: - title: "Настройки волшебника" - customize_avatar: "Изменить свой аватар" - active: "Активно" - color: "Цвет" - group: "Группа" - clothes: "Одежда" - trim: "Отделка" - team: "Облако" - spell: "Заклинание" - boots: "Обувь" - hue: "Оттенок" - saturation: "Насыщенность" - lightness: "Светлость" - - account_settings: - title: "Настройки аккаунта" - not_logged_in: "Войдите или зарегистрируйтесь, чтобы изменить настройки." - autosave: "Настройки сохраняются автоматически" - me_tab: "Я" - picture_tab: "Аватар" - wizard_tab: "Волшебник" - password_tab: "Пароль" - emails_tab: "Email-адреса" - admin: "Админ" - gravatar_select: "Выберите, какое фото с Gravatar использовать" - gravatar_add_photos: "Чтобы выбрать изображение, добавьте фото и уменьшенные изображения в ваш Gravatar-аккаунт." - gravatar_add_more_photos: "Добавьте больше фото к вашему аккаунту в Gravatar, чтобы использовать их здесь." - wizard_color: "Цвет одежды волшебника" - new_password: "Новый пароль" - new_password_verify: "Подтверждение пароля" - email_subscriptions: "Email-подписки" - email_announcements: "Оповещения" - email_notifications: "Уведомления" - email_notifications_description: "Получать периодические уведомления для вашего аккаунта." - email_announcements_description: "Получать email-оповещения о последних новостях CodeCombat." - contributor_emails: "Рассылки по классам участников" - contribute_prefix: "Нам нужны люди, которые присоединятся к нашей команде! Зайдите на " - contribute_page: "страницу участников," - contribute_suffix: " чтобы узнать больше." - email_toggle: "Отметить всё" - error_saving: "Ошибка сохранения" - saved: "Изменения сохранены" - password_mismatch: "Пароли не совпадают." - - account_profile: - edit_settings: "Изменить настройки" - profile_for_prefix: "Профиль для " - profile_for_suffix: "" - profile: "Профиль" - user_not_found: "Пользователь не найден. Пожалуйста, проверьте URL." - gravatar_not_found_mine: "Мы не можем найти профиль, связанный с" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Зарегистрируйтесь на " - gravatar_signup_suffix: ", чтобы настроить профиль." - gravatar_not_found_other: "Нет профиля, связанного с почтой данного пользователя." - gravatar_contact: "Контакты" - gravatar_websites: "Сайты" - gravatar_accounts: "Как показано на" - gravatar_profile_link: "Полный профиль на Gravatar" - - play_level: - level_load_error: "Уровень не может быть загружен: " - done: "Готово" - grid: "Сетка" - customize_wizard: "Настройки волшебника" - home: "На главную" - guide: "Руководство" - multiplayer: "Мультиплеер" - restart: "Перезапустить" - goals: "Цели" - action_timeline: "График действий" - click_to_select: "Выберите персонажа, щёлкнув на нём" - reload_title: "Перезагрузить код полностью?" - reload_really: "Вы уверены, что хотите начать уровень сначала?" - reload_confirm: "Перезагрузить всё" - victory_title_prefix: "Уровень " - victory_title_suffix: " завершён" - victory_sign_up: "Зарегистрироваться" - victory_sign_up_poke: "Хотите сохранить ваш код? Создайте бесплатный аккаунт!" - victory_rate_the_level: "Оцените уровень:" - victory_rank_my_game: "Оценить мою игру" - victory_ranking_game: "Отправка..." - victory_return_to_ladder: "Вернуться к ладдеру" - victory_play_next_level: "Следующий уровень" - victory_go_home: "На главную" - victory_review: "Расскажите нам больше!" - victory_hour_of_code_done: "Вы закончили?" - victory_hour_of_code_done_yes: "Да, я закончил мой Час Кода™!" - multiplayer_title: "Настройки мультиплеера" - multiplayer_link_description: "Дайте эту ссылку кому-нибудь, чтоб он присоединился к вам." - multiplayer_hint_label: "Подсказка: " - multiplayer_hint: "кликните на ссылку, чтобы выделить её, затем нажмите ⌘-С или Ctrl-C, чтобы скопировать." - multiplayer_coming_soon: "Больше возможностей мультиплеера на подходе!" - guide_title: "Руководство" - tome_minion_spells: "Заклинания ваших миньонов" - tome_read_only_spells: "Заклинания только для чтения" - tome_other_units: "Другие юниты" - tome_cast_button_castable: "Читать заклинание" - tome_cast_button_casting: "Заклинание читается" - tome_cast_button_cast: "Заклинание прочитано" - tome_autocast_delay: "Задержка автоматического чтения" - tome_select_spell: "Выбрать заклинание" - tome_select_a_thang: "Выбрать кого-нибудь для " - tome_available_spells: "Доступные заклинания" - hud_continue: "Продолжить (Shift+Пробел)" - spell_saved: "Заклинание сохранено" - skip_tutorial: "Пропуск (Esc)" - editor_config: "Настройки редактора" - editor_config_title: "Настройки редактора" - editor_config_language_label: "Язык программирования" - editor_config_language_description: "Определяет язык, на котором вы хотите программировать." - editor_config_keybindings_label: "Сочетания клавиш" - editor_config_keybindings_default: "По умолчанию (Ace)" - editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." - editor_config_invisibles_label: "Показывать непечатные символы" - editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции." - editor_config_indentguides_label: "Показывать направляющие отступов" - editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов." - editor_config_behaviors_label: "Умное поведение" - editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки." - loading_ready: "Готово!" - tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний." - tip_toggle_play: "Переключайте воспроизведение/паузу комбинацией Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд." - tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации." - tip_open_source: "Исходный код CodeCombat открыт на 100%!" - tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013 года." - tip_js_beginning: "JavaScript это только начало." - tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения." - think_solution: "Думайте о решении, а не о проблеме." - tip_theory_practice: "В теории, между практикой и теорией нет разницы. Но на практике есть. - Yogi Berra" - tip_error_free: "Есть два способа писать программы без ошибок; работает только третий. - Alan Perlis" - tip_debugging_program: "Если отладка это процесс удаления багов, то программирование должно быть процессом их добавления. - Edsger W. Dijkstra" - tip_forums: "Заходите на форумы и расскажите нам, что вы думаете!" - tip_baby_coders: "В будущем, даже младенцы будут Архимагами." - tip_morale_improves: "Загрузка будет продолжаться, пока боевой дух не восстановится." - tip_all_species: "Мы верим в равные возможности для обучения программированию, для всех видов." - tip_reticulating: "Ретикуляция сплайнов." - tip_harry: "Ты волшебник, " - tip_great_responsibility: "С большим умением программирования приходит большая ответственность отладки." - tip_munchkin: "Если вы не съедите овощи, манчкин придёт за вами, пока вы спите." - tip_binary: "В мире есть 10 типов людей: те, кто понимают двоичную систему счисления и те, кто не понимают." - tip_commitment_yoda: "Программист верностью принципам обладать должен, и серьёзным умом. ~ Yoda" - tip_no_try: "Делай. Или не делай. Не надо пытаться. - Yoda" - tip_patience: "Терпением ты обладать должен, юный падаван. - Yoda" - tip_documented_bug: "Документированный баг не является багом; это фича." - tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela" - tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds" - tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay" - time_current: "Текущее:" - time_total: "Максимальное:" - time_goto: "Перейти на:" - - admin: - av_title: "Админ панель" - av_entities_sub_title: "Сущности" - av_entities_users_url: "Пользователи" - av_entities_active_instances_url: "Активные экземпляры" - av_other_sub_title: "Другое" - av_other_debug_base_url: "База (для отладки base.jade)" - u_title: "Список пользователей" - lg_title: "Последние игры" - clas: "ЛСС" - - editor: - main_title: "Редакторы CodeCombat" - main_description: "Создавайте ваши собственные уровни, кампании, юнитов и обучающий контент. Мы предоставляем все необходимые инструменты!" - article_title: "Редактор статей" - article_description: "Пишите статьи, дающие представление игрокам о концепциях программирования, которые могут быть использованы в различных уровнях и кампаниях." - thang_title: "Редактор объектов" - thang_description: "Создавайте юнитов, определяйте их логику по умолчанию, графику и звук. В настоящий момент поддерживается импорт только векторной графики Flash." - level_title: "Редактор уровней" - level_description: "Включает в себя инструменты для написания сценариев, загрузки аудио и построения собственной логики для создания всевозможных уровней. Всё, что мы используем сами!" - security_notice: "Многие основные возможности в этих редакторах в настоящее время не включены по умолчанию. Как только мы повысим безопасность этих систем, они станут общедоступными. Если вам хотелось бы использовать эти возможности раньше, " - contact_us: "свяжитесь с нами!" - hipchat_prefix: "Также вы можете найти нас в нашей" - hipchat_url: "комнате HipChat." - back: "Назад" - revert: "Откатить" - revert_models: "Откатить Модели" - fork_title: "Форк новой версии" - fork_creating: "Создание форка..." - more: "Ещё" - wiki: "Вики" - live_chat: "Онлайн-чат" - level_publish: "Опубликовать уровень (необратимо)?" - level_some_options: "Ещё опции" - level_tab_thangs: "Объекты" - level_tab_scripts: "Скрипты" - level_tab_settings: "Настройки" - level_tab_components: "Компоненты" - level_tab_systems: "Системы" - level_tab_thangs_title: "Текущие объекты" - level_tab_thangs_all: "Все" - level_tab_thangs_conditions: "Начальные условия" - level_tab_thangs_add: "Добавить объект" - delete: "Удалить" - duplicate: "Дублировать" - level_settings_title: "Настройки" - level_component_tab_title: "Текущие компоненты" - level_component_btn_new: "Создать новый компонент" - level_systems_tab_title: "Текущие системы" - level_systems_btn_new: "Создать новую систему" - level_systems_btn_add: "Добавить систему" - level_components_title: "Вернуться ко всем объектам" - level_components_type: "Тип" - level_component_edit_title: "Редактировать компонент" - level_component_config_schema: "Настройка Schema" - level_component_settings: "Настройки" - level_system_edit_title: "Редактировать систему" - create_system_title: "Создать новую систему" - new_component_title: "Создать новый компонент" - new_component_field_system: "Система" - new_article_title: "Создать новую статью" - new_thang_title: "Создать новый тип объектов" - new_level_title: "Создать новый уровень" - article_search_title: "Искать статьи" - thang_search_title: "Искать типы объектов" - level_search_title: "Искать уровни" - signup_to_create: "Авторизуйтесь для создания нового контента" - read_only_warning: "Примечание: вы не можете сохранять здесь любые правки, потому что вы не вошли как администратор." - - article: - edit_btn_preview: "Предпросмотр" - edit_article_title: "Редактирование статьи" - - general: - and: "и" - name: "Имя" - body: "Содержание" - version: "Версия" - commit_msg: "Сопроводительное сообщение" - version_history: "История версий" - version_history_for: "История версий для: " - result: "Результат" - results: "Результаты" - description: "Описание" - or: "или" - email: "Email" - password: "Пароль" - message: "Сообщение" - code: "Код" - ladder: "Ладдер" - when: "Когда" - opponent: "Противник" - rank: "Ранг" - score: "Счёт" - win: "Победа" - loss: "Поражение" - tie: "Ничья" - easy: "Просто" - medium: "Нормально" - hard: "Сложно" - - about: - who_is_codecombat: "Кто стоит за CodeCombat?" - why_codecombat: "Почему CodeCombat?" - who_description_prefix: "вместе начали CodeCombat в 2013 году. Также мы создали " - who_description_suffix: "в 2008 году, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами." - who_description_ending: "Теперь пришло время научить людей написанию кода." - why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"потерял интерес.\" Каждую неделю очередной товарищ начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решили со Skritter: люди получают навык через медленные, интенсивные уроки, в то время как то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить." - why_paragraph_2: "Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и прекрасно провести время, делая это." - why_paragraph_3_prefix: "Вот где программирование. Это должно быть весело. Не забавно, вроде" - why_paragraph_3_italic: "вау, значок," - why_paragraph_3_center: "а" - why_paragraph_3_italic_caps: "НЕТ, МАМ, Я ДОЛЖЕН ПРОЙТИ УРОВЕНЬ!" - why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не потеряете голову - в данном случае, это хорошо." - why_paragraph_4: "Если вы собираетесь увлечься какой-нибудь игрой, увлекитесь этой и станьте одним из волшебников века информационных технологий." - why_ending: "И да, это бесплатно. " - why_ending_url: "Начни волшебство сейчас!" - george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер и чемпион начинающих программистов во всём мире." - scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен." - nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat." - jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми." - michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности." - glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!" - - legal: - page_title: "Юридическая информация" - opensource_intro: "CodeCombat - бесплатный проект с полностью открытым исходным кодом." - opensource_description_prefix: "Посмотрите " - github_url: "наш GitHub" - opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в " - archmage_wiki_url: "наш вики-портал для Архимагов" - opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной." - practices_title: "Уважаемые лучшие практики" - practices_description: "Это наши обещания тебе, игроку, менее юридическим языком." - privacy_title: "Конфиденциальность" - privacy_description: "Мы не будем продавать какую-либо личную информацию. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." - security_title: "Безопасность" - security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности." - email_title: "Email" - email_description_prefix: "Мы не наводним вас спамом. Через" - email_settings_url: "ваши email настройки" - email_description_suffix: "или через ссылки в email-ах, которые мы отправляем, вы можете изменить предпочтения и легко отписаться в любой момент." - cost_title: "Стоимость" - cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя" - recruitment_title: "Рекрутинг" - recruitment_description_prefix: "Здесь, в CodeCombat, вы собираетесь стать могущественным волшебником не только в игре, но и в реальной жизни." - url_hire_programmers: "Никто не может нанять программистов достаточно быстро" - recruitment_description_suffix: "поэтому, как только вы улучшите свои навыки и будете согласны, мы начнём демонстрировать ваши лучшие программистские достижения тысячам работодателей, пускающих слюни на возможность нанять вас. Они платят нам немного, они платят вам" - recruitment_description_italic: "много" - recruitment_description_ending: "сайт остаётся бесплатным и все счастливы. Таков план." - copyrights_title: "Авторские права и лицензии" - contributor_title: "Лицензионное соглашение соавторов" - contributor_description_prefix: "Все вклады, как на сайте, так и на нашем репозитории GitHub, подпадают под наше" - cla_url: "ЛСС" - contributor_description_suffix: "с которым вы должны согласиться перед началом содействия." - code_title: "Код - MIT" - code_description_prefix: "Весь код, принадлежащий CodeCombat или размещённый на codecombat.com, а также в репозитории GitHub или в базе данных codecombat.com, лицензирован по" - mit_license_url: "лицензии MIT" - code_description_suffix: "Сюда входит весь код Систем и Компонентов, которые доступны на CodeCombat для целей создания уровней." - art_title: "Художественные работы/Музыка - Creative Commons " - art_description_prefix: "Весь основной контент доступен под" - cc_license_url: "лицензией Creative Commons Attribution 4.0 International" - art_description_suffix: "Основной контент это всё, ставшее общедоступным благодаря CodeCombat для целей создания уровней. Сюда входят:" - art_music: "Музыка" - art_sound: "Звук" - art_artwork: "Художественные произведения" - art_sprites: "Спрайты" - art_other: "Любые другие, не являющиеся кодом, творческие работы, которые доступны при создании уровней." - art_access: "В настоящее время не существует универсальной, удобной системы для выделения данных активов. В общем случае, выделите их из URL-ов, аналогично используемым на сайте, свяжитесь с нами для содействия, или помогите нам в расширении сайта, чтобы сделать данные активы более доступными." - art_paragraph_1: "Для атрибуции, пожалуйста, укажите название и разместите ссылку на codecombat.com недалеко от места, где используется источник, или там, где это уместно для среды окружения. Например:" - use_list_1: "При использовании в фильме или другой игре, включите codecombat.com в титры." - use_list_2: "При использовании на веб-сайте, добавьте ссылку рядом с местом использования, например под изображением, или на общей странице атрибуции, где вы могли бы также упомянуть другие работы Creative Commons и программное обеспечение с открытым исходным кодом, используещееся на сайте. То, что уже явно указывает на CodeCombat, например запись блога, упоминающая CodeCombat, не нуждается в отдельной атрибуции." - art_paragraph_2: "Если используемый контент создан не CodeCombat, но пользователем codecombat.com, приписывайте его ему, и следуйте инструкциям атрибуции, представленным в описании данного ресурса, если таковые имеются." - rights_title: "Сохранение прав" - rights_desc: "Все права сохраняются для уровней самих по себе. Сюда входят:" - rights_scripts: "Скрипты" - rights_unit: "Настройка юнитов" - rights_description: "Описание" - rights_writings: "Тексты" - rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней." - rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет." - nutshell_title: "В двух словах" - nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт." - canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет." - - contribute: - page_title: "Сотрудничество" - character_classes_title: "Классы персонажей" - introduction_desc_intro: "Мы возлагаем большие надежды на CodeCombat." - introduction_desc_pref: "Мы хотим быть местом, где программисты всех мастей приходят учиться и играть вместе, знакомить остальных с удивительным миром программирования, и отражают лучшие части сообщества. Мы не можем и не хотим этого делать в одиночку; то, что делает такие проекты, как GitHub, Stack Overflow и Linux великими - люди, которые их используют и создают на их основе. С этой целью " - introduction_desc_github_url: "исходный код CodeCombat полностью открыт" - introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим." - introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!" - introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль, Джереми и Глен" - alert_account_message_intro: "Привет!" - alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала " - alert_account_message_suf: "." - alert_account_message_create_url: "создать аккаунт" - archmage_summary: "Интересует работа над игровой графикой, дизайном пользовательского интерфейса, базой данных и организацией сервера, сетевым мультиплеером, физикой, звуком или производительностью игрового движка? Хотите помочь создать игру для помощи другим людям в изучении того, в чём вы хорошо разбираетесь? У нас много работы, и если вы опытный программист и хотите разрабатывать для CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." - archmage_introduction: "Одна из лучших черт в создании игр - то, что они синтезируют так много различных вещей. Графика, звук, сетевое взаимодействие в режиме реального времени, социальное сетевое взаимодействие, и, конечно, большинство из более распространённых аспектов программирования, от низкоуровневого управления базами данных и администрирования сервера до построения дизайна и интерфейсов, видимых пользователю. У нас много работы, и если вы опытный программист со страстным желанием погрузиться в действительно мельчайшие детали CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." - class_attributes: "Атрибуты класса" - archmage_attribute_1_pref: "Знания о " - archmage_attribute_1_suf: " или желание научиться. Большая часть нашего кода на этом языке. Если вы фанат Ruby или Python, вы будете чувствовать себя как дома. Это JavaScript, но с лучшим синтаксисом." - archmage_attribute_2: "Определённый опыт в программировании и личная инициатива. Мы поможем вам сориентироваться, однако мы не можем тратить много времени для вашего обучения." - how_to_join: "Как присоединиться" - join_desc_1: "Любой желающий может помочь! Просто ознакомьтесь с нашим " - join_desc_2: "чтобы начать, и установите флажок ниже, чтобы отметить себя как отважного Архимага и получать последние новости через email. Хотите поговорить о том, что делать или как принять более активное участие? " - join_desc_3: " или найдите нас в " - join_desc_4: "и мы решим, откуда можно начать!" - join_url_email: "Напишите нам" - join_url_hipchat: "публичной комнате HipChat" - more_about_archmage: "Узнать больше о том, как стать Архимагом" - archmage_subscribe_desc: "Получать email-ы о новых возможностях для программирования и объявления." - artisan_summary_pref: "Хотите проектировать уровни и расширить арсенал CodeCombat? Люди проходят наш контент на порядок быстрее, чем мы его создаём! В данный момент, наш редактор уровней только скелет, так что будьте осторожны. Создание уровней будет немного сложным и глючным. Если у вас есть видение кампаний, связывающих циклы for в" - artisan_summary_suf: ", тогда этот класс для вас." - artisan_introduction_pref: "Мы должны строить дополнительные уровни! Люди будут требовать больше контента и создавать его можем только мы сами. Сейчас ваша рабочая станция первого уровня; наш редактор уровней едва пригоден для использования создателями, так что будьте осторожны. Если у вас есть видение кампаний, связывающих циклы for в" - artisan_introduction_suf: ", тогда этот класс для вас." - artisan_attribute_1: "Любой опыт по созданию подобного контента был бы хорош, например, использование редакторов уровней Blizzard. Но не обязателен!" - artisan_attribute_2: "Страстное желание делать кучу испытаний и итераций. Чтобы создавать хорошие уровни, вам нужно давать их другим и смотреть, как они играют, и быть готовым находить множество вещей для исправления." - artisan_attribute_3: "В настоящее время, выносливость наравне с Искателем приключений. Наш Редактор уровней супер предварителен и печален в использовании. Вас предупредили!" - artisan_join_desc: "Используйте редактор уровней, следуя этим шагам, плюс-минус:" - artisan_join_step1: "Прочитайте документацию." - artisan_join_step2: "Создайте новый уровень и изучите существующие уровни." - artisan_join_step3: "Найдите нас в нашей публичной комнате HipChat для помощи." - artisan_join_step4: "Разместите свои уровни на форуме для обратной связи." - more_about_artisan: "Узнать больше о том, как стать Ремесленником" - artisan_subscribe_desc: "Получать email-ы об обновлениях редактора уровней и объявления." - adventurer_summary: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." - adventurer_introduction: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." - adventurer_attribute_1: "Жажда обучения. Вы хотите научиться программировать и мы хотим научить вас программировать. Вы, вероятно, проведёте большую часть обучения в процессе." - adventurer_attribute_2: "Харизматичность. Будьте нежны, но ясно формулируйте, что нуждается в улучшении и вносите свои предложения по улучшению." - adventurer_join_pref: "Либо объединитесь (или наймите!) с Ремесленником и работайте с ним, или установите флажок ниже для получения email-ов, когда появляются новые уровни для тестирования. Также мы будем размещать записи об уровнях для обзора в наших сетях, таких, как" - adventurer_forum_url: "наш форум" - adventurer_join_suf: "поэтому, если вы предпочитаете получать уведомления таким способом, зарегистрируйтесь там!" - more_about_adventurer: "Узнать больше о том, как стать Искателем приключений" - adventurer_subscribe_desc: "Получать email-ы при появлении новых уровней для тестирования." - scribe_summary_pref: "CodeCombat будет не просто кучей уровней. Он также будет ресурсом знаний в области программирования, к которому игроки могут присоединиться. Таким образом, каждый Ремесленник может ссылаться на подробную статью для назидания игрока: документация сродни тому, что создана " - scribe_summary_suf: ". Если вам нравится объяснять концепции программирования, этот класс для вас." - scribe_introduction_pref: "CodeCombat будет не просто кучей уровней. Он также включает в себя ресурс для познания, вики концепций программирования, которые уровни могут включать. Таким образом, вместо того, чтобы каждому Ремесленнику необходимо было подробно описывать, что такое оператор сравнения, они могут просто связать их уровень с уже написанной в назидание игрокам статьёй, описывающей их. Что-то по аналогии с " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: ". Если ваше представление о веселье это формулирование концепций программирования в форме Markdown, этот класс для вас." - scribe_attribute_1: "Навык в письме - в значительной степени всё, что вам нужно. Не только грамматика и правописание, но и способность передать сложные идеи другим." - contact_us_url: "Свяжитесь с нами" - scribe_join_description: "расскажите нам немного о себе, вашем опыте в программировании и какие вещи вы хотели бы описывать. Отсюда и начнём!" - more_about_scribe: "Узнать больше о том, как стать Писарем" - scribe_subscribe_desc: "Получать email-ы с объявлениями о написании статей." - diplomat_summary: "Существует большой интерес к CodeCombat в других странах, которые не говорят по-английски! Мы ищем переводчиков, которые готовы тратить свое время на перевод текстовой части сайта, так, чтобы CodeCombat стал доступен по всему миру как можно скорее. Если вы хотите помочь CodeCombat стать интернациональным, этот класс для вас." - diplomat_introduction_pref: "Так, одной из вещей, которую мы узнали из " - diplomat_launch_url: "запуска в октябре" - diplomat_introduction_suf: "было то, что есть значительная заинтересованность в CodeCombat в других странах! Мы создаём корпус переводчиков, стремящихся превратить один набор слов в другой набор слов для максимальной доступности CodeCombat по всему миру. Если вы любите видеть контент до официального выхода и получать эти уровни для ваших соотечественников как можно скорее, этот класс для вас." - diplomat_attribute_1: "Свободное владение английским языком и языком, на который вы хотели бы переводить. При передаче сложных идей важно иметь сильную хватку в обоих!" - diplomat_join_pref_github: "Найдите файл локализации вашего языка " - diplomat_github_url: "на GitHub" - diplomat_join_suf_github: ", отредактируйте его онлайн и отправьте запрос на подтверждение изменений. Кроме того, установите флажок ниже, чтобы быть в курсе новых разработок интернационализации!" - more_about_diplomat: "Узнать больше о том, как стать Дипломатом" - diplomat_subscribe_desc: "Получать email-ы о i18n разработках и уровнях для перевода." - ambassador_summary: "Мы пытаемся создать сообщество, и каждое сообщество нуждается в службе поддержки, когда есть проблемы. У нас есть чаты, электронная почта и социальные сети, чтобы наши пользователи могли познакомиться с игрой. Если вы хотите помочь людям втянуться, получать удовольствие и учиться программированию, этот класс для вас." - ambassador_introduction: "Это сообщество, которое мы создаём, и вы соединяете. У нас есть Olark чаты, электронная почта и социальные сети с уймой людей, с которыми нужно поговорить, помочь в ознакомлении с игрой и обучении из неё. Если вы хотите помочь людям втянуться, получать удовольствие, наслаждаться и и куда мы идём, этот класс для вас." - ambassador_attribute_1: "Навыки общения. Уметь определять проблемы игроков и помогать решить их. Кроме того, держите всех нас в курсе о том, что игроки говорят, что им нравится, не нравится и чего хотят больше!" - ambassador_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Отсюда и начнём!" - ambassador_join_note_strong: "Примечание" - ambassador_join_note_desc: "Одним из наших главных приоритетов является создание мультиплеера, где игроки столкнутся с труднорешаемыми уровнями и могут призвать более высокоуровневых волшебников для помощи. Это будет отличным способом для послов делать свое дело. Мы будем держать вас в курсе!" - more_about_ambassador: "Узнать больше о том, как стать Послом" - ambassador_subscribe_desc: "Получать email-ы о разработке мультиплеера и обновлениях в системе поддержки." - counselor_summary: "Ни одна из вышеупомянутых ролей не соответствует тому, в чём вы заинтересованы? Не волнуйтесь, мы в поисках тех, кто хочет приложить руку к разработке CodeCombat! Если вы заинтересованы в обучении, разработке игр, управлением проектами с открытым исходным кодом, или в чём-нибудь ещё, что, как вы думаете, будет актуально для нас, то этот класс для вас." - counselor_introduction_1: "У вас есть жизненный опыт? Другая точка зрения на вещи, которые могут помочь нам решить, как формировать CodeCombat? Из всех этих ролей, эта, возможно, займёт меньше всего времени, но по отдельности, вы можете сделать наибольшие изменения. Мы в поисках морщинистых мудрецов, особенно в таких областях, как: обучение, разработка игр, управление проектами с открытым исходным кодом, технической рекрутинг, предпринимательство или дизайн." - counselor_introduction_2: "Или действительно всё, что имеет отношение к развитию CodeCombat. Если у вас есть знания и вы хотите поделиться ими, чтобы помочь вырастить этот проект, то этот класс для вас." - counselor_attribute_1: "Опыт, в любой из областей выше, или в том, что, как вы думаете, может быть полезным." - counselor_attribute_2: "Немного свободного времени!" - counselor_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Мы поместим вас в наш список контактов и выйдем на связь, когда нам понадобится совет(не слишком часто)." - more_about_counselor: "Узнать больше о том, как стать Советником" - changes_auto_save: "Изменения сохраняются автоматически при переключении флажков." - diligent_scribes: "Наши старательные Писари:" - powerful_archmages: "Наши могущественные Архимаги:" - creative_artisans: "Наши творческие Ремесленники:" - brave_adventurers: "Наши отважные Искатели приключений:" - translating_diplomats: "Наши переводящие Дипломаты:" - helpful_ambassadors: "Наши полезные Послы:" - - classes: - archmage_title: "Архимаг" - archmage_title_description: "(программист)" - artisan_title: "Ремесленник" - artisan_title_description: "(создатель уровней)" - adventurer_title: "Искатель приключений" - adventurer_title_description: "(тестировщик уровней)" - scribe_title: "Писарь" - scribe_title_description: "(редактор статей)" - diplomat_title: "Дипломат" - diplomat_title_description: "(переводчик)" - ambassador_title: "Посол" - ambassador_title_description: "(поддержка)" - counselor_title: "Советник" - counselor_title_description: "(эксперт/учитель)" - - ladder: - please_login: "Пожалуйста, перед игрой для ладдера, войдите в аккаунт." - my_matches: "Мои матчи" - simulate: "Симулирование" - simulation_explanation: "Симулированием игр вы сможете быстрее получить оценку игры!" - simulate_games: "Симулировать игры!" - simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ" - games_simulated_by: "Игры, симулированные вами:" - games_simulated_for: "Игры, симулированные за вас:" - leaderboard: "таблица лидеров" - battle_as: "Сразиться за " - summary_your: "Ваши " - summary_matches: "матчи - " - summary_wins: " побед, " - summary_losses: " поражений" - rank_no_code: "Нет нового кода для оценки" - rank_my_game: "Оценить мою игру!" - rank_submitting: "Отправка..." - rank_submitted: "Отправлено для оценки" - rank_failed: "Сбой в оценке" - rank_being_ranked: "Игра оценивается" - code_being_simulated: "Ваш новый код участвует в симуляции других игроков для оценки. Обновление будет при поступлении новых матчей." - no_ranked_matches_pre: "Нет оценённых матчей для команды" - no_ranked_matches_post: "! Сыграйте против нескольких противников и возвращайтесь сюда для оценки вашей игры." - choose_opponent: "Выберите противника" - tutorial_play: "Пройти обучение" - tutorial_recommended: "Рекомендуется, если вы раньше никогда не играли" - tutorial_skip: "Пропустить обучение" - tutorial_not_sure: "Не уверены, что делать дальше?" - tutorial_play_first: "Сначала пройдите обучение." - simple_ai: "Простой ИИ" - warmup: "Разминка" - vs: "против" - - multiplayer_launch: - introducing_dungeon_arena: "Представляем Арену подземелья" - new_way: "Новый способ соревноваться с помощью кода." - to_battle: "В бой, разработчики!" - modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы." - arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь." - ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров – затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" - fork_our_arenas: "сделать модификации наших арен" - create_worlds: "и создавать свои собственные миры." - javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть" - tutorial: "обучение" - new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." - so_ready: "Я полностью готов(а) для этого" - - loading_error: - could_not_load: "Ошибка загрузки с сервера" - connection_failure: "Соединение прервано." - unauthorized: "Вам необходимо авторизоваться. У вас отключены cookie?" - forbidden: "У вас нет прав доступа." - not_found: "Не найдено." - not_allowed: "Метод не поддерживается." - timeout: "Тайм-аут сервера." - conflict: "Конфликт ресурсов." - bad_input: "Неверные входные данные." - server_error: "Ошибка сервера." - unknown: "Неизвестная ошибка." - - resources: - your_sessions: "Ваши сессии" - level: "Уровень" - social_network_apis: "API социальных сетей" - facebook_status: "Статус Facebook" - facebook_friends: "Друзья Facebook" - facebook_friend_sessions: "Сессии друзей Facebook" - gplus_friends: "Друзья G+" - gplus_friend_sessions: "Сессии друзей G+" +module.exports = nativeDescription: "русский", englishDescription: "Russian", translation: + common: + loading: "Загрузка..." + saving: "Сохранение..." + sending: "Отправка..." + cancel: "Отмена" + save: "Сохранить" + create: "Создать" + delay_1_sec: "1 секунда" + delay_3_sec: "3 секунды" + delay_5_sec: "5 секунд" + manual: "Вручную" + fork: "Форк" + play: "Играть" + retry: "Повторить" + + units: + second: "секунда" + seconds: "секунд(ы)" + minute: "минута" + minutes: "минут(ы)" + hour: "час" + hours: "часа(ов)" + + modal: + close: "Закрыть" + okay: "OK" + + not_found: + page_not_found: "Страница не найдена" + + nav: + play: "Уровни" + editor: "Редактор" + blog: "Блог" + forum: "Форум" + admin: "Админ" + home: "Домой" + contribute: "Сотрудничество" + legal: "Юридическая информация" + about: "О нас" + contact: "Контакты" + twitter_follow: "Подписаться" + employers: "Работодателям" + + versions: + save_version_title: "Сохранить новую версию" + new_major_version: "Новая основная версия" + update_break_level: "(Может ли это обновление нарушить старые решения уровня?)" + update_break_component: "(Может ли это обновление нарушить что-нибудь, зависящее от данного Компонента?)" + update_break_system: "(Может ли это обновление нарушить что-нибудь, зависящее от данной Системы?)" + cla_prefix: "Чтобы сохранить изменения, сначала вы должны согласиться с нашим" + cla_url: "лицензионным соглашением соавторов" + cla_suffix: "." + cla_agree: "Я СОГЛАСЕН" + + login: + sign_up: "Создать аккаунт" + log_in: "Войти" + logging_in: "Вход..." + log_out: "Выйти" + recover: "восстановить аккаунт" + + recover: + recover_account_title: "Восстановить аккаунт" + send_password: "Отправить пароль для восстановления" + + signup: + create_account_title: "Создать аккаунт, чтобы сохранить прогресс" + description: "Это бесплатно. Нужна лишь пара вещей, и вы сможете продолжить путешествие:" + email_announcements: "Получать оповещения на email" + coppa: "Вы старше 13 лет или живёте не в США " + coppa_why: "(почему?)" + creating: "Создание аккаунта..." + sign_up: "Регистрация" + log_in: "вход с паролем" + + home: + slogan: "Научитесь программировать на JavaScript, играя в игру" + no_ie: "CodeCombat не работает в IE8 или более старых версиях. Нам очень жаль!" + no_mobile: "CodeCombat не приспособлен для работы на мобильных устройствах и может не работать!" + play: "Играть" + old_browser: "Ой, ваш браузер слишком стар для запуска CodeCombat. Извините!" + old_browser_suffix: "Вы всё равно можете попробовать, но, скорее всего, это не будет работать." + campaign: "Кампания" + for_beginners: "Новичкам" + multiplayer: "Мультиплеер" + for_developers: "Разработчикам" + + play: + choose_your_level: "Выберите ваш уровень" + adventurer_prefix: "Вы можете зайти на любой из этих уровней, а также обсудить уровни на " + adventurer_forum: "форуме Искателей приключений" + adventurer_suffix: "." + campaign_beginner: "Кампания для новичков" + campaign_beginner_description: "... в которой вы познакомитесь с магией программирования." + campaign_dev: "Случайные уровни потруднее" + campaign_dev_description: "... в которых вы изучите интерфейс и научитесь делать кое-что посложнее." + campaign_multiplayer: "Арены для мультиплеера" + campaign_multiplayer_description: "... в которых вы соревнуетесь в программировании с другими игроками." + campaign_player_created: "Уровни игроков" + campaign_player_created_description: "... в которых вы сражаетесь с креативностью ваших друзей <a href=\"/contribute#artisan\">Ремесленников</a>." + level_difficulty: "Сложность: " + play_as: "Играть за " + spectate: "Наблюдать" + + contact: + contact_us: "Связаться с CodeCombat" + welcome: "Мы рады вашему сообщению! Используйте эту форму, чтобы отправить нам email. " + contribute_prefix: "Если вы хотите внести свой вклад в проект, зайдите на нашу " + contribute_page: "страницу сотрудничества" + contribute_suffix: "!" + forum_prefix: "Для любых публичных обсуждений, пожалуйста, используйте " + forum_page: "наш форум" + forum_suffix: "." + send: "Отправить отзыв" + + diplomat_suggestion: + title: "Помогите перевести CodeCombat!" + sub_heading: "Нам нужны ваши языковые навыки." + pitch_body: "Мы создаём CodeCombat на английском, но у нас уже есть игроки со всего мира. Многие из них хотели бы играть на русском, но не знают английского, так что если вы знаете оба этих языка - зарегистрируйтесь как Дипломат и помогите перевести сайт CodeCombat и все уровни на русский язык." + missing_translations: "Пока мы не перевели всё на русский язык, вы будете видеть английский текст в тех частях игры, которые ещё не переведены на русский." + learn_more: "Узнать о том, как стать Дипломатом" + subscribe_as_diplomat: "Зарегистрироваться как Дипломат" + + wizard_settings: + title: "Настройки волшебника" + customize_avatar: "Изменить свой аватар" + active: "Активно" + color: "Цвет" + group: "Группа" + clothes: "Одежда" + trim: "Отделка" + team: "Облако" + spell: "Заклинание" + boots: "Обувь" + hue: "Оттенок" + saturation: "Насыщенность" + lightness: "Светлость" + + account_settings: + title: "Настройки аккаунта" + not_logged_in: "Войдите или зарегистрируйтесь, чтобы изменить настройки." + autosave: "Настройки сохраняются автоматически" + me_tab: "Я" + picture_tab: "Аватар" + wizard_tab: "Волшебник" + password_tab: "Пароль" + emails_tab: "Email-адреса" + admin: "Админ" + gravatar_select: "Выберите, какое фото с Gravatar использовать" + gravatar_add_photos: "Чтобы выбрать изображение, добавьте фото и уменьшенные изображения в ваш Gravatar-аккаунт." + gravatar_add_more_photos: "Добавьте больше фото к вашему аккаунту в Gravatar, чтобы использовать их здесь." + wizard_color: "Цвет одежды волшебника" + new_password: "Новый пароль" + new_password_verify: "Подтверждение пароля" + email_subscriptions: "Email-подписки" + email_announcements: "Оповещения" + email_notifications: "Уведомления" + email_notifications_description: "Получать периодические уведомления для вашего аккаунта." + email_announcements_description: "Получать email-оповещения о последних новостях CodeCombat." + contributor_emails: "Рассылки по классам участников" + contribute_prefix: "Нам нужны люди, которые присоединятся к нашей команде! Зайдите на " + contribute_page: "страницу участников," + contribute_suffix: " чтобы узнать больше." + email_toggle: "Отметить всё" + error_saving: "Ошибка сохранения" + saved: "Изменения сохранены" + password_mismatch: "Пароли не совпадают." + + account_profile: + edit_settings: "Изменить настройки" + profile_for_prefix: "Профиль для " + profile_for_suffix: "" + profile: "Профиль" + user_not_found: "Пользователь не найден. Пожалуйста, проверьте URL." + gravatar_not_found_mine: "Мы не можем найти профиль, связанный с" + gravatar_not_found_email_suffix: "." + gravatar_signup_prefix: "Зарегистрируйтесь на " + gravatar_signup_suffix: ", чтобы настроить профиль." + gravatar_not_found_other: "Нет профиля, связанного с почтой данного пользователя." + gravatar_contact: "Контакты" + gravatar_websites: "Сайты" + gravatar_accounts: "Как показано на" + gravatar_profile_link: "Полный профиль на Gravatar" + + play_level: + level_load_error: "Уровень не может быть загружен: " + done: "Готово" + grid: "Сетка" + customize_wizard: "Настройки волшебника" + home: "На главную" + guide: "Руководство" + multiplayer: "Мультиплеер" + restart: "Перезапустить" + goals: "Цели" + action_timeline: "График действий" + click_to_select: "Выберите персонажа, щёлкнув на нём" + reload_title: "Перезагрузить код полностью?" + reload_really: "Вы уверены, что хотите начать уровень сначала?" + reload_confirm: "Перезагрузить всё" + victory_title_prefix: "Уровень " + victory_title_suffix: " завершён" + victory_sign_up: "Зарегистрироваться" + victory_sign_up_poke: "Хотите сохранить ваш код? Создайте бесплатный аккаунт!" + victory_rate_the_level: "Оцените уровень:" + victory_rank_my_game: "Оценить мою игру" + victory_ranking_game: "Отправка..." + victory_return_to_ladder: "Вернуться к ладдеру" + victory_play_next_level: "Следующий уровень" + victory_go_home: "На главную" + victory_review: "Расскажите нам больше!" + victory_hour_of_code_done: "Вы закончили?" + victory_hour_of_code_done_yes: "Да, я закончил мой Час Кода™!" + multiplayer_title: "Настройки мультиплеера" + multiplayer_link_description: "Дайте эту ссылку кому-нибудь, чтоб он присоединился к вам." + multiplayer_hint_label: "Подсказка: " + multiplayer_hint: "кликните на ссылку, чтобы выделить её, затем нажмите ⌘-С или Ctrl-C, чтобы скопировать." + multiplayer_coming_soon: "Больше возможностей мультиплеера на подходе!" + guide_title: "Руководство" + tome_minion_spells: "Заклинания ваших миньонов" + tome_read_only_spells: "Заклинания только для чтения" + tome_other_units: "Другие юниты" + tome_cast_button_castable: "Читать заклинание" + tome_cast_button_casting: "Заклинание читается" + tome_cast_button_cast: "Заклинание прочитано" + tome_autocast_delay: "Задержка автоматического чтения" + tome_select_spell: "Выбрать заклинание" + tome_select_a_thang: "Выбрать кого-нибудь для " + tome_available_spells: "Доступные заклинания" + hud_continue: "Продолжить (Shift+Пробел)" + spell_saved: "Заклинание сохранено" + skip_tutorial: "Пропуск (Esc)" + editor_config: "Настройки редактора" + editor_config_title: "Настройки редактора" + editor_config_language_label: "Язык программирования" + editor_config_language_description: "Определяет язык, на котором вы хотите программировать." + editor_config_keybindings_label: "Сочетания клавиш" + editor_config_keybindings_default: "По умолчанию (Ace)" + editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." + editor_config_invisibles_label: "Показывать непечатные символы" + editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции." + editor_config_indentguides_label: "Показывать направляющие отступов" + editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов." + editor_config_behaviors_label: "Умное поведение" + editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки." + loading_ready: "Готово!" + tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний." + tip_toggle_play: "Переключайте воспроизведение/паузу комбинацией Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд." + tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации." + tip_open_source: "Исходный код CodeCombat открыт на 100%!" + tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013 года." + tip_js_beginning: "JavaScript это только начало." + tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения." + think_solution: "Думайте о решении, а не о проблеме." + tip_theory_practice: "В теории, между практикой и теорией нет разницы. Но на практике есть. - Yogi Berra" + tip_error_free: "Есть два способа писать программы без ошибок; работает только третий. - Alan Perlis" + tip_debugging_program: "Если отладка это процесс удаления багов, то программирование должно быть процессом их добавления. - Edsger W. Dijkstra" + tip_forums: "Заходите на форумы и расскажите нам, что вы думаете!" + tip_baby_coders: "В будущем, даже младенцы будут Архимагами." + tip_morale_improves: "Загрузка будет продолжаться, пока боевой дух не восстановится." + tip_all_species: "Мы верим в равные возможности для обучения программированию, для всех видов." + tip_reticulating: "Ретикуляция сплайнов." + tip_harry: "Ты волшебник, " + tip_great_responsibility: "С большим умением программирования приходит большая ответственность отладки." + tip_munchkin: "Если вы не съедите овощи, манчкин придёт за вами, пока вы спите." + tip_binary: "В мире есть 10 типов людей: те, кто понимают двоичную систему счисления и те, кто не понимают." + tip_commitment_yoda: "Программист верностью принципам обладать должен, и серьёзным умом. ~ Yoda" + tip_no_try: "Делай. Или не делай. Не надо пытаться. - Yoda" + tip_patience: "Терпением ты обладать должен, юный падаван. - Yoda" + tip_documented_bug: "Документированный баг не является багом; это фича." + tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela" + tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds" + tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay" + time_current: "Текущее:" + time_total: "Максимальное:" + time_goto: "Перейти на:" + + admin: + av_title: "Админ панель" + av_entities_sub_title: "Сущности" + av_entities_users_url: "Пользователи" + av_entities_active_instances_url: "Активные экземпляры" + av_other_sub_title: "Другое" + av_other_debug_base_url: "База (для отладки base.jade)" + u_title: "Список пользователей" + lg_title: "Последние игры" + clas: "ЛСС" + + editor: + main_title: "Редакторы CodeCombat" + main_description: "Создавайте ваши собственные уровни, кампании, юнитов и обучающий контент. Мы предоставляем все необходимые инструменты!" + article_title: "Редактор статей" + article_description: "Пишите статьи, дающие представление игрокам о концепциях программирования, которые могут быть использованы в различных уровнях и кампаниях." + thang_title: "Редактор объектов" + thang_description: "Создавайте юнитов, определяйте их логику по умолчанию, графику и звук. В настоящий момент поддерживается импорт только векторной графики Flash." + level_title: "Редактор уровней" + level_description: "Включает в себя инструменты для написания сценариев, загрузки аудио и построения собственной логики для создания всевозможных уровней. Всё, что мы используем сами!" + security_notice: "Многие основные возможности в этих редакторах в настоящее время не включены по умолчанию. Как только мы повысим безопасность этих систем, они станут общедоступными. Если вам хотелось бы использовать эти возможности раньше, " + contact_us: "свяжитесь с нами!" + hipchat_prefix: "Также вы можете найти нас в нашей" + hipchat_url: "комнате HipChat." + back: "Назад" + revert: "Откатить" + revert_models: "Откатить Модели" + fork_title: "Форк новой версии" + fork_creating: "Создание форка..." + more: "Ещё" + wiki: "Вики" + live_chat: "Онлайн-чат" + level_publish: "Опубликовать уровень (необратимо)?" + level_some_options: "Ещё опции" + level_tab_thangs: "Объекты" + level_tab_scripts: "Скрипты" + level_tab_settings: "Настройки" + level_tab_components: "Компоненты" + level_tab_systems: "Системы" + level_tab_thangs_title: "Текущие объекты" + level_tab_thangs_all: "Все" + level_tab_thangs_conditions: "Начальные условия" + level_tab_thangs_add: "Добавить объект" + delete: "Удалить" + duplicate: "Дублировать" + level_settings_title: "Настройки" + level_component_tab_title: "Текущие компоненты" + level_component_btn_new: "Создать новый компонент" + level_systems_tab_title: "Текущие системы" + level_systems_btn_new: "Создать новую систему" + level_systems_btn_add: "Добавить систему" + level_components_title: "Вернуться ко всем объектам" + level_components_type: "Тип" + level_component_edit_title: "Редактировать компонент" + level_component_config_schema: "Настройка Schema" + level_component_settings: "Настройки" + level_system_edit_title: "Редактировать систему" + create_system_title: "Создать новую систему" + new_component_title: "Создать новый компонент" + new_component_field_system: "Система" + new_article_title: "Создать новую статью" + new_thang_title: "Создать новый тип объектов" + new_level_title: "Создать новый уровень" + article_search_title: "Искать статьи" + thang_search_title: "Искать типы объектов" + level_search_title: "Искать уровни" + signup_to_create: "Авторизуйтесь для создания нового контента" + read_only_warning: "Примечание: вы не можете сохранять здесь любые правки, потому что вы не вошли как администратор." + + article: + edit_btn_preview: "Предпросмотр" + edit_article_title: "Редактирование статьи" + + general: + and: "и" + name: "Имя" + body: "Содержание" + version: "Версия" + commit_msg: "Сопроводительное сообщение" + version_history: "История версий" + version_history_for: "История версий для: " + result: "Результат" + results: "Результаты" + description: "Описание" + or: "или" + email: "Email" + password: "Пароль" + message: "Сообщение" + code: "Код" + ladder: "Ладдер" + when: "Когда" + opponent: "Противник" + rank: "Ранг" + score: "Счёт" + win: "Победа" + loss: "Поражение" + tie: "Ничья" + easy: "Просто" + medium: "Нормально" + hard: "Сложно" + + about: + who_is_codecombat: "Кто стоит за CodeCombat?" + why_codecombat: "Почему CodeCombat?" + who_description_prefix: "вместе начали CodeCombat в 2013 году. Также мы создали " + who_description_suffix: "в 2008 году, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами." + who_description_ending: "Теперь пришло время научить людей написанию кода." + why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"потерял интерес.\" Каждую неделю очередной товарищ начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решили со Skritter: люди получают навык через медленные, интенсивные уроки, в то время как то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить." + why_paragraph_2: "Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и прекрасно провести время, делая это." + why_paragraph_3_prefix: "Вот где программирование. Это должно быть весело. Не забавно, вроде" + why_paragraph_3_italic: "вау, значок," + why_paragraph_3_center: "а" + why_paragraph_3_italic_caps: "НЕТ, МАМ, Я ДОЛЖЕН ПРОЙТИ УРОВЕНЬ!" + why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не потеряете голову - в данном случае, это хорошо." + why_paragraph_4: "Если вы собираетесь увлечься какой-нибудь игрой, увлекитесь этой и станьте одним из волшебников века информационных технологий." + why_ending: "И да, это бесплатно. " + why_ending_url: "Начни волшебство сейчас!" + george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер и чемпион начинающих программистов во всём мире." + scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен." + nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat." + jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми." + michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности." + glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!" + + legal: + page_title: "Юридическая информация" + opensource_intro: "CodeCombat - бесплатный проект с полностью открытым исходным кодом." + opensource_description_prefix: "Посмотрите " + github_url: "наш GitHub" + opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в " + archmage_wiki_url: "наш вики-портал для Архимагов" + opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной." + practices_title: "Уважаемые лучшие практики" + practices_description: "Это наши обещания тебе, игроку, менее юридическим языком." + privacy_title: "Конфиденциальность" + privacy_description: "Мы не будем продавать какую-либо личную информацию. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." + security_title: "Безопасность" + security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности." + email_title: "Email" + email_description_prefix: "Мы не наводним вас спамом. Через" + email_settings_url: "ваши email настройки" + email_description_suffix: "или через ссылки в email-ах, которые мы отправляем, вы можете изменить предпочтения и легко отписаться в любой момент." + cost_title: "Стоимость" + cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя" + recruitment_title: "Рекрутинг" + recruitment_description_prefix: "Здесь, в CodeCombat, вы собираетесь стать могущественным волшебником не только в игре, но и в реальной жизни." + url_hire_programmers: "Никто не может нанять программистов достаточно быстро" + recruitment_description_suffix: "поэтому, как только вы улучшите свои навыки и будете согласны, мы начнём демонстрировать ваши лучшие программистские достижения тысячам работодателей, пускающих слюни на возможность нанять вас. Они платят нам немного, они платят вам" + recruitment_description_italic: "много" + recruitment_description_ending: "сайт остаётся бесплатным и все счастливы. Таков план." + copyrights_title: "Авторские права и лицензии" + contributor_title: "Лицензионное соглашение соавторов" + contributor_description_prefix: "Все вклады, как на сайте, так и на нашем репозитории GitHub, подпадают под наше" + cla_url: "ЛСС" + contributor_description_suffix: "с которым вы должны согласиться перед началом содействия." + code_title: "Код - MIT" + code_description_prefix: "Весь код, принадлежащий CodeCombat или размещённый на codecombat.com, а также в репозитории GitHub или в базе данных codecombat.com, лицензирован по" + mit_license_url: "лицензии MIT" + code_description_suffix: "Сюда входит весь код Систем и Компонентов, которые доступны на CodeCombat для целей создания уровней." + art_title: "Художественные работы/Музыка - Creative Commons " + art_description_prefix: "Весь основной контент доступен под" + cc_license_url: "лицензией Creative Commons Attribution 4.0 International" + art_description_suffix: "Основной контент это всё, ставшее общедоступным благодаря CodeCombat для целей создания уровней. Сюда входят:" + art_music: "Музыка" + art_sound: "Звук" + art_artwork: "Художественные произведения" + art_sprites: "Спрайты" + art_other: "Любые другие, не являющиеся кодом, творческие работы, которые доступны при создании уровней." + art_access: "В настоящее время не существует универсальной, удобной системы для выделения данных активов. В общем случае, выделите их из URL-ов, аналогично используемым на сайте, свяжитесь с нами для содействия, или помогите нам в расширении сайта, чтобы сделать данные активы более доступными." + art_paragraph_1: "Для атрибуции, пожалуйста, укажите название и разместите ссылку на codecombat.com недалеко от места, где используется источник, или там, где это уместно для среды окружения. Например:" + use_list_1: "При использовании в фильме или другой игре, включите codecombat.com в титры." + use_list_2: "При использовании на веб-сайте, добавьте ссылку рядом с местом использования, например под изображением, или на общей странице атрибуции, где вы могли бы также упомянуть другие работы Creative Commons и программное обеспечение с открытым исходным кодом, используещееся на сайте. То, что уже явно указывает на CodeCombat, например запись блога, упоминающая CodeCombat, не нуждается в отдельной атрибуции." + art_paragraph_2: "Если используемый контент создан не CodeCombat, но пользователем codecombat.com, приписывайте его ему, и следуйте инструкциям атрибуции, представленным в описании данного ресурса, если таковые имеются." + rights_title: "Сохранение прав" + rights_desc: "Все права сохраняются для уровней самих по себе. Сюда входят:" + rights_scripts: "Скрипты" + rights_unit: "Настройка юнитов" + rights_description: "Описание" + rights_writings: "Тексты" + rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней." + rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет." + nutshell_title: "В двух словах" + nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт." + canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет." + + contribute: + page_title: "Сотрудничество" + character_classes_title: "Классы персонажей" + introduction_desc_intro: "Мы возлагаем большие надежды на CodeCombat." + introduction_desc_pref: "Мы хотим быть местом, где программисты всех мастей приходят учиться и играть вместе, знакомить остальных с удивительным миром программирования, и отражают лучшие части сообщества. Мы не можем и не хотим этого делать в одиночку; то, что делает такие проекты, как GitHub, Stack Overflow и Linux великими - люди, которые их используют и создают на их основе. С этой целью " + introduction_desc_github_url: "исходный код CodeCombat полностью открыт" + introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим." + introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!" + introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль, Джереми и Глен" + alert_account_message_intro: "Привет!" + alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала " + alert_account_message_suf: "." + alert_account_message_create_url: "создать аккаунт" + archmage_summary: "Интересует работа над игровой графикой, дизайном пользовательского интерфейса, базой данных и организацией сервера, сетевым мультиплеером, физикой, звуком или производительностью игрового движка? Хотите помочь создать игру для помощи другим людям в изучении того, в чём вы хорошо разбираетесь? У нас много работы, и если вы опытный программист и хотите разрабатывать для CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." + archmage_introduction: "Одна из лучших черт в создании игр - то, что они синтезируют так много различных вещей. Графика, звук, сетевое взаимодействие в режиме реального времени, социальное сетевое взаимодействие, и, конечно, большинство из более распространённых аспектов программирования, от низкоуровневого управления базами данных и администрирования сервера до построения дизайна и интерфейсов, видимых пользователю. У нас много работы, и если вы опытный программист со страстным желанием погрузиться в действительно мельчайшие детали CodeCombat, этот класс для вас. Мы будем рады вашей помощи в создании самой лучшей игры для программистов." + class_attributes: "Атрибуты класса" + archmage_attribute_1_pref: "Знания о " + archmage_attribute_1_suf: " или желание научиться. Большая часть нашего кода на этом языке. Если вы фанат Ruby или Python, вы будете чувствовать себя как дома. Это JavaScript, но с лучшим синтаксисом." + archmage_attribute_2: "Определённый опыт в программировании и личная инициатива. Мы поможем вам сориентироваться, однако мы не можем тратить много времени для вашего обучения." + how_to_join: "Как присоединиться" + join_desc_1: "Любой желающий может помочь! Просто ознакомьтесь с нашим " + join_desc_2: "чтобы начать, и установите флажок ниже, чтобы отметить себя как отважного Архимага и получать последние новости через email. Хотите поговорить о том, что делать или как принять более активное участие? " + join_desc_3: " или найдите нас в " + join_desc_4: "и мы решим, откуда можно начать!" + join_url_email: "Напишите нам" + join_url_hipchat: "публичной комнате HipChat" + more_about_archmage: "Узнать больше о том, как стать Архимагом" + archmage_subscribe_desc: "Получать email-ы о новых возможностях для программирования и объявления." + artisan_summary_pref: "Хотите проектировать уровни и расширить арсенал CodeCombat? Люди проходят наш контент на порядок быстрее, чем мы его создаём! В данный момент, наш редактор уровней только скелет, так что будьте осторожны. Создание уровней будет немного сложным и глючным. Если у вас есть видение кампаний, связывающих циклы for в" + artisan_summary_suf: ", тогда этот класс для вас." + artisan_introduction_pref: "Мы должны строить дополнительные уровни! Люди будут требовать больше контента и создавать его можем только мы сами. Сейчас ваша рабочая станция первого уровня; наш редактор уровней едва пригоден для использования создателями, так что будьте осторожны. Если у вас есть видение кампаний, связывающих циклы for в" + artisan_introduction_suf: ", тогда этот класс для вас." + artisan_attribute_1: "Любой опыт по созданию подобного контента был бы хорош, например, использование редакторов уровней Blizzard. Но не обязателен!" + artisan_attribute_2: "Страстное желание делать кучу испытаний и итераций. Чтобы создавать хорошие уровни, вам нужно давать их другим и смотреть, как они играют, и быть готовым находить множество вещей для исправления." + artisan_attribute_3: "В настоящее время, выносливость наравне с Искателем приключений. Наш Редактор уровней супер предварителен и печален в использовании. Вас предупредили!" + artisan_join_desc: "Используйте редактор уровней, следуя этим шагам, плюс-минус:" + artisan_join_step1: "Прочитайте документацию." + artisan_join_step2: "Создайте новый уровень и изучите существующие уровни." + artisan_join_step3: "Найдите нас в нашей публичной комнате HipChat для помощи." + artisan_join_step4: "Разместите свои уровни на форуме для обратной связи." + more_about_artisan: "Узнать больше о том, как стать Ремесленником" + artisan_subscribe_desc: "Получать email-ы об обновлениях редактора уровней и объявления." + adventurer_summary: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." + adventurer_introduction: "Позвольте внести ясность о вашей роли: вы танк. Вы собираетесь принять тяжелые повреждения. Нам нужны люди, чтобы испытать совершенно новые уровни и помочь определить, как сделать лучше. Боль будет огромной; создание хороших игр - длительный процесс и никто не делает это правильно в первый раз. Если вы можете выдержать и имеете высокий балл конституции (D&D), этот класс для вас." + adventurer_attribute_1: "Жажда обучения. Вы хотите научиться программировать и мы хотим научить вас программировать. Вы, вероятно, проведёте большую часть обучения в процессе." + adventurer_attribute_2: "Харизматичность. Будьте нежны, но ясно формулируйте, что нуждается в улучшении и вносите свои предложения по улучшению." + adventurer_join_pref: "Либо объединитесь (или наймите!) с Ремесленником и работайте с ним, или установите флажок ниже для получения email-ов, когда появляются новые уровни для тестирования. Также мы будем размещать записи об уровнях для обзора в наших сетях, таких, как" + adventurer_forum_url: "наш форум" + adventurer_join_suf: "поэтому, если вы предпочитаете получать уведомления таким способом, зарегистрируйтесь там!" + more_about_adventurer: "Узнать больше о том, как стать Искателем приключений" + adventurer_subscribe_desc: "Получать email-ы при появлении новых уровней для тестирования." + scribe_summary_pref: "CodeCombat будет не просто кучей уровней. Он также будет ресурсом знаний в области программирования, к которому игроки могут присоединиться. Таким образом, каждый Ремесленник может ссылаться на подробную статью для назидания игрока: документация сродни тому, что создана " + scribe_summary_suf: ". Если вам нравится объяснять концепции программирования, этот класс для вас." + scribe_introduction_pref: "CodeCombat будет не просто кучей уровней. Он также включает в себя ресурс для познания, вики концепций программирования, которые уровни могут включать. Таким образом, вместо того, чтобы каждому Ремесленнику необходимо было подробно описывать, что такое оператор сравнения, они могут просто связать их уровень с уже написанной в назидание игрокам статьёй, описывающей их. Что-то по аналогии с " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: ". Если ваше представление о веселье это формулирование концепций программирования в форме Markdown, этот класс для вас." + scribe_attribute_1: "Навык в письме - в значительной степени всё, что вам нужно. Не только грамматика и правописание, но и способность передать сложные идеи другим." + contact_us_url: "Свяжитесь с нами" + scribe_join_description: "расскажите нам немного о себе, вашем опыте в программировании и какие вещи вы хотели бы описывать. Отсюда и начнём!" + more_about_scribe: "Узнать больше о том, как стать Писарем" + scribe_subscribe_desc: "Получать email-ы с объявлениями о написании статей." + diplomat_summary: "Существует большой интерес к CodeCombat в других странах, которые не говорят по-английски! Мы ищем переводчиков, которые готовы тратить свое время на перевод текстовой части сайта, так, чтобы CodeCombat стал доступен по всему миру как можно скорее. Если вы хотите помочь CodeCombat стать интернациональным, этот класс для вас." + diplomat_introduction_pref: "Так, одной из вещей, которую мы узнали из " + diplomat_launch_url: "запуска в октябре" + diplomat_introduction_suf: "было то, что есть значительная заинтересованность в CodeCombat в других странах! Мы создаём корпус переводчиков, стремящихся превратить один набор слов в другой набор слов для максимальной доступности CodeCombat по всему миру. Если вы любите видеть контент до официального выхода и получать эти уровни для ваших соотечественников как можно скорее, этот класс для вас." + diplomat_attribute_1: "Свободное владение английским языком и языком, на который вы хотели бы переводить. При передаче сложных идей важно иметь сильную хватку в обоих!" + diplomat_join_pref_github: "Найдите файл локализации вашего языка " + diplomat_github_url: "на GitHub" + diplomat_join_suf_github: ", отредактируйте его онлайн и отправьте запрос на подтверждение изменений. Кроме того, установите флажок ниже, чтобы быть в курсе новых разработок интернационализации!" + more_about_diplomat: "Узнать больше о том, как стать Дипломатом" + diplomat_subscribe_desc: "Получать email-ы о i18n разработках и уровнях для перевода." + ambassador_summary: "Мы пытаемся создать сообщество, и каждое сообщество нуждается в службе поддержки, когда есть проблемы. У нас есть чаты, электронная почта и социальные сети, чтобы наши пользователи могли познакомиться с игрой. Если вы хотите помочь людям втянуться, получать удовольствие и учиться программированию, этот класс для вас." + ambassador_introduction: "Это сообщество, которое мы создаём, и вы соединяете. У нас есть Olark чаты, электронная почта и социальные сети с уймой людей, с которыми нужно поговорить, помочь в ознакомлении с игрой и обучении из неё. Если вы хотите помочь людям втянуться, получать удовольствие, наслаждаться и и куда мы идём, этот класс для вас." + ambassador_attribute_1: "Навыки общения. Уметь определять проблемы игроков и помогать решить их. Кроме того, держите всех нас в курсе о том, что игроки говорят, что им нравится, не нравится и чего хотят больше!" + ambassador_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Отсюда и начнём!" + ambassador_join_note_strong: "Примечание" + ambassador_join_note_desc: "Одним из наших главных приоритетов является создание мультиплеера, где игроки столкнутся с труднорешаемыми уровнями и могут призвать более высокоуровневых волшебников для помощи. Это будет отличным способом для послов делать свое дело. Мы будем держать вас в курсе!" + more_about_ambassador: "Узнать больше о том, как стать Послом" + ambassador_subscribe_desc: "Получать email-ы о разработке мультиплеера и обновлениях в системе поддержки." + counselor_summary: "Ни одна из вышеупомянутых ролей не соответствует тому, в чём вы заинтересованы? Не волнуйтесь, мы в поисках тех, кто хочет приложить руку к разработке CodeCombat! Если вы заинтересованы в обучении, разработке игр, управлением проектами с открытым исходным кодом, или в чём-нибудь ещё, что, как вы думаете, будет актуально для нас, то этот класс для вас." + counselor_introduction_1: "У вас есть жизненный опыт? Другая точка зрения на вещи, которые могут помочь нам решить, как формировать CodeCombat? Из всех этих ролей, эта, возможно, займёт меньше всего времени, но по отдельности, вы можете сделать наибольшие изменения. Мы в поисках морщинистых мудрецов, особенно в таких областях, как: обучение, разработка игр, управление проектами с открытым исходным кодом, технической рекрутинг, предпринимательство или дизайн." + counselor_introduction_2: "Или действительно всё, что имеет отношение к развитию CodeCombat. Если у вас есть знания и вы хотите поделиться ими, чтобы помочь вырастить этот проект, то этот класс для вас." + counselor_attribute_1: "Опыт, в любой из областей выше, или в том, что, как вы думаете, может быть полезным." + counselor_attribute_2: "Немного свободного времени!" + counselor_join_desc: "расскажите нам немного о себе, чем вы занимались и чем хотели бы заниматься. Мы поместим вас в наш список контактов и выйдем на связь, когда нам понадобится совет(не слишком часто)." + more_about_counselor: "Узнать больше о том, как стать Советником" + changes_auto_save: "Изменения сохраняются автоматически при переключении флажков." + diligent_scribes: "Наши старательные Писари:" + powerful_archmages: "Наши могущественные Архимаги:" + creative_artisans: "Наши творческие Ремесленники:" + brave_adventurers: "Наши отважные Искатели приключений:" + translating_diplomats: "Наши переводящие Дипломаты:" + helpful_ambassadors: "Наши полезные Послы:" + + classes: + archmage_title: "Архимаг" + archmage_title_description: "(программист)" + artisan_title: "Ремесленник" + artisan_title_description: "(создатель уровней)" + adventurer_title: "Искатель приключений" + adventurer_title_description: "(тестировщик уровней)" + scribe_title: "Писарь" + scribe_title_description: "(редактор статей)" + diplomat_title: "Дипломат" + diplomat_title_description: "(переводчик)" + ambassador_title: "Посол" + ambassador_title_description: "(поддержка)" + counselor_title: "Советник" + counselor_title_description: "(эксперт/учитель)" + + ladder: + please_login: "Пожалуйста, перед игрой для ладдера, войдите в аккаунт." + my_matches: "Мои матчи" + simulate: "Симулирование" + simulation_explanation: "Симулированием игр вы сможете быстрее получить оценку игры!" + simulate_games: "Симулировать игры!" + simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ" + games_simulated_by: "Игры, симулированные вами:" + games_simulated_for: "Игры, симулированные за вас:" + leaderboard: "таблица лидеров" + battle_as: "Сразиться за " + summary_your: "Ваши " + summary_matches: "матчи - " + summary_wins: " побед, " + summary_losses: " поражений" + rank_no_code: "Нет нового кода для оценки" + rank_my_game: "Оценить мою игру!" + rank_submitting: "Отправка..." + rank_submitted: "Отправлено для оценки" + rank_failed: "Сбой в оценке" + rank_being_ranked: "Игра оценивается" + code_being_simulated: "Ваш новый код участвует в симуляции других игроков для оценки. Обновление будет при поступлении новых матчей." + no_ranked_matches_pre: "Нет оценённых матчей для команды" + no_ranked_matches_post: "! Сыграйте против нескольких противников и возвращайтесь сюда для оценки вашей игры." + choose_opponent: "Выберите противника" + tutorial_play: "Пройти обучение" + tutorial_recommended: "Рекомендуется, если вы раньше никогда не играли" + tutorial_skip: "Пропустить обучение" + tutorial_not_sure: "Не уверены, что делать дальше?" + tutorial_play_first: "Сначала пройдите обучение." + simple_ai: "Простой ИИ" + warmup: "Разминка" + vs: "против" + + multiplayer_launch: + introducing_dungeon_arena: "Представляем Арену подземелья" + new_way: "Новый способ соревноваться с помощью кода." + to_battle: "В бой, разработчики!" + modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы." + arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь." + ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров – затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" + fork_our_arenas: "сделать модификации наших арен" + create_worlds: "и создавать свои собственные миры." + javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть" + tutorial: "обучение" + new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." + so_ready: "Я полностью готов(а) для этого" + + loading_error: + could_not_load: "Ошибка загрузки с сервера" + connection_failure: "Соединение прервано." + unauthorized: "Вам необходимо авторизоваться. У вас отключены cookie?" + forbidden: "У вас нет прав доступа." + not_found: "Не найдено." + not_allowed: "Метод не поддерживается." + timeout: "Тайм-аут сервера." + conflict: "Конфликт ресурсов." + bad_input: "Неверные входные данные." + server_error: "Ошибка сервера." + unknown: "Неизвестная ошибка." + + resources: + your_sessions: "Ваши сессии" + level: "Уровень" + social_network_apis: "API социальных сетей" + facebook_status: "Статус Facebook" + facebook_friends: "Друзья Facebook" + facebook_friend_sessions: "Сессии друзей Facebook" + gplus_friends: "Друзья G+" + gplus_friend_sessions: "Сессии друзей G+" leaderboard: "таблица лидеров" \ No newline at end of file diff --git a/app/templates/kinds/search.jade b/app/templates/kinds/search.jade index e50602d68..77dce78db 100644 --- a/app/templates/kinds/search.jade +++ b/app/templates/kinds/search.jade @@ -1,38 +1,38 @@ -extends /templates/base - -block content - div - ol.breadcrumb - li - a(href="/editor", data-i18n="editor.main_title") CodeCombat Editors - li.active(data-i18n="#{currentEditor}") - | #{currentEditor} - - if me.get('anonymous') - a.btn.btn-primary.open-modal-button(data-toggle="coco-modal", data-target="modal/signup", role="button", data-i18n="editor.signup_to_create") Sign Up to Create a New Content - else - a.btn.btn-primary.open-modal-button(href='#new-model-modal', role="button", data-toggle="modal", data-i18n="#{currentNew}") Create a New Something - input#search(data-i18n="[placeholder]#{currentSearch}") - hr - div.results - table - - // TODO: make this into a ModalView subview - div.modal.fade#new-model-modal - .modal-dialog - .background-wrapper - .modal-content - .modal-header - h3(data-i18n="#{currentNew}") Create New #{modelLabel} - .modal-body - form.form - .form-group - label.control-label(for="name", data-i18n="general.name") Name - input#name.form-control(name="name", type="text") - .modal-footer - button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel - button.btn.btn-primary.new-model-submit(data-i18n="common.create") Create - .modal-body.wait.secret - h3(data-i18n="play_level.tip_reticulating") Reticulating Splines... - .progress.progress-striped.active - .progress-bar +extends /templates/base + +block content + div + ol.breadcrumb + li + a(href="/editor", data-i18n="editor.main_title") CodeCombat Editors + li.active(data-i18n="#{currentEditor}") + | #{currentEditor} + + if me.get('anonymous') + a.btn.btn-primary.open-modal-button(data-toggle="coco-modal", data-target="modal/signup", role="button", data-i18n="editor.signup_to_create") Sign Up to Create a New Content + else + a.btn.btn-primary.open-modal-button(href='#new-model-modal', role="button", data-toggle="modal", data-i18n="#{currentNew}") Create a New Something + input#search(data-i18n="[placeholder]#{currentSearch}") + hr + div.results + table + + // TODO: make this into a ModalView subview + div.modal.fade#new-model-modal + .modal-dialog + .background-wrapper + .modal-content + .modal-header + h3(data-i18n="#{currentNew}") Create New #{modelLabel} + .modal-body + form.form + .form-group + label.control-label(for="name", data-i18n="general.name") Name + input#name.form-control(name="name", type="text") + .modal-footer + button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel + button.btn.btn-primary.new-model-submit(data-i18n="common.create") Create + .modal-body.wait.secret + h3(data-i18n="play_level.tip_reticulating") Reticulating Splines... + .progress.progress-striped.active + .progress-bar From 33f26c3da030866d7b999d9227eaf9152c706ccd Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Tue, 8 Apr 2014 12:23:16 +0400 Subject: [PATCH 11/79] Sync i18n --- app/locale/ar.coffee | 21 +++++++++++++++++++-- app/locale/bg.coffee | 21 +++++++++++++++++++-- app/locale/ca.coffee | 21 +++++++++++++++++++-- app/locale/cs.coffee | 21 +++++++++++++++++++-- app/locale/da.coffee | 21 +++++++++++++++++++-- app/locale/de.coffee | 21 +++++++++++++++++++-- app/locale/el.coffee | 21 +++++++++++++++++++-- app/locale/en-AU.coffee | 21 +++++++++++++++++++-- app/locale/en-GB.coffee | 21 +++++++++++++++++++-- app/locale/en-US.coffee | 21 +++++++++++++++++++-- app/locale/es-419.coffee | 21 +++++++++++++++++++-- app/locale/es-ES.coffee | 21 +++++++++++++++++++-- app/locale/es.coffee | 21 +++++++++++++++++++-- app/locale/fa.coffee | 21 +++++++++++++++++++-- app/locale/fi.coffee | 21 +++++++++++++++++++-- app/locale/fr.coffee | 21 +++++++++++++++++++-- app/locale/he.coffee | 21 +++++++++++++++++++-- app/locale/hi.coffee | 21 +++++++++++++++++++-- app/locale/hu.coffee | 21 +++++++++++++++++++-- app/locale/id.coffee | 21 +++++++++++++++++++-- app/locale/it.coffee | 21 +++++++++++++++++++-- app/locale/ja.coffee | 21 +++++++++++++++++++-- app/locale/ko.coffee | 21 +++++++++++++++++++-- app/locale/lt.coffee | 21 +++++++++++++++++++-- app/locale/ms.coffee | 21 +++++++++++++++++++-- app/locale/nb.coffee | 21 +++++++++++++++++++-- app/locale/nl-BE.coffee | 21 +++++++++++++++++++-- app/locale/nl-NL.coffee | 21 +++++++++++++++++++-- app/locale/nl.coffee | 21 +++++++++++++++++++-- app/locale/nn.coffee | 21 +++++++++++++++++++-- app/locale/no.coffee | 21 +++++++++++++++++++-- app/locale/pl.coffee | 21 +++++++++++++++++++-- app/locale/pt-BR.coffee | 21 +++++++++++++++++++-- app/locale/pt-PT.coffee | 21 +++++++++++++++++++-- app/locale/pt.coffee | 21 +++++++++++++++++++-- app/locale/ro.coffee | 21 +++++++++++++++++++-- app/locale/ru.coffee | 2 +- app/locale/sk.coffee | 21 +++++++++++++++++++-- app/locale/sl.coffee | 21 +++++++++++++++++++-- app/locale/sr.coffee | 21 +++++++++++++++++++-- app/locale/sv.coffee | 21 +++++++++++++++++++-- app/locale/th.coffee | 21 +++++++++++++++++++-- app/locale/tr.coffee | 21 +++++++++++++++++++-- app/locale/uk.coffee | 21 +++++++++++++++++++-- app/locale/ur.coffee | 21 +++++++++++++++++++-- app/locale/vi.coffee | 21 +++++++++++++++++++-- app/locale/zh-HANS.coffee | 21 +++++++++++++++++++-- app/locale/zh-HANT.coffee | 21 +++++++++++++++++++-- app/locale/zh.coffee | 21 +++++++++++++++++++-- 49 files changed, 913 insertions(+), 97 deletions(-) diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee index a805abc52..bd0a77209 100644 --- a/app/locale/ar.coffee +++ b/app/locale/ar.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee index 44d26ca08..391639bcf 100644 --- a/app/locale/bg.coffee +++ b/app/locale/bg.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "български език", englishDescri # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "български език", englishDescri # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "български език", englishDescri # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "български език", englishDescri # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "български език", englishDescri # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "български език", englishDescri # body: "Body" version: "Версия" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" results: "Резултати" diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee index 6e8a9811c..eaf9116ec 100644 --- a/app/locale/ca.coffee +++ b/app/locale/ca.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr versions: save_version_title: "Guarda una nova versió" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Per guardar els canvis primer has d'acceptar" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee index a9ccc2b60..2dd5cd882 100644 --- a/app/locale/cs.coffee +++ b/app/locale/cs.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr versions: save_version_title: "Uložit novou Verzi" new_major_version: "Nová hlavní Verze" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Před uložením musíte souhlasit s" cla_url: "licencí" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr wizard_settings: title: "Nastavení Kouzelníka" customize_avatar: "Upravte vás Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr contact_us: "kontaktujte nás!" hipchat_prefix: "Můžete nás také najít v naší" hipchat_url: "HipChat diskusní místnosti." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Volby?" level_tab_thangs: "Thangy" level_tab_scripts: "Skripty" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr level_tab_components: "Komponenty" level_tab_systems: "Systémy" level_tab_thangs_title: "Současné Thangy" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Výchozí prostředí" level_tab_thangs_add: "Přidat Thangy" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Nastavení" level_component_tab_title: "Současné komponenty" level_component_btn_new: "Vytvořit novou komponentu" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr body: "Tělo" version: "Verze" commit_msg: "Popisek ukládání" -# history: "History" +# version_history: "Version History" version_history_for: "Verze historie pro: " # result: "Result" results: "Výsledky" diff --git a/app/locale/da.coffee b/app/locale/da.coffee index 85092263e..cd8443101 100644 --- a/app/locale/da.coffee +++ b/app/locale/da.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans versions: save_version_title: "Gem ny version" new_major_version: "Ny hoved Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "For at gemme dine ændringer, må du acceptere brugerbetingelserne" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans wizard_settings: title: "Troldmandsinstillinger" customize_avatar: "Tilpas din avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Påklædning" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans contact_us: "kontact os!" hipchat_prefix: "Du kan også finde os på vores" hipchat_url: "HipChat kanal." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans level_tab_components: "Komponenter" level_tab_systems: "Systemer" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Startbetingelser" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Instillinger" level_component_tab_title: "Nuværende komponenter" level_component_btn_new: "Opret ny komponent" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans article_search_title: "Søg Artikler Her" # thang_search_title: "Search Thang Types Here" level_search_title: "Søg Baner Her" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans body: "krop" version: "version" commit_msg: "ændringsnotat" - history: "Historie" +# version_history: "Version History" version_history_for: "versionhistorie for: " result: "Resultat" results: "resultater" diff --git a/app/locale/de.coffee b/app/locale/de.coffee index a81a0eb34..2be46fde3 100644 --- a/app/locale/de.coffee +++ b/app/locale/de.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra versions: save_version_title: "Neue Version speichern" new_major_version: "Neue Hauptversion" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Damit Änderungen gespeichert werden können, musst du unsere Lizenzbedingungen (" cla_url: "CLA" cla_suffix: ") akzeptieren." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra wizard_settings: title: "Zauberer Einstellungen" customize_avatar: "Individualisiere deinen Avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Kleidung" trim: "Applikationen" - cloud: "Wolke" +# team: "Cloud" spell: "Zauber" boots: "Stiefel" hue: "Farbton" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra contact_us: "setze dich mit uns in Verbindung!" hipchat_prefix: "Besuche uns auch in unserem" hipchat_url: "HipChat room." +# back: "Back" revert: "Zurücksetzen" revert_models: "Models zurücksetzen." +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Einige Einstellungsmöglichkeiten?" level_tab_thangs: "Thangs" level_tab_scripts: "Skripte" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra level_tab_components: "Komponenten" level_tab_systems: "Systeme" level_tab_thangs_title: "Aktuelle Thangs" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Startbedingungen" level_tab_thangs_add: "Thangs hinzufügen" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Einstellungen" level_component_tab_title: "Aktuelle Komponenten" level_component_btn_new: "neue Komponente erstellen" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra body: "Inhalt" version: "Version" commit_msg: "Commit Nachricht" - history: "Verlauf" +# version_history: "Version History" version_history_for: "Versionsgeschichte für: " result: "Ergebnis" results: "Ergebnisse" diff --git a/app/locale/el.coffee b/app/locale/el.coffee index 5fab0b324..a81560d71 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee index 6819b143d..5d4a44905 100644 --- a/app/locale/en-AU.coffee +++ b/app/locale/en-AU.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee index ec32cbc7a..6e6525122 100644 --- a/app/locale/en-GB.coffee +++ b/app/locale/en-GB.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee index d3c8476ae..d776c1410 100644 --- a/app/locale/en-US.coffee +++ b/app/locale/en-US.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index 0e0c67a22..865db72e2 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip versions: save_version_title: "Guardar nueva versión" new_major_version: "Nueva Gran Versión" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip wizard_settings: title: "Configuración del mago" customize_avatar: "Personaliza tu avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Ropa" # trim: "Trim" - cloud: "Nube" +# team: "Cloud" # spell: "Spell" boots: "Botas" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee index 0e6aacf92..cf48c7363 100644 --- a/app/locale/es-ES.coffee +++ b/app/locale/es-ES.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis versions: save_version_title: "Guardar nueva versión" new_major_version: "Nueva versión principal" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Para guardar los cambios, primero debes aceptar nuestro" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis wizard_settings: title: "Ajustes del mago" customize_avatar: "Personaliza tu Avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Ropa" # trim: "Trim" - cloud: "Nube" +# team: "Cloud" spell: "Hechizo" boots: "Botas" hue: "Matiz" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis contact_us: "¡Contacta con nosotros!" hipchat_prefix: "También puedes encontrarnos en nuestra" hipchat_url: "sala de HipChat." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "¿Algunas opciones?" level_tab_thangs: "Objetos" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis level_tab_components: "Componentes" level_tab_systems: "Sistemas" level_tab_thangs_title: "Objetos actuales" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Condiciones de inicio" level_tab_thangs_add: "Añadir Objetos" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Ajustes" level_component_tab_title: "Componentes Actuales" level_component_btn_new: "Crear Nuevo Componente" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis body: "Cuerpo" version: "Versión" commit_msg: "Mensaje de Asignación o Commit" -# history: "History" +# version_history: "Version History" version_history_for: "Historial de las versiones de: " # result: "Result" results: "Resultados" diff --git a/app/locale/es.coffee b/app/locale/es.coffee index 714e0d260..04805e508 100644 --- a/app/locale/es.coffee +++ b/app/locale/es.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t versions: save_version_title: "Guardar Nueva Versión" new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Para poder guardar los cambios, primero debes aceptar nuestra" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t wizard_settings: title: "Configuración del mago" customize_avatar: "Personaliza tu avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Ropa" trim: "Trim" - cloud: "Nube" +# team: "Cloud" spell: "Spell" boots: "Botas" hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Ajustes" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t body: "Cuerpo" version: "Versión" # commit_msg: "Commit Message" - history: "Historial" +# version_history: "Version History" # version_history_for: "Version History for: " result: "Resultado" results: "Resultados" diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee index 4534cb313..73625e65b 100644 --- a/app/locale/fa.coffee +++ b/app/locale/fa.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", versions: save_version_title: "ذخیره کردن نسخه جدید" new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "To save changes, first you must agree to our" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", wizard_settings: title: "تنظیمات جادویی" customize_avatar: "آواتار خود را شکل دهید" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index 6e340312c..4b083e092 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index d21af1b64..d1befe1a2 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "français", englishDescription: "French", t versions: save_version_title: "Enregistrer une nouvelle version" new_major_version: "Nouvelle version majeure" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Pour enregistrer vos modifications vous devez d'abord accepter notre" cla_url: "Copyright" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t wizard_settings: title: "Paramètres du Magicien" customize_avatar: "Personnaliser votre avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Vêtements" trim: "Tailleur" - cloud: "Nuage" +# team: "Cloud" spell: "Sort" boots: "Bottes" hue: "Teinte" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "français", englishDescription: "French", t contact_us: "contactez nous!" hipchat_prefix: "Vous pouvez aussi nous trouver dans notre " hipchat_url: "conversation HipChat." +# back: "Back" revert: "Annuler" revert_models: "Annuler les modèles" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Quelques options?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "français", englishDescription: "French", t level_tab_components: "Composants" level_tab_systems: "Systèmes" level_tab_thangs_title: "Thangs actuels" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Conditions de départ" level_tab_thangs_add: "ajouter des Thangs" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Paramètres" level_component_tab_title: "Composants actuels" level_component_btn_new: "Créer un nouveau composant" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t article_search_title: "Rechercher dans les articles" thang_search_title: "Rechercher dans les types Thang" level_search_title: "Rechercher dans les niveaux" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t body: "Corps" version: "Version" commit_msg: "Message de mise à jour" - history: "Historique" +# version_history: "Version History" version_history_for: "Historique des versions pour : " result: "Resultat" results: "Résultats" diff --git a/app/locale/he.coffee b/app/locale/he.coffee index 888c39dca..610a1fb9c 100644 --- a/app/locale/he.coffee +++ b/app/locale/he.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", versions: save_version_title: "שמור גרסה חדשה" new_major_version: "גרסה חשובה חדשה" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "כדי לשמור יש להירשם לאתר" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", wizard_settings: title: "הגדרות קוסם" customize_avatar: "עצב את הדמות שלך" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "בגדים" trim: "קישוט" - cloud: "ענן" +# team: "Cloud" spell: "כישוף" boots: "מגפיים" hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee index efd9c22bc..93dd93d84 100644 --- a/app/locale/hi.coffee +++ b/app/locale/hi.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index e48c305af..1b22813cd 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t versions: save_version_title: "Új verzió mentése" new_major_version: "Új főverzió" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "A módosítások elmentéséhez el kell fogadnod a " cla_url: "CLA" cla_suffix: "tartalmát." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t wizard_settings: title: "Varázsló beállításai" customize_avatar: "Állítsd be az Avatarod!" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Öltözetek" # trim: "Trim" - cloud: "Felhő" +# team: "Cloud" spell: "Varázslat" boots: "Lábbelik" hue: "Árnyalat" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/id.coffee b/app/locale/id.coffee index f409da297..ec64791c8 100644 --- a/app/locale/id.coffee +++ b/app/locale/id.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/it.coffee b/app/locale/it.coffee index bdbf39a48..058f90109 100644 --- a/app/locale/it.coffee +++ b/app/locale/it.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t versions: save_version_title: "Salva nuova versione" new_major_version: "Nuova versione" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Per salvare le modifiche, prima devi accettare la nostra " cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t wizard_settings: # title: "Wizard Settings" customize_avatar: "Personalizza il tuo personaggio" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Abbigliamento" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t contact_us: "scrivici!" hipchat_prefix: "Ci puoi anche trovare nella nostra" hipchat_url: "stanza HipChat." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Opzioni??" level_tab_thangs: "Thangs" level_tab_scripts: "Script" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t level_tab_components: "Componenti" level_tab_systems: "Sistemi" level_tab_thangs_title: "Thangs esistenti" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Condizioni iniziali" level_tab_thangs_add: "Aggiungi thang" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Impostazioni" level_component_tab_title: "Componenti esistenti" level_component_btn_new: "Crea nuovo componente" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t body: "Testo" version: "Versione" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" results: "Risultati" diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index 0c935344d..3bc5a3a91 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", versions: save_version_title: "新しいバージョンを保存" new_major_version: "メジャーバージョンを新しくする" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "変更を適用するには, 私達のCLAに同意する必要があります。" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", wizard_settings: title: "ウィザードの設定" customize_avatar: "アバターのカスタマイズ" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee index 6ae889621..28e143ba3 100644 --- a/app/locale/ko.coffee +++ b/app/locale/ko.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t versions: save_version_title: "새로운 버전을 저장합니다" new_major_version: "신규 버전" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "변경사항을 저장하기 위해서는, 먼저 계약사항에 동의 하셔야 합니다." cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t wizard_settings: title: "마법사 설장" customize_avatar: "당신의 분신을 직접 꾸미세요" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "옷" trim: "장식" - cloud: "구름" +# team: "Cloud" spell: "마법" boots: "장화" hue: "색조" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t contact_us: "연락하기!" hipchat_prefix: "당신은 또한 우리를 여기에서 찾을 수 있습니다 : " hipchat_url: "힙챗 룸" +# back: "Back" revert: "되돌리기" revert_models: "모델 되돌리기" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "다른 옵션들?" level_tab_thangs: "Thangs" level_tab_scripts: "스크립트들" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t level_tab_components: "요소들" level_tab_systems: "시스템" level_tab_thangs_title: "현재 Thangs" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "컨디션 시작" level_tab_thangs_add: "Thangs 추가" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "설정" level_component_tab_title: "현재 요소들" level_component_btn_new: "새로운 요소들 생성" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t article_search_title: "기사들은 여기에서 찾으세요" thang_search_title: "Thang 타입들은 여기에서 찾으세요" level_search_title: "레벨들은 여기에서 찾으세요" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t body: "구성" version: "버전" commit_msg: "커밋 메세지" - history: "히스토리" +# version_history: "Version History" version_history_for: "버전 히스토리 : " result: "결과" results: "결과들" diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee index 35fa4717d..d425d2a6a 100644 --- a/app/locale/lt.coffee +++ b/app/locale/lt.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee index 62f2181e9..1c23871c2 100644 --- a/app/locale/ms.coffee +++ b/app/locale/ms.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa versions: save_version_title: "Simpan versi baru" new_major_version: "Versi utama yang baru" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Untuk menyimpan pengubahsuaian, anda perlu setuju dengan" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # body: "Body" version: "Versi" commit_msg: "Mesej Commit" -# history: "History" +# version_history: "Version History" version_history_for: "Versi History untuk: " result: "Keputusan" results: "Keputusan-keputusan" diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee index 12ece95a3..319a143da 100644 --- a/app/locale/nb.coffee +++ b/app/locale/nb.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index abcd96599..3435b5154 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: versions: save_version_title: "Nieuwe versie opslagen" new_major_version: "Nieuwe hoofd versie" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: wizard_settings: title: "Tovenaar instellingen" customize_avatar: "Bewerk je avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Kleren" trim: "Trim" - cloud: "Wolk" +# team: "Cloud" spell: "Spreuk" boots: "Laarzen" hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: contact_us: "contacteer ons!" hipchat_prefix: "Je kan ons ook vinden in ons" hipchat_url: "(Engelstalig) HipChat kanaal." +# back: "Back" revert: "Keer wijziging terug" revert_models: "keer wijziging model terug" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Enkele opties?" level_tab_thangs: "Elementen" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: level_tab_components: "Componenten" level_tab_systems: "Systemen" level_tab_thangs_title: "Huidige Elementen" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Start Condities" level_tab_thangs_add: "Voeg element toe" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Instellingen" level_component_tab_title: "Huidige Componenten" level_component_btn_new: "Maak een nieuwe component aan" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: article_search_title: "Zoek Artikels Hier" thang_search_title: "Zoek Thang Types Hier" level_search_title: "Zoek Levels Hier" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: body: "Inhoud" version: "Versie" commit_msg: "Commit Bericht" - history: "Geschiedenis" +# version_history: "Version History" version_history_for: "Versie geschiedenis voor: " result: "Resultaat" results: "Resultaten" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index bafb7d160..44538b479 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription versions: save_version_title: "Nieuwe versie opslagen" new_major_version: "Nieuwe hoofd versie" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription wizard_settings: title: "Tovenaar instellingen" customize_avatar: "Bewerk je avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Kleren" trim: "Trim" - cloud: "Wolk" +# team: "Cloud" spell: "Spreuk" boots: "Laarzen" hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription contact_us: "contacteer ons!" hipchat_prefix: "Je kan ons ook vinden in ons" hipchat_url: "(Engelstalig) HipChat kanaal." +# back: "Back" revert: "Keer wijziging terug" revert_models: "keer wijziging model terug" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Enkele opties?" level_tab_thangs: "Elementen" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription level_tab_components: "Componenten" level_tab_systems: "Systemen" level_tab_thangs_title: "Huidige Elementen" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Start Condities" level_tab_thangs_add: "Voeg element toe" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Instellingen" level_component_tab_title: "Huidige Componenten" level_component_btn_new: "Maak een nieuwe component aan" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription article_search_title: "Zoek Artikels Hier" thang_search_title: "Zoek Thang Types Hier" level_search_title: "Zoek Levels Hier" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription body: "Inhoud" version: "Versie" commit_msg: "Commit Bericht" - history: "Geschiedenis" +# version_history: "Version History" version_history_for: "Versie geschiedenis voor: " result: "Resultaat" results: "Resultaten" diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index ad5127239..6746d2f9e 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t versions: save_version_title: "Nieuwe versie opslagen" new_major_version: "Nieuwe hoofd versie" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t wizard_settings: title: "Tovenaar instellingen" customize_avatar: "Bewerk je avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Kleren" trim: "Trim" - cloud: "Wolk" +# team: "Cloud" spell: "Spreuk" boots: "Laarzen" hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t contact_us: "contacteer ons!" hipchat_prefix: "Je kan ons ook vinden in ons" hipchat_url: "(Engelstalig) HipChat kanaal." +# back: "Back" revert: "Keer wijziging terug" revert_models: "keer wijziging model terug" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Enkele opties?" level_tab_thangs: "Elementen" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t level_tab_components: "Componenten" level_tab_systems: "Systemen" level_tab_thangs_title: "Huidige Elementen" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Start Condities" level_tab_thangs_add: "Voeg element toe" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Instellingen" level_component_tab_title: "Huidige Componenten" level_component_btn_new: "Maak een nieuwe component aan" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t article_search_title: "Zoek Artikels Hier" thang_search_title: "Zoek Thang Types Hier" level_search_title: "Zoek Levels Hier" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t body: "Inhoud" version: "Versie" commit_msg: "Commit Bericht" - history: "Geschiedenis" +# version_history: "Version History" version_history_for: "Versie geschiedenis voor: " result: "Resultaat" results: "Resultaten" diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee index 653faf141..de5d6404e 100644 --- a/app/locale/nn.coffee +++ b/app/locale/nn.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/no.coffee b/app/locale/no.coffee index c0e2d3842..bc46eae53 100644 --- a/app/locale/no.coffee +++ b/app/locale/no.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee index fd5ff6c98..b71912fad 100644 --- a/app/locale/pl.coffee +++ b/app/locale/pl.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish versions: save_version_title: "Zapisz nową wersję" new_major_version: "Nowa wersja główna" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Aby zapisać zmiany, musisz najpierw zaakceptować naszą" cla_url: "umowę licencyjną dla współtwórców (CLA)" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish wizard_settings: title: "Ustawienia czarodzieja" customize_avatar: "Personalizuj swój awatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Ubrania" trim: "Dodatki" - cloud: "Chmura" +# team: "Cloud" spell: "Zaklęcie" boots: "Buty" hue: "Odcień" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish contact_us: "skontaktuj się z nami!" hipchat_prefix: "Możesz nas też spotkać w naszym" hipchat_url: "pokoju HipChat." +# back: "Back" revert: "Przywróć" revert_models: "Przywróć wersję" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Trochę opcji?" level_tab_thangs: "Obiekty" level_tab_scripts: "Skrypty" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish level_tab_components: "Komponenty" level_tab_systems: "Systemy" level_tab_thangs_title: "Aktualne obiekty" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Warunki początkowe" level_tab_thangs_add: "Dodaj obiekty" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Ustawienia" level_component_tab_title: "Aktualne komponenty" level_component_btn_new: "Stwórz nowy komponent" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish article_search_title: "Przeszukaj artykuły" thang_search_title: "Przeszukaj typy obiektów" level_search_title: "Przeszukaj poziomy" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish body: "Zawartość" version: "Wersja" commit_msg: "Wiadomość do commitu" - history: "Historia" +# version_history: "Version History" version_history_for: "Historia wersji dla: " result: "Wynik" results: "Wyniki" diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee index 74c1a4e6b..024f65b50 100644 --- a/app/locale/pt-BR.coffee +++ b/app/locale/pt-BR.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: versions: save_version_title: "Salvar nova versão" new_major_version: "Nova versão principal" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Para salvar as modificações, primeiro você deve concordar com nosso" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: wizard_settings: title: "Configurações do Feiticeiro" customize_avatar: "Personalize o seu Avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Roupas" trim: "Aparar" - cloud: "Nuvem" +# team: "Cloud" spell: "Feitiço" boots: "Boots" hue: "Matiz" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: contact_us: "entre em contato!" hipchat_prefix: "Você também pode nos encontrar na nossa" hipchat_url: "Sala do HipChat." +# back: "Back" revert: "Reverter" revert_models: "Reverter Modelos" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Algumas Opções?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: level_tab_components: "Componentes" level_tab_systems: "Sistemas" level_tab_thangs_title: "Thangs Atuais" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Condições de Início" level_tab_thangs_add: "Adicionar Thangs" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Configurações" level_component_tab_title: "Componentess Atuais" level_component_btn_new: "Criar Novo Componente" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: article_search_title: "Procurar Artigos Aqui" thang_search_title: "Procurar Tipos de Thang Aqui" level_search_title: "Procurar Níveis Aqui" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: body: "Principal" version: "Versão" commit_msg: "Mensagem do Commit" - history: "Histórico" +# version_history: "Version History" version_history_for: "Histórico de Versão para: " result: "Resultado" results: "Resultados" diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index 91e697490..ccb16c0aa 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P versions: save_version_title: "Guardar Nova Versão" new_major_version: "Nova Versão Principal" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Para guardar as alterações, precisas concordar com o nosso" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P wizard_settings: title: "Definições do Wizard" customize_avatar: "Altera o teu Avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Roupas" trim: "Pormenores" - cloud: "Nuvem" +# team: "Cloud" spell: "Feitiço" boots: "Botas" hue: "Matiz" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P contact_us: "contacta-nos!" hipchat_prefix: "Podes encontrar-nos no nosso" hipchat_url: "canal HipChat." +# back: "Back" revert: "Reverter" revert_models: "Reverter Modelos" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Algumas opções?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P level_tab_components: "Componentes" level_tab_systems: "Sistemas" level_tab_thangs_title: "Thangs atuais" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Condições iniciais" level_tab_thangs_add: "Adiciona Thangs" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Configurações" level_component_tab_title: "Componentes atuais" level_component_btn_new: "Cria um novo Componente" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P article_search_title: "Procurar Artigos Aqui" thang_search_title: "Procurar Tipos de Thang Aqui" level_search_title: "Procurar Níveis Aqui" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P body: "Corpo" version: "Versão" commit_msg: "Mensagem de Commit" - history: "Histórico" +# version_history: "Version History" version_history_for: "Histórico de versões por: " result: "Resultado" results: "Resultados" diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee index eddcdd149..6079ffa76 100644 --- a/app/locale/pt.coffee +++ b/app/locale/pt.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee index 39a84b357..b1ace00ce 100644 --- a/app/locale/ro.coffee +++ b/app/locale/ro.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman versions: save_version_title: "Salvează noua versiune" new_major_version: "Versiune nouă majoră" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Pentru a salva modificările mai intâi trebuie sa fiți de acord cu" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman wizard_settings: title: "Setări Wizard" customize_avatar: "Personalizează-ți Avatarul" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Haine" trim: "Margine" - cloud: "Nor" +# team: "Cloud" spell: "Vrajă" boots: "Încălțăminte" hue: "Culoare" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman contact_us: "contactați-ne!" hipchat_prefix: "Ne puteți de asemenea găsi la" hipchat_url: "HipChat." +# back: "Back" revert: "Revino la versiunea anterioară" revert_models: "Resetează Modelele" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Opțiuni?" level_tab_thangs: "Thangs" level_tab_scripts: "Script-uri" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman level_tab_components: "Componente" level_tab_systems: "Sisteme" level_tab_thangs_title: "Thangs actuali" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Condiți inițiale" level_tab_thangs_add: "Adaugă Thangs" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Setări" level_component_tab_title: "Componente actuale" level_component_btn_new: "Crează componentă nouă" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman article_search_title: "Caută articole aici" thang_search_title: "Caută tipuri de Thang aici" level_search_title: "Caută nivele aici" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman body: "Corp" version: "Versiune" commit_msg: "Înregistrează Mesajul" - history: "Istoric" +# version_history: "Version History" version_history_for: "Versiune istorie pentru: " result: "Rezultat" results: "Resultate" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 9fba6c0db..43405346f 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -642,4 +642,4 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi facebook_friend_sessions: "Сессии друзей Facebook" gplus_friends: "Друзья G+" gplus_friend_sessions: "Сессии друзей G+" - leaderboard: "таблица лидеров" \ No newline at end of file + leaderboard: "таблица лидеров" diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee index 1591817b7..0f10471ee 100644 --- a/app/locale/sk.coffee +++ b/app/locale/sk.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", versions: save_version_title: "Ulož novú verziu" new_major_version: "Nová primárna verzia" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Ak chcete uložiť svoje zmeny, musíte najprv súhlasiť s našou" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", wizard_settings: title: "Nastavenia kúzelníka" customize_avatar: "Uprav svojho avatara" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Róba" trim: "Lem" - cloud: "Obláčik" +# team: "Cloud" spell: "Kúzlo" boots: "Čižmy" hue: "Odtieň" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee index fcc48d5dd..2459161ef 100644 --- a/app/locale/sl.coffee +++ b/app/locale/sl.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee index a45e507ae..2a9d65638 100644 --- a/app/locale/sr.coffee +++ b/app/locale/sr.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee index de9c1fa4b..cbf8ab1f1 100644 --- a/app/locale/sv.coffee +++ b/app/locale/sv.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr versions: save_version_title: "Spara ny version" new_major_version: "Ny betydande version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "För att spara ändringar måste du först godkänna vår" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr wizard_settings: title: "Trollkarlsinställningar" customize_avatar: "Skräddarsy din avatar" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Kläder" trim: "Dekorationer" - cloud: "Moln" +# team: "Cloud" spell: "Trollformel" boots: "Stövlar" hue: "Nyans" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr contact_us: "kontakta oss!" hipchat_prefix: "Du kan också hitta oss i vårt" hipchat_url: "HipChat-rum." +# back: "Back" revert: "Återställ" revert_models: "Återställ modeller" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Några inställningar?" level_tab_thangs: "Enheter" level_tab_scripts: "Skript" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr level_tab_components: "Komponenter" level_tab_systems: "System" level_tab_thangs_title: "Nuvarande enheter" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Startvillkor" level_tab_thangs_add: "Lägg till enheter" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Inställningar" level_component_tab_title: "Nuvarande komponenter" level_component_btn_new: "Skapa ny komponent" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr article_search_title: "Sök artiklar här" thang_search_title: "Sök enhetstyper här" level_search_title: "Sök nivåer här" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr body: "Kropp" version: "Version" commit_msg: "Förbindelsemeddelande" - history: "Historik" +# version_history: "Version History" version_history_for: "Versionshistorik för: " result: "Resultat" results: "Resultat" diff --git a/app/locale/th.coffee b/app/locale/th.coffee index 6d20c4a43..cfcfe79e1 100644 --- a/app/locale/th.coffee +++ b/app/locale/th.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee index b5cc8fc77..53c94f0c7 100644 --- a/app/locale/tr.coffee +++ b/app/locale/tr.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t versions: save_version_title: "Yeni Sürümü Kaydet" new_major_version: "Yeni Önemli Sürüm" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Değişiklikleri kaydetmek için ilk olarak" cla_url: "KLA'mızı" cla_suffix: "kabul etmelisiniz." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t wizard_settings: title: "Sihirbaz Ayarları" customize_avatar: "Avatar'ınızı Özelleştirin" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Kıyafet" trim: "Süs" - cloud: "Püs" +# team: "Cloud" spell: "Büyü" boots: "Çizme" hue: "Ton" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t contact_us: "bize ulaşın!" hipchat_prefix: "Bizi ayrıca" hipchat_url: "HipChat otasında bulabilirsiniz." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "Bazı Seçenekler?" level_tab_thangs: "Nesneler" level_tab_scripts: "Betikler" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t level_tab_components: "Bileşenler" level_tab_systems: "Sistemler" level_tab_thangs_title: "Geçerli Şartlar" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Başlama Şartları" level_tab_thangs_add: "Nesne Ekle" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Ayarlar" level_component_tab_title: "Geçerli Bileşenler" level_component_btn_new: "Yeni Bileşen Oluştur" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t body: "Gövde" version: "Sürüm" commit_msg: "Gönderme İletisi" -# history: "History" +# version_history: "Version History" version_history_for: "Sürüm Geçmişi: " # result: "Result" results: "Sonuçlar" diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee index 4b73c0837..e3ba9e84a 100644 --- a/app/locale/uk.coffee +++ b/app/locale/uk.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "українська мова", englishDesc versions: save_version_title: "Зберегти нову версію" new_major_version: "Зберегти основну версію" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Для збереження змін спочатку треба погодитись з нашим" cla_url: "CLA" cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "українська мова", englishDesc wizard_settings: title: "Налаштування" customize_avatar: "Налаштувати аватар" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "Одяг" trim: "Оздоблення" - cloud: "Хмаринка" +# team: "Cloud" spell: "Закляття" boots: "Черевики" hue: "Відтінок" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "українська мова", englishDesc contact_us: "зв’яжіться з нами!" hipchat_prefix: "Ви можете також знайти нас в нашій" hipchat_url: "кімнаті HipChat." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" level_tab_thangs: "Об'єкти" level_tab_scripts: "Скрипти" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "українська мова", englishDesc level_tab_components: "Компоненти" level_tab_systems: "Системи" level_tab_thangs_title: "Поточні об'єкти" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "Початковий статус" level_tab_thangs_add: "Додати об'єкти" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "Налаштування" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "українська мова", englishDesc # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "українська мова", englishDesc # body: "Body" version: "Версія" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" results: "Результати" diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee index 670e88789..9dca96bf4 100644 --- a/app/locale/ur.coffee +++ b/app/locale/ur.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee index 90b02500a..1e5e2fd12 100644 --- a/app/locale/vi.coffee +++ b/app/locale/vi.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn versions: save_version_title: "Lưu Phiên bản Mới" new_major_version: "Phiên bản chính mới" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "Để lưu thay đổi, bạn phải chấp thuận với chúng tôi trước" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn wizard_settings: title: "Cài đặt Wizard" customize_avatar: "Tùy chỉnh Avatar của bạn" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee index 4cd7ee835..df3c757d9 100644 --- a/app/locale/zh-HANS.coffee +++ b/app/locale/zh-HANS.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese versions: save_version_title: "保存新版本" new_major_version: "新的重要版本" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "要想保存更改,您必须先同意我们的" cla_url: "贡献者许可协议" cla_suffix: "。" @@ -123,9 +126,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese wizard_settings: title: "设置向导" customize_avatar: "设置你的头像" +# active: "Active" +# color: "Color" +# group: "Group" clothes: "衣服" trim: "条纹" - cloud: "云" +# team: "Cloud" spell: "魔法球" boots: "鞋子" hue: "颜色" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese contact_us: "联系我们!" hipchat_prefix: "你也可以在这里找到我们" hipchat_url: "HipChat 房间。" +# back: "Back" revert: "还原" revert_models: "还原模式" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" level_some_options: "有哪些选项?" level_tab_thangs: "物体" level_tab_scripts: "脚本" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese level_tab_components: "组件" level_tab_systems: "系统" level_tab_thangs_title: "目前所有物体" +# level_tab_thangs_all: "All" level_tab_thangs_conditions: "启动条件" level_tab_thangs_add: "增加物体" +# delete: "Delete" +# duplicate: "Duplicate" level_settings_title: "设置" level_component_tab_title: "目前所有组件" level_component_btn_new: "创建新的组件" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" level_search_title: "在这里搜索关卡" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese body: "正文" version: "版本" commit_msg: "提交信息" - history: "历史" +# version_history: "Version History" version_history_for: "版本历史: " result: "结果" results: "结果" diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee index e1d4e62c8..1e1343f49 100644 --- a/app/locale/zh-HANT.coffee +++ b/app/locale/zh-HANT.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee index 26f9f4118..cdf8b0cbe 100644 --- a/app/locale/zh.coffee +++ b/app/locale/zh.coffee @@ -46,6 +46,9 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # versions: # save_version_title: "Save New Version" # new_major_version: "New Major Version" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" # cla_prefix: "To save changes, first you must agree to our" # cla_url: "CLA" # cla_suffix: "." @@ -123,9 +126,12 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # wizard_settings: # title: "Wizard Settings" # customize_avatar: "Customize Your Avatar" +# active: "Active" +# color: "Color" +# group: "Group" # clothes: "Clothes" # trim: "Trim" -# cloud: "Cloud" +# team: "Cloud" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -295,8 +301,15 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # contact_us: "contact us!" # hipchat_prefix: "You can also find us in our" # hipchat_url: "HipChat room." +# back: "Back" # revert: "Revert" # revert_models: "Revert Models" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" # level_some_options: "Some Options?" # level_tab_thangs: "Thangs" # level_tab_scripts: "Scripts" @@ -304,8 +317,11 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # level_tab_components: "Components" # level_tab_systems: "Systems" # level_tab_thangs_title: "Current Thangs" +# level_tab_thangs_all: "All" # level_tab_thangs_conditions: "Starting Conditions" # level_tab_thangs_add: "Add Thangs" +# delete: "Delete" +# duplicate: "Duplicate" # level_settings_title: "Settings" # level_component_tab_title: "Current Components" # level_component_btn_new: "Create New Component" @@ -327,6 +343,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # article_search_title: "Search Articles Here" # thang_search_title: "Search Thang Types Here" # level_search_title: "Search Levels Here" +# signup_to_create: "Sign Up to Create a New Content" # read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # article: @@ -339,7 +356,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # body: "Body" # version: "Version" # commit_msg: "Commit Message" -# history: "History" +# version_history: "Version History" # version_history_for: "Version History for: " # result: "Result" # results: "Results" From c38288974823218ff94ad39b1038895e6ed55e53 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Tue, 8 Apr 2014 14:10:50 -0700 Subject: [PATCH 12/79] Bunch of server changes, mainly adding all the JSON schema validation and fixing tests. --- package.json | 4 ++-- server/articles/article_handler.coffee | 1 + server/commons/Handler.coffee | 12 +++++------- server/commons/mapping.coffee | 2 ++ server/commons/schemas.coffee | 13 ++++++++++++- .../components/level_component_handler.coffee | 1 + .../levels/feedbacks/level_feedback_handler.coffee | 1 + server/levels/level_handler.coffee | 1 + server/levels/sessions/level_session_handler.coffee | 1 + server/levels/systems/level_system_handler.coffee | 1 + server/levels/thangs/thang_type_handler.coffee | 1 + server/routes/db.coffee | 3 ++- test/server/common.coffee | 7 ++----- test/server/functional/auth.spec.coffee | 3 +-- test/server/functional/level.spec.coffee | 3 +++ test/server/functional/level_component.spec.coffee | 9 ++++++--- test/server/functional/level_system.spec.coffee | 4 +++- 17 files changed, 45 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 665ac0131..3e2552f1c 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "mongoose": "3.8.x", "mongoose-text-search": "~0.0.2", "request": "2.12.x", - "tv4": "1.0.11", + "tv4": "1.0.x", "lodash": "~2.0.0", "underscore.string": "2.3.x", "async": "0.2.x", @@ -56,7 +56,7 @@ "graceful-fs": "~2.0.1", "node-force-domain": "~0.1.0", "mailchimp-api": "2.0.x", - "express-useragent": "~0.0.9", + "express-useragent": "~0.0.9", "gridfs-stream": "0.4.x", "stream-buffers": "0.2.x", "sendwithus": "2.0.x", diff --git a/server/articles/article_handler.coffee b/server/articles/article_handler.coffee index b519b8b9f..0e632539f 100644 --- a/server/articles/article_handler.coffee +++ b/server/articles/article_handler.coffee @@ -4,6 +4,7 @@ Handler = require('../commons/Handler') ArticleHandler = class ArticleHandler extends Handler modelClass: Article editableProperties: ['body', 'name', 'i18n'] + jsonSchema: require './article_schema' hasAccess: (req) -> req.method is 'GET' or req.user?.isAdmin() diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index f38885fd9..b7b8aad0f 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -48,6 +48,7 @@ module.exports = class Handler sendMethodNotAllowed: (res) -> errors.badMethod(res) sendBadInputError: (res, message) -> errors.badInput(res, message) sendDatabaseError: (res, err) -> + return @sendError(res, err.code, err.response) if err.response and err.code log.error "Database error, #{err}" errors.serverError(res, 'Database error, ' + err) @@ -203,10 +204,9 @@ module.exports = class Handler return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) return @sendBadInputError(res, 'id should not be included.') if req.body._id return @sendUnauthorizedError(res) unless @hasAccess(req) - validation = @validateDocumentInput(req.body) - return @sendBadInputError(res, validation.errors) unless validation.valid document = @makeNewInstance(req) @saveChangesToDocument req, document, (err) => + return @sendBadInputError(res, err.errors) if err?.valid is false return @sendDatabaseError(res, err) if err @sendSuccess(res, @formatEntity(req, document)) @@ -220,13 +220,11 @@ module.exports = class Handler return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) return @sendBadInputError(res, 'id should not be included.') if req.body._id return @sendUnauthorizedError(res) unless @hasAccess(req) - validation = @validateDocumentInput(req.body) - return @sendBadInputError(res, validation.errors) unless validation.valid document = @makeNewInstance(req) document.set('original', document._id) document.set('creator', req.user._id) @saveChangesToDocument req, document, (err) => - return @sendBadInputError(res, err.response) if err?.response + return @sendBadInputError(res, err.errors) if err?.valid is false return @sendDatabaseError(res, err) if err @sendSuccess(res, @formatEntity(req, document)) @@ -245,8 +243,6 @@ module.exports = class Handler return @sendBadInputError(res, 'This entity is not versioned') unless @modelClass.schema.uses_coco_versions return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) return @sendUnauthorizedError(res) unless @hasAccess(req) - validation = @validateDocumentInput(req.body) - return @sendBadInputError(res, validation.errors) unless validation.valid @getDocumentForIdOrSlug req.body._id, (err, parentDocument) => return @sendBadInputError(res, 'Bad id.') if err and err.name is 'CastError' return @sendDatabaseError(res, err) if err @@ -261,6 +257,8 @@ module.exports = class Handler delete updatedObject[prop] delete updatedObject._id major = req.body.version?.major + validation = @validateDocumentInput(updatedObject) + return @sendBadInputError(res, validation.errors) unless validation.valid done = (err, newDocument) => return @sendDatabaseError(res, err) if err diff --git a/server/commons/mapping.coffee b/server/commons/mapping.coffee index 2f659811b..d7400c951 100644 --- a/server/commons/mapping.coffee +++ b/server/commons/mapping.coffee @@ -6,6 +6,7 @@ module.exports.handlers = 'level_feedback': 'levels/feedbacks/level_feedback_handler' 'level_session': 'levels/sessions/level_session_handler' 'level_system': 'levels/systems/level_system_handler' + 'patch': 'patches/patch_handler' 'thang_type': 'levels/thangs/thang_type_handler' 'user': 'users/user_handler' @@ -19,6 +20,7 @@ module.exports.schemas = 'level_session': 'levels/sessions/level_session_schema' 'level_system': 'levels/systems/level_system_schema' 'metaschema': 'commons/metaschema' + 'patch': 'patches/patch_schema' 'thang_component': 'levels/thangs/thang_component_schema' 'thang_type': 'levels/thangs/thang_type_schema' 'user': 'users/user_schema' diff --git a/server/commons/schemas.coffee b/server/commons/schemas.coffee index 060ff8348..7d57a8c66 100644 --- a/server/commons/schemas.coffee +++ b/server/commons/schemas.coffee @@ -13,7 +13,7 @@ me.object = (ext, props) -> combine {type: 'object', additionalProperties: false me.array = (ext, items) -> combine {type: 'array', items: items or {}}, ext me.shortString = (ext) -> combine({type: 'string', maxLength: 100}, ext) me.pct = (ext) -> combine({type: 'number', maximum: 1.0, minimum: 0.0}, ext) -me.date = (ext) -> combine({type: 'string', format: 'date-time'}, ext) +me.date = (ext) -> combine({type: ['object', 'string'], format: 'date-time'}, ext) # should just be string (Mongo ID), but sometimes mongoose turns them into objects representing those, so we are lenient me.objectId = (ext) -> schema = combine({type: ['object', 'string'] }, ext) @@ -51,7 +51,18 @@ basicProps = (linkFragment) -> me.extendBasicProperties = (schema, linkFragment) -> schema.properties = {} unless schema.properties? _.extend(schema.properties, basicProps(linkFragment)) + +# PATCHABLE +patchableProps = -> + patches: me.array({title:'Patches'}, { + _id: me.objectId(links: [{rel: "db", href: "/db/patch/{($)}"}], title: "Patch ID", description: "A reference to the patch.") + status: { enum: ['pending', 'accepted', 'rejected', 'cancelled']} + }) + +me.extendPatchableProperties = (schema) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, patchableProps()) # NAMED diff --git a/server/levels/components/level_component_handler.coffee b/server/levels/components/level_component_handler.coffee index 89a3ea21c..576bad3c8 100644 --- a/server/levels/components/level_component_handler.coffee +++ b/server/levels/components/level_component_handler.coffee @@ -3,6 +3,7 @@ Handler = require('../../commons/Handler') LevelComponentHandler = class LevelComponentHandler extends Handler modelClass: LevelComponent + jsonSchema: require './level_component_schema' editableProperties: [ 'system' 'description' diff --git a/server/levels/feedbacks/level_feedback_handler.coffee b/server/levels/feedbacks/level_feedback_handler.coffee index 5cb8be50b..21f581ea7 100644 --- a/server/levels/feedbacks/level_feedback_handler.coffee +++ b/server/levels/feedbacks/level_feedback_handler.coffee @@ -4,6 +4,7 @@ Handler = require('../../commons/Handler') class LevelFeedbackHandler extends Handler modelClass: LevelFeedback editableProperties: ['rating', 'review', 'level', 'levelID', 'levelName'] + jsonSchema: require './level_feedback_schema' makeNewInstance: (req) -> feedback = super(req) diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index ad26fe0e1..ccd76700a 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -8,6 +8,7 @@ mongoose = require('mongoose') LevelHandler = class LevelHandler extends Handler modelClass: Level + jsonSchema: require './level_schema' editableProperties: [ 'description' 'documentation' diff --git a/server/levels/sessions/level_session_handler.coffee b/server/levels/sessions/level_session_handler.coffee index ca8680a17..9017f99c4 100644 --- a/server/levels/sessions/level_session_handler.coffee +++ b/server/levels/sessions/level_session_handler.coffee @@ -9,6 +9,7 @@ class LevelSessionHandler extends Handler editableProperties: ['multiplayer', 'players', 'code', 'completed', 'state', 'levelName', 'creatorName', 'levelID', 'screenshot', 'chat', 'teamSpells', 'submitted', 'unsubscribed'] + jsonSchema: require './level_session_schema' getByRelationship: (req, res, args...) -> return @getActiveSessions req, res if args.length is 2 and args[1] is 'active' diff --git a/server/levels/systems/level_system_handler.coffee b/server/levels/systems/level_system_handler.coffee index 1b1e511c1..a76fed659 100644 --- a/server/levels/systems/level_system_handler.coffee +++ b/server/levels/systems/level_system_handler.coffee @@ -13,6 +13,7 @@ LevelSystemHandler = class LevelSystemHandler extends Handler 'configSchema' ] postEditableProperties: ['name'] + jsonSchema: require './level_system_schema' getEditableProperties: (req, document) -> props = super(req, document) diff --git a/server/levels/thangs/thang_type_handler.coffee b/server/levels/thangs/thang_type_handler.coffee index a446b56be..0627fc5f7 100644 --- a/server/levels/thangs/thang_type_handler.coffee +++ b/server/levels/thangs/thang_type_handler.coffee @@ -3,6 +3,7 @@ Handler = require('../../commons/Handler') ThangTypeHandler = class ThangTypeHandler extends Handler modelClass: ThangType + jsonSchema: require './thang_type_schema' editableProperties: [ 'name', 'raw', diff --git a/server/routes/db.coffee b/server/routes/db.coffee index 723e15b90..2cbbc7df9 100644 --- a/server/routes/db.coffee +++ b/server/routes/db.coffee @@ -42,6 +42,7 @@ module.exports.setup = (app) -> catch error log.error("Error trying db method #{req.route.method} route #{parts} from #{name}: #{error}") log.error(error) + log.error(error.stack) errors.notFound(res, "Route #{req.path} not found.") getSchema = (req, res, moduleName) -> @@ -49,7 +50,7 @@ getSchema = (req, res, moduleName) -> name = schemas[moduleName.replace '.', '_'] schema = require('../' + name) - res.send(schema) + res.send(JSON.stringify(schema, null, '\t')) res.end() catch error diff --git a/test/server/common.coffee b/test/server/common.coffee index d88fa21e8..1af742db6 100644 --- a/test/server/common.coffee +++ b/test/server/common.coffee @@ -78,11 +78,8 @@ unittest.getUser = (email, password, done, force) -> req = request.post(getURL('/db/user'), (err, response, body) -> throw err if err User.findOne({email:email}).exec((err, user) -> - if password is '80yqxpb38j' - user.set('permissions', [ 'admin' ]) - user.save (err) -> - wrapUpGetUser(email, user, done) - else + user.set('permissions', if password is '80yqxpb38j' then [ 'admin' ] else []) + user.save (err) -> wrapUpGetUser(email, user, done) ) ) diff --git a/test/server/functional/auth.spec.coffee b/test/server/functional/auth.spec.coffee index 18c3c7fc8..750f4997e 100644 --- a/test/server/functional/auth.spec.coffee +++ b/test/server/functional/auth.spec.coffee @@ -55,7 +55,7 @@ describe '/auth/login', -> it 'rejects wrong passwords', (done) -> req = request.post(urlLogin, (error, response) -> expect(response.statusCode).toBe(401) - expect(response.body.indexOf("wrong, wrong")).toBeGreaterThan(-1) + expect(response.body.indexOf("wrong")).toBeGreaterThan(-1) done() ) form = req.form() @@ -96,7 +96,6 @@ describe '/auth/reset', -> it 'resets user password', (done) -> req = request.post(urlReset, (error, response) -> expect(response).toBeDefined() - console.log 'status code is', response.statusCode expect(response.statusCode).toBe(200) expect(response.body).toBeDefined() passwordReset = response.body diff --git a/test/server/functional/level.spec.coffee b/test/server/functional/level.spec.coffee index 13dc6425a..edd163d0d 100644 --- a/test/server/functional/level.spec.coffee +++ b/test/server/functional/level.spec.coffee @@ -6,6 +6,9 @@ describe 'Level', -> name: "King's Peak 3" description: 'Climb a mountain.' permissions: simplePermissions + scripts: [] + thangs: [] + documentation: {specificArticles:[], generalArticles:[]} urlLevel = '/db/level' diff --git a/test/server/functional/level_component.spec.coffee b/test/server/functional/level_component.spec.coffee index 4850d834c..9127ccefd 100644 --- a/test/server/functional/level_component.spec.coffee +++ b/test/server/functional/level_component.spec.coffee @@ -3,11 +3,14 @@ require '../common' describe 'LevelComponent', -> component = - name:'Bashes Everything' + name:'BashesEverything' description:'Makes the unit uncontrollably bash anything bashable, using the bash system.' code: 'bash();' - language: 'javascript' + language: 'coffeescript' permissions:simplePermissions + propertyDocumentation: [] + system: 'ai' + dependencies: [] components = {} @@ -45,7 +48,7 @@ describe 'LevelComponent', -> it 'have a unique name.', (done) -> loginAdmin -> request.post {uri:url, json:component}, (err, res, body) -> - expect(res.statusCode).toBe(422) + expect(res.statusCode).toBe(409) done() it 'can be read by an admin.', (done) -> diff --git a/test/server/functional/level_system.spec.coffee b/test/server/functional/level_system.spec.coffee index 32ca61df1..229c3a39d 100644 --- a/test/server/functional/level_system.spec.coffee +++ b/test/server/functional/level_system.spec.coffee @@ -11,6 +11,8 @@ describe 'LevelSystem', -> """ language: 'coffeescript' permissions:simplePermissions + dependencies: [] + propertyDocumentation: [] systems = {} @@ -48,7 +50,7 @@ describe 'LevelSystem', -> it 'have a unique name.', (done) -> loginAdmin -> request.post {uri:url, json:system}, (err, res, body) -> - expect(res.statusCode).toBe(422) + expect(res.statusCode).toBe(409) done() it 'can be read by an admin.', (done) -> From ff73aecf08b45a82239d9542e5bfe626d660aa0e Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Tue, 8 Apr 2014 19:08:33 -0700 Subject: [PATCH 13/79] Turned off sendwithus API during testing. --- server/sendwithus.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/sendwithus.coffee b/server/sendwithus.coffee index ad7a07500..bda58d896 100644 --- a/server/sendwithus.coffee +++ b/server/sendwithus.coffee @@ -9,6 +9,8 @@ module.exports.setupRoutes = (app) -> debug = not config.isProduction module.exports.api = new sendwithusAPI swuAPIKey, debug +if config.unittest + module.exports.api.send = -> module.exports.templates = welcome_email: 'utnGaBHuSU4Hmsi7qrAypU' ladder_update_email: 'JzaZxf39A4cKMxpPZUfWy4' From 2f988ba4859e84a6c5c23bd9dfdbcefffa1e5cba Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Tue, 8 Apr 2014 19:26:19 -0700 Subject: [PATCH 14/79] Made the server side of the patch system. --- server/articles/Article.coffee | 5 +- server/articles/article_handler.coffee | 4 + server/articles/article_schema.coffee | 7 +- server/commons/Handler.coffee | 33 ++++- server/commons/schemas.coffee | 3 + server/levels/Level.coffee | 1 + .../levels/components/LevelComponent.coffee | 9 +- .../components/level_component_schema.coffee | 1 + server/levels/level_handler.coffee | 3 +- server/levels/level_schema.coffee | 1 + .../sessions/level_session_handler.coffee | 2 +- server/levels/systems/LevelSystem.coffee | 1 + .../levels/systems/level_system_schema.coffee | 3 +- server/levels/thangs/ThangType.coffee | 7 +- server/levels/thangs/thang_type_schema.coffee | 7 +- server/patches/Patch.coffee | 47 +++++++ server/patches/patch_handler.coffee | 55 ++++++++ server/patches/patch_schema.coffee | 28 +++++ server/plugins/plugins.coffee | 4 + server/users/user_handler.coffee | 2 +- test/server/common.coffee | 2 + test/server/functional/patch.spec.coffee | 117 ++++++++++++++++++ 22 files changed, 317 insertions(+), 25 deletions(-) create mode 100644 server/patches/Patch.coffee create mode 100644 server/patches/patch_handler.coffee create mode 100644 server/patches/patch_schema.coffee create mode 100644 test/server/functional/patch.spec.coffee diff --git a/server/articles/Article.coffee b/server/articles/Article.coffee index 19a1e3253..626fc779c 100644 --- a/server/articles/Article.coffee +++ b/server/articles/Article.coffee @@ -1,12 +1,11 @@ mongoose = require('mongoose') plugins = require('../plugins/plugins') -ArticleSchema = new mongoose.Schema( - body: String, -) +ArticleSchema = new mongoose.Schema(body: String, {strict:false}) ArticleSchema.plugin(plugins.NamedPlugin) ArticleSchema.plugin(plugins.VersionedPlugin) ArticleSchema.plugin(plugins.SearchablePlugin, {searchable: ['body', 'name']}) +ArticleSchema.plugin(plugins.PatchablePlugin) module.exports = mongoose.model('article', ArticleSchema) diff --git a/server/articles/article_handler.coffee b/server/articles/article_handler.coffee index 0e632539f..1d9e90436 100644 --- a/server/articles/article_handler.coffee +++ b/server/articles/article_handler.coffee @@ -9,4 +9,8 @@ ArticleHandler = class ArticleHandler extends Handler hasAccess: (req) -> req.method is 'GET' or req.user?.isAdmin() + hasAccessToDocument: (req, document, method=null) -> + return true if req.method is 'GET' or method is 'get' or req.user?.isAdmin() + return false + module.exports = new ArticleHandler() diff --git a/server/articles/article_schema.coffee b/server/articles/article_schema.coffee index 1fd4769f7..54b9847ea 100644 --- a/server/articles/article_schema.coffee +++ b/server/articles/article_schema.coffee @@ -6,8 +6,9 @@ c.extendNamedProperties ArticleSchema # name first ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['body'] } -c.extendBasicProperties(ArticleSchema, 'article') -c.extendSearchableProperties(ArticleSchema) -c.extendVersionedProperties(ArticleSchema, 'article') +c.extendBasicProperties ArticleSchema, 'article' +c.extendSearchableProperties ArticleSchema +c.extendVersionedProperties ArticleSchema, 'article' +c.extendPatchableProperties ArticleSchema module.exports = ArticleSchema diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index b7b8aad0f..23909b6a2 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -3,6 +3,7 @@ mongoose = require('mongoose') Grid = require 'gridfs-stream' errors = require './errors' log = require 'winston' +Patch = require '../patches/Patch' PROJECT = {original:1, name:1, version:1, description: 1, slug:1, kind: 1} FETCH_LIMIT = 200 @@ -27,8 +28,7 @@ module.exports = class Handler getEditableProperties: (req, document) -> props = @editableProperties.slice() isBrandNew = req.method is 'POST' and not req.body.original - if isBrandNew - props = props.concat @postEditableProperties + props = props.concat @postEditableProperties if isBrandNew if @modelClass.schema.uses_coco_permissions # can only edit permissions if this is a brand new property, @@ -37,8 +37,8 @@ module.exports = class Handler if isBrandNew or isOwner or req.user?.isAdmin() props.push 'permissions' - if @modelClass.schema.uses_coco_versions - props.push 'commitMessage' + props.push 'commitMessage' if @modelClass.schema.uses_coco_versions + props.push 'allowPatches' if @modelClass.schema.is_patchable props @@ -93,8 +93,32 @@ module.exports = class Handler getByRelationship: (req, res, args...) -> # this handler should be overwritten by subclasses + if @modelClass.schema.is_patchable + return @getPatchesFor(req, res, args[0]) if req.route.method is 'get' and args[1] is 'patches' + return @setListening(req, res, args[0]) if req.route.method is 'put' and args[1] is 'listen' return @sendNotFoundError(res) + getPatchesFor: (req, res, id) -> + query = { 'target.original': mongoose.Types.ObjectId(id), status: req.query.status or 'pending' } + Patch.find(query).sort('-created').exec (err, patches) => + return @sendDatabaseError(res, err) if err + patches = (patch.toObject() for patch in patches) + @sendSuccess(res, patches) + + setListening: (req, res, id) -> + @getDocumentForIdOrSlug id, (err, document) => + return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, document, 'get') + return @sendDatabaseError(res, err) if err + return @sendNotFoundError(res) unless document? + listeners = document.get('listeners') or [] + me = req.user.get('_id') + listeners = (l for l in listeners when not l.equals(me)) + listeners.push me if req.body.on + document.set 'listeners', listeners + document.save (err, document) => + return @sendDatabaseError(res, err) if err + @sendSuccess(res, @formatEntity(req, document)) + search: (req, res) -> unless @modelClass.schema.uses_coco_search return @sendNotFoundError(res) @@ -224,6 +248,7 @@ module.exports = class Handler document.set('original', document._id) document.set('creator', req.user._id) @saveChangesToDocument req, document, (err) => + console.log 'saved new version', document.toObject() return @sendBadInputError(res, err.errors) if err?.valid is false return @sendDatabaseError(res, err) if err @sendSuccess(res, @formatEntity(req, document)) diff --git a/server/commons/schemas.coffee b/server/commons/schemas.coffee index 7d57a8c66..e81f49587 100644 --- a/server/commons/schemas.coffee +++ b/server/commons/schemas.coffee @@ -59,6 +59,9 @@ patchableProps = -> _id: me.objectId(links: [{rel: "db", href: "/db/patch/{($)}"}], title: "Patch ID", description: "A reference to the patch.") status: { enum: ['pending', 'accepted', 'rejected', 'cancelled']} }) + allowPatches: { type: 'boolean' } + listeners: me.array({title:'Listeners'}, + me.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}])) me.extendPatchableProperties = (schema) -> schema.properties = {} unless schema.properties? diff --git a/server/levels/Level.coffee b/server/levels/Level.coffee index c61245ed5..bb4d10065 100644 --- a/server/levels/Level.coffee +++ b/server/levels/Level.coffee @@ -10,6 +10,7 @@ LevelSchema.plugin(plugins.NamedPlugin) LevelSchema.plugin(plugins.PermissionsPlugin) LevelSchema.plugin(plugins.VersionedPlugin) LevelSchema.plugin(plugins.SearchablePlugin, {searchable: ['name', 'description']}) +LevelSchema.plugin(plugins.PatchablePlugin) LevelSchema.pre 'init', (next) -> return next() unless jsonschema.properties? diff --git a/server/levels/components/LevelComponent.coffee b/server/levels/components/LevelComponent.coffee index 3dc373be1..515e7d80a 100644 --- a/server/levels/components/LevelComponent.coffee +++ b/server/levels/components/LevelComponent.coffee @@ -7,10 +7,11 @@ LevelComponentSchema = new mongoose.Schema { system: String }, {strict: false} -LevelComponentSchema.plugin(plugins.NamedPlugin) -LevelComponentSchema.plugin(plugins.PermissionsPlugin) -LevelComponentSchema.plugin(plugins.VersionedPlugin) -LevelComponentSchema.plugin(plugins.SearchablePlugin, {searchable: ['name', 'description', 'system']}) +LevelComponentSchema.plugin plugins.NamedPlugin +LevelComponentSchema.plugin plugins.PermissionsPlugin +LevelComponentSchema.plugin plugins.VersionedPlugin +LevelComponentSchema.plugin plugins.SearchablePlugin, {searchable: ['name', 'description', 'system']} +LevelComponentSchema.plugin plugins.PatchablePlugin LevelComponentSchema.pre 'init', (next) -> return next() unless jsonschema.properties? diff --git a/server/levels/components/level_component_schema.coffee b/server/levels/components/level_component_schema.coffee index ac399da2c..45135a774 100644 --- a/server/levels/components/level_component_schema.coffee +++ b/server/levels/components/level_component_schema.coffee @@ -115,5 +115,6 @@ c.extendBasicProperties LevelComponentSchema, 'level.component' c.extendSearchableProperties LevelComponentSchema c.extendVersionedProperties LevelComponentSchema, 'level.component' c.extendPermissionsProperties LevelComponentSchema, 'level.component' +c.extendPatchableProperties LevelComponentSchema module.exports = LevelComponentSchema diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index ccd76700a..af9392bf2 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -38,8 +38,7 @@ LevelHandler = class LevelHandler extends Handler return @getLeaderboardFacebookFriends(req, res, args[0]) if args[1] is 'leaderboard_facebook_friends' return @getLeaderboardGPlusFriends(req, res, args[0]) if args[1] is 'leaderboard_gplus_friends' return @getHistogramData(req, res, args[0]) if args[1] is 'histogram_data' - - return @sendNotFoundError(res) + super(arguments...) fetchLevelByIDAndHandleErrors: (id, req, res, callback) -> @getDocumentForIdOrSlug id, (err, level) => diff --git a/server/levels/level_schema.coffee b/server/levels/level_schema.coffee index 8d2d60cd3..90e199f23 100644 --- a/server/levels/level_schema.coffee +++ b/server/levels/level_schema.coffee @@ -243,6 +243,7 @@ c.extendBasicProperties LevelSchema, 'level' c.extendSearchableProperties LevelSchema c.extendVersionedProperties LevelSchema, 'level' c.extendPermissionsProperties LevelSchema, 'level' +c.extendPatchableProperties LevelSchema module.exports = LevelSchema diff --git a/server/levels/sessions/level_session_handler.coffee b/server/levels/sessions/level_session_handler.coffee index 9017f99c4..eaa5e4ed6 100644 --- a/server/levels/sessions/level_session_handler.coffee +++ b/server/levels/sessions/level_session_handler.coffee @@ -13,7 +13,7 @@ class LevelSessionHandler extends Handler getByRelationship: (req, res, args...) -> return @getActiveSessions req, res if args.length is 2 and args[1] is 'active' - return @sendNotFoundError(res) + super(arguments...) getActiveSessions: (req, res) -> return @sendUnauthorizedError(res) unless req.user.isAdmin() diff --git a/server/levels/systems/LevelSystem.coffee b/server/levels/systems/LevelSystem.coffee index cf21f7355..a02a3aab0 100644 --- a/server/levels/systems/LevelSystem.coffee +++ b/server/levels/systems/LevelSystem.coffee @@ -10,6 +10,7 @@ LevelSystemSchema.plugin(plugins.NamedPlugin) LevelSystemSchema.plugin(plugins.PermissionsPlugin) LevelSystemSchema.plugin(plugins.VersionedPlugin) LevelSystemSchema.plugin(plugins.SearchablePlugin, {searchable: ['name', 'description']}) +LevelSystemSchema.plugin(plugins.PatchablePlugin) LevelSystemSchema.pre 'init', (next) -> return next() unless jsonschema.properties? diff --git a/server/levels/systems/level_system_schema.coffee b/server/levels/systems/level_system_schema.coffee index cc4bc7891..7adcb969e 100644 --- a/server/levels/systems/level_system_schema.coffee +++ b/server/levels/systems/level_system_schema.coffee @@ -101,6 +101,7 @@ _.extend LevelSystemSchema.properties, c.extendBasicProperties LevelSystemSchema, 'level.system' c.extendSearchableProperties LevelSystemSchema c.extendVersionedProperties LevelSystemSchema, 'level.system' -c.extendPermissionsProperties LevelSystemSchema, 'level.system' +c.extendPermissionsProperties LevelSystemSchema +c.extendPatchableProperties LevelSystemSchema module.exports = LevelSystemSchema diff --git a/server/levels/thangs/ThangType.coffee b/server/levels/thangs/ThangType.coffee index 92915e8d0..292597719 100644 --- a/server/levels/thangs/ThangType.coffee +++ b/server/levels/thangs/ThangType.coffee @@ -5,8 +5,9 @@ ThangTypeSchema = new mongoose.Schema({ body: String, }, {strict: false}) -ThangTypeSchema.plugin(plugins.NamedPlugin) -ThangTypeSchema.plugin(plugins.VersionedPlugin) -ThangTypeSchema.plugin(plugins.SearchablePlugin, {searchable: ['name']}) +ThangTypeSchema.plugin plugins.NamedPlugin +ThangTypeSchema.plugin plugins.VersionedPlugin +ThangTypeSchema.plugin plugins.SearchablePlugin, {searchable: ['name']} +ThangTypeSchema.plugin plugins.PatchablePlugin module.exports = mongoose.model('thang.type', ThangTypeSchema) diff --git a/server/levels/thangs/thang_type_schema.coffee b/server/levels/thangs/thang_type_schema.coffee index 8b70ccbaf..68eb6d084 100644 --- a/server/levels/thangs/thang_type_schema.coffee +++ b/server/levels/thangs/thang_type_schema.coffee @@ -146,8 +146,9 @@ ThangTypeSchema.definitions = action: ActionSchema sound: SoundSchema -c.extendBasicProperties(ThangTypeSchema, 'thang.type') -c.extendSearchableProperties(ThangTypeSchema) -c.extendVersionedProperties(ThangTypeSchema, 'thang.type') +c.extendBasicProperties ThangTypeSchema, 'thang.type' +c.extendSearchableProperties ThangTypeSchema +c.extendVersionedProperties ThangTypeSchema, 'thang.type' +c.extendPatchableProperties ThangTypeSchema module.exports = ThangTypeSchema diff --git a/server/patches/Patch.coffee b/server/patches/Patch.coffee new file mode 100644 index 000000000..a6c5da41f --- /dev/null +++ b/server/patches/Patch.coffee @@ -0,0 +1,47 @@ +mongoose = require('mongoose') +{handlers} = require '../commons/mapping' + +PatchSchema = new mongoose.Schema({}, {strict: false}) + +PatchSchema.pre 'save', (next) -> + return next() unless @isNew # patch can't be altered after creation, so only need to check data once + target = @get('target') + targetID = target.id + Handler = require '../commons/Handler' + if not Handler.isID(targetID) + err = new Error('Invalid input.') + err.response = {message:"isn't a MongoDB id.", property:'target.id'} + err.code = 422 + return next(err) + + collection = target.collection + handler = require('../' + handlers[collection]) + handler.getDocumentForIdOrSlug targetID, (err, document) => + if err + err = new Error('Server error.') + err.response = {message:'', property:'target.id'} + err.code = 500 + return next(err) + + if not document + err = new Error('Target of patch not found.') + err.response = {message:'was not found.', property:'target.id'} + err.code = 404 + return next(err) + + target.id = document.get('_id') + if handler.modelClass.schema.uses_coco_versions + target.original = document.get('original') + version = document.get('version') + target.version = _.pick document.get('version'), 'major', 'minor' + @set('target', target) + else + target.original = targetID + + patches = document.get('patches') or [] + patches.push @_id + console.log 'PATCH PUSHED', @_id + document.set 'patches', patches + document.save (err) -> next(err) + +module.exports = mongoose.model('patch', PatchSchema) diff --git a/server/patches/patch_handler.coffee b/server/patches/patch_handler.coffee new file mode 100644 index 000000000..a9a26e05b --- /dev/null +++ b/server/patches/patch_handler.coffee @@ -0,0 +1,55 @@ +Patch = require('./Patch') +Handler = require('../commons/Handler') +schema = require './patch_schema' +{handlers} = require '../commons/mapping' +mongoose = require('mongoose') + +PatchHandler = class PatchHandler extends Handler + modelClass: Patch + editableProperties: [] + postEditableProperties: ['delta', 'target'] + jsonSchema: require './patch_schema' + + makeNewInstance: (req) -> + patch = super(req) + patch.set 'creator', req.user._id + patch.set 'created', new Date().toISOString() + patch.set 'status', 'pending' + patch + + getByRelationship: (req, res, args...) -> + return @setStatus(req, res, args[0]) if req.route.method is 'put' and args[1] is 'status' + super(arguments...) + + setStatus: (req, res, id) -> + newStatus = req.body.status + unless newStatus in ['rejected', 'accepted', 'withdrawn'] + return @sendBadInputError(res, "Status must be 'rejected', 'accepted', or 'withdrawn'") + + @getDocumentForIdOrSlug id, (err, patch) => + return @sendDatabaseError(res, err) if err + return @sendNotFoundError(res) unless patch? + targetInfo = patch.get('target') + targetHandler = require('../' + handlers[targetInfo.collection]) + targetModel = targetHandler.modelClass + + query = { 'original': targetInfo.original } + sort = { 'version.major': -1, 'version.minor': -1 } + targetModel.findOne(query).sort(sort).exec (err, target) => + return @sendDatabaseError(res, err) if err + return @sendNotFoundError(res) unless target? + return @sendUnauthorizedError(res) unless targetHandler.hasAccessToDocument(req, target, 'get') + + if newStatus in ['rejected', 'accepted'] + return @sendUnauthorizedError(res) unless targetHandler.hasAccessToDocument(req, target, 'put') + + if newStatus is 'withdrawn' + return @sendUnauthorizedError(res) unless req.user.get('_id').equals patch.get('creator') + + # these require callbacks + patch.update {$set:{status:newStatus}}, {}, -> + target.update {$pull:{patches:patch.get('_id')}}, {}, -> + @sendSuccess(res, null) + + +module.exports = new PatchHandler() diff --git a/server/patches/patch_schema.coffee b/server/patches/patch_schema.coffee new file mode 100644 index 000000000..7e02f4b8a --- /dev/null +++ b/server/patches/patch_schema.coffee @@ -0,0 +1,28 @@ +c = require '../commons/schemas' + +patchables = ['level', 'thang_type', 'level_system', 'level_component', 'article'] + +PatchSchema = c.object({title:'Patch', required:['target', 'delta']}, { + delta: { title: 'Delta', type:['array', 'object'] } + title: c.shortString() + description: c.shortString({maxLength: 500}) + creator: c.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}]) + created: c.date( { title: 'Created', readOnly: true }) + status: { enum: ['pending', 'accepted', 'rejected', 'withdrawn']} + + target: c.object({title: 'Target', required:['collection', 'id']}, { + collection: { enum: patchables } + id: c.objectId(title: 'Target ID') # search by this if not versioned + + # if target is versioned, want to know that info too + original: c.objectId(title: 'Target Original') # search by this if versioned + version: + properties: + major: { type: 'number', minimum: 0 } + minor: { type: 'number', minimum: 0 } + }) +}) + +c.extendBasicProperties(PatchSchema, 'patch') + +module.exports = PatchSchema diff --git a/server/plugins/plugins.coffee b/server/plugins/plugins.coffee index f1f224b82..a6dba1238 100644 --- a/server/plugins/plugins.coffee +++ b/server/plugins/plugins.coffee @@ -2,6 +2,10 @@ mongoose = require('mongoose') User = require('../users/User') textSearch = require('mongoose-text-search') +module.exports.PatchablePlugin = (schema) -> + schema.is_patchable = true + schema.index({'target.original':1, 'status':'1', 'created':-1}) + module.exports.NamedPlugin = (schema) -> schema.add({name: String, slug: String}) schema.index({'slug': 1}, {unique: true, sparse: true, name: 'slug index'}) diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index 168f10d91..b43f3ed6d 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -171,7 +171,7 @@ UserHandler = class UserHandler extends Handler return @getNamesByIds(req, res) if args[1] is 'names' return @nameToID(req, res, args[0]) if args[1] is 'nameToID' return @getLevelSessions(req, res, args[0]) if args[1] is 'level.sessions' - return @sendNotFoundError(res) + super(arguments...) agreeToCLA: (req, res) -> return @sendUnauthorizedError(res) unless req.user diff --git a/test/server/common.coffee b/test/server/common.coffee index 1af742db6..e68c27b72 100644 --- a/test/server/common.coffee +++ b/test/server/common.coffee @@ -10,6 +10,7 @@ _.mixin(_.str.exports()) GLOBAL.mongoose = require 'mongoose' mongoose.connect('mongodb://localhost/coco_unittest') path = require('path') +GLOBAL.testing = true models_path = [ '../../server/articles/Article' @@ -19,6 +20,7 @@ models_path = [ '../../server/levels/sessions/LevelSession' '../../server/levels/thangs/LevelThangType' '../../server/users/User' + '../../server/patches/Patch' ] for m in models_path diff --git a/test/server/functional/patch.spec.coffee b/test/server/functional/patch.spec.coffee new file mode 100644 index 000000000..b9875a814 --- /dev/null +++ b/test/server/functional/patch.spec.coffee @@ -0,0 +1,117 @@ +require '../common' + +describe '/db/patch', -> + request = require 'request' + it 'clears the db first', (done) -> + clearModels [User, Article, Patch], (err) -> + throw err if err + done() + + article = {name: 'Yo', body:'yo ma'} + articleURL = getURL('/db/article') + articles = {} + + patchURL = getURL('/db/patch') + patches = {} + patch = + delta: {name:['test']} + target: + id:null + collection: 'article' + + it 'creates an Article to patch', (done) -> + loginAdmin -> + request.post {uri:articleURL, json:patch}, (err, res, body) -> + articles[0] = body + patch.target.id = articles[0]._id + done() + + it "allows someone to submit a patch to something they don't control", (done) -> + loginJoe (joe) -> + request.post {uri: patchURL, json: patch}, (err, res, body) -> + expect(res.statusCode).toBe(200) + expect(body.target.original).toBeDefined() + expect(body.target.version.major).toBeDefined() + expect(body.target.version.minor).toBeDefined() + expect(body.status).toBe('pending') + expect(body.created).toBeDefined() + expect(body.creator).toBe(joe.id) + patches[0] = body + done() + + it 'adds a patch to the target document', (done) -> + Article.findOne({}).exec (err, article) -> + expect(article.toObject().patches[0]).toBeDefined() + done() + + it 'shows up in patch requests', (done) -> + patchesURL = getURL("/db/article/#{articles[0]._id}/patches") + request.get {uri: patchesURL}, (err, res, body) -> + body = JSON.parse(body) + expect(res.statusCode).toBe(200) + expect(body.length).toBe(1) + done() + + it 'allows you to set yourself as listening', (done) -> + listeningURL = getURL("/db/article/#{articles[0]._id}/listen") + request.put {uri: listeningURL, json: {on:true}}, (err, res, body) -> + expect(body.listeners[0]).toBeDefined() + done() + + it 'added the listener to the target document', (done) -> + Article.findOne({}).exec (err, article) -> + expect(article.toObject().listeners[0]).toBeDefined() + done() + + it 'does not add duplicate listeners', (done) -> + listeningURL = getURL("/db/article/#{articles[0]._id}/listen") + request.put {uri: listeningURL, json: {on:true}}, (err, res, body) -> + expect(body.listeners.length).toBe(1) + done() + + it 'allows removing yourself', (done) -> + listeningURL = getURL("/db/article/#{articles[0]._id}/listen") + request.put {uri: listeningURL, json: {on:false}}, (err, res, body) -> + expect(body.listeners.length).toBe(0) + done() + + it 'allows the submitter to withdraw the pull request', (done) -> + statusURL = getURL("/db/patch/#{patches[0]._id}/status") + request.put {uri: statusURL, json: {status:'withdrawn'}}, (err, res, body) -> + expect(res.statusCode).toBe(200) + Patch.findOne({}).exec (err, article) -> + expect(article.get('status')).toBe 'withdrawn' + Article.findOne({}).exec (err, article) -> + expect(article.toObject().patches.length).toBe(0) + done() + + it 'does not allow the submitter to reject or accept the pull request', (done) -> + statusURL = getURL("/db/patch/#{patches[0]._id}/status") + request.put {uri: statusURL, json: {status:'rejected'}}, (err, res, body) -> + expect(res.statusCode).toBe(403) + request.put {uri: statusURL, json: {status:'accepted'}}, (err, res, body) -> + expect(res.statusCode).toBe(403) + Patch.findOne({}).exec (err, article) -> + expect(article.get('status')).toBe 'withdrawn' + done() + + it 'allows the recipient to accept or reject the pull request', (done) -> + statusURL = getURL("/db/patch/#{patches[0]._id}/status") + loginAdmin -> + request.put {uri: statusURL, json: {status:'rejected'}}, (err, res, body) -> + expect(res.statusCode).toBe(200) + Patch.findOne({}).exec (err, article) -> + expect(article.get('status')).toBe 'rejected' + request.put {uri: statusURL, json: {status:'accepted'}}, (err, res, body) -> + expect(res.statusCode).toBe(200) + Patch.findOne({}).exec (err, article) -> + expect(article.get('status')).toBe 'accepted' + done() + + it 'does not allow the recipient to withdraw the pull request', (done) -> + statusURL = getURL("/db/patch/#{patches[0]._id}/status") + request.put {uri: statusURL, json: {status:'withdrawn'}}, (err, res, body) -> + expect(res.statusCode).toBe(403) + Patch.findOne({}).exec (err, article) -> + expect(article.get('status')).toBe 'accepted' + done() \ No newline at end of file From 315ef7f7b8b7a45dabf6e0a8f23a827e54357b09 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Tue, 8 Apr 2014 19:26:34 -0700 Subject: [PATCH 15/79] Added jsondiffpatch to the client. Bower update everyone! --- bower.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bower.json b/bower.json index e73834bc5..6fd3878b7 100644 --- a/bower.json +++ b/bower.json @@ -36,7 +36,8 @@ "underscore.string": "~2.3.3", "firebase": "~1.0.2", "catiline": "~2.9.3", - "d3": "~3.4.4" + "d3": "~3.4.4", + "jsondiffpatch": "~0.1.5" }, "overrides": { "backbone": { From 56c18441e46eb6986abf6e56daff4c625d3bb296 Mon Sep 17 00:00:00 2001 From: 1c7 <1003211008@qq.com> Date: Wed, 9 Apr 2014 13:50:13 +0800 Subject: [PATCH 16/79] use youku for Chinese Version --- app/templates/home.jade | 19 ++++++++++++++----- app/views/home_view.coffee | 1 + 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/templates/home.jade b/app/templates/home.jade index 376ea27fb..dfd523f0c 100644 --- a/app/templates/home.jade +++ b/app/templates/home.jade @@ -4,11 +4,20 @@ block content h1#site-slogan(data-i18n="home.slogan") Learn to Code JavaScript by Playing a Game - #trailer-wrapper - <iframe width="920" height="518" src="//www.youtube.com/embed/1zjaA13k-dA?rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720&wmode=transparent" frameborder="0" wmode="opaque" allowfullscreen></iframe> - img(src="/images/pages/home/video_border.png") - #mobile-trailer-wrapper - <iframe src="//www.youtube.com/embed/1zjaA13k-dA" frameborder="0" width="280" height="158"></iframe> + //- if language is Chinese, we use youku, because China can't visit youtube. + //- otherwise, we use youtube. + if languageName == "zh-HANS" + #trailer-wrapper + <embed src="http://player.youku.com/player.php/sid/XNjk2Mzg5NjYw/v.swf" style="margin-left:15px; margin-top:8px;"allowFullScreen="true" quality="high" width="920" height="518" wmode="opaque"></embed> + img(src="/images/pages/home/video_border.png") + #mobile-trailer-wrapper + <embed src="http://player.youku.com/player.php/sid/XNjk2Mzg5NjYw/v.swf" style="margin-left:15px; margin-top:8px;"allowFullScreen="true" quality="high" width="280" height="158" wmode="opaque"></embed> + else + #trailer-wrapper + <iframe width="920" height="518" src="//www.youtube.com/embed/1zjaA13k-dA?rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720&wmode=transparent" frameborder="0" wmode="opaque" allowfullscreen></iframe> + img(src="/images/pages/home/video_border.png") + #mobile-trailer-wrapper + <iframe src="//www.youtube.com/embed/1zjaA13k-dA" frameborder="0" width="280" height="158"></iframe> hr .alert.alert-danger.lt-ie10 diff --git a/app/views/home_view.coffee b/app/views/home_view.coffee index 565e7e1a7..d3f5494a9 100644 --- a/app/views/home_view.coffee +++ b/app/views/home_view.coffee @@ -23,6 +23,7 @@ module.exports = class HomeView extends View else console.warn 'no more jquery browser version...' c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en' + c.languageName = me.get('preferredLanguage') c afterRender: -> From 495d1be620d237e835c017b9ca717afd2984b15d Mon Sep 17 00:00:00 2001 From: Aditya Raisinghani <aditya.ajeet@gmail.com> Date: Thu, 10 Apr 2014 01:01:30 +0530 Subject: [PATCH 17/79] Added social buttons to Sign up modal --- app/styles/modal/login.sass | 13 +++++++++++++ app/templates/modal/login.jade | 2 +- app/templates/modal/signup.jade | 14 ++++++++++++-- app/views/modal/signup_modal.coffee | 4 ++++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/app/styles/modal/login.sass b/app/styles/modal/login.sass index e89a92118..7d85ad900 100644 --- a/app/styles/modal/login.sass +++ b/app/styles/modal/login.sass @@ -10,3 +10,16 @@ a[data-toggle="coco-modal"] cursor: pointer + +#signup-modal + .modal-footer + padding-top: 0 + div + text-align: center + .social-login-text + padding-top: 20px + .network-logins + width: 263px + margin: 0 auto + div:last-of-type + margin-right: 0px diff --git a/app/templates/modal/login.jade b/app/templates/modal/login.jade index bd0307824..ba1ac3745 100644 --- a/app/templates/modal/login.jade +++ b/app/templates/modal/login.jade @@ -23,7 +23,7 @@ block modal-footer div .fb-login-button(data-show-faces="false", data-width="200", data-max-rows="1", data-scope="email") div - .gplus-login-button#gplus-login-button + .gplus-login-button div a(data-toggle="coco-modal", data-target="modal/signup", data-i18n="login.sign_up")#link-to-signup create new account span , diff --git a/app/templates/modal/signup.jade b/app/templates/modal/signup.jade index c603d019b..51a1d7291 100644 --- a/app/templates/modal/signup.jade +++ b/app/templates/modal/signup.jade @@ -30,5 +30,15 @@ block modal-body-content block modal-body-wait-content h3(data-i18n="signup.creating") Creating Account... -block modal-footer-content - button.btn.btn-primary.btn-large#signup-button(data-i18n="signup.sign_up") Sign Up +block modal-footer + .modal-footer + div + button.btn.btn-primary.btn-large#signup-button(data-i18n="signup.sign_up") Sign Up + div.social-login-text. + .Or you can login directly through Facebook or G+ + + .modal-footer.network-logins + div + .fb-login-button(data-show-faces="false", data-width="200", data-max-rows="1", data-scope="email") + div + .gplus-login-button#gplus-login-button diff --git a/app/views/modal/signup_modal.coffee b/app/views/modal/signup_modal.coffee index 5ecbc07c5..f9224cb3f 100644 --- a/app/views/modal/signup_modal.coffee +++ b/app/views/modal/signup_modal.coffee @@ -62,3 +62,7 @@ module.exports = class SignupModalView extends View window.tracker?.trackEvent 'Finished Signup' @enableModalInProgress(@$el) createUser userObject, null, window.nextLevelURL + + afterInsert: -> + super() + application.router.renderLoginButtons() From b3804e744517b6b8393626c523918c08d3f4929e Mon Sep 17 00:00:00 2001 From: Aditya Raisinghani <aditya.ajeet@gmail.com> Date: Thu, 10 Apr 2014 01:07:48 +0530 Subject: [PATCH 18/79] Minor corrections in format --- app/templates/modal/login.jade | 2 +- app/templates/modal/signup.jade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/templates/modal/login.jade b/app/templates/modal/login.jade index ba1ac3745..bd0307824 100644 --- a/app/templates/modal/login.jade +++ b/app/templates/modal/login.jade @@ -23,7 +23,7 @@ block modal-footer div .fb-login-button(data-show-faces="false", data-width="200", data-max-rows="1", data-scope="email") div - .gplus-login-button + .gplus-login-button#gplus-login-button div a(data-toggle="coco-modal", data-target="modal/signup", data-i18n="login.sign_up")#link-to-signup create new account span , diff --git a/app/templates/modal/signup.jade b/app/templates/modal/signup.jade index 51a1d7291..aa260ddda 100644 --- a/app/templates/modal/signup.jade +++ b/app/templates/modal/signup.jade @@ -35,7 +35,7 @@ block modal-footer div button.btn.btn-primary.btn-large#signup-button(data-i18n="signup.sign_up") Sign Up div.social-login-text. - .Or you can login directly through Facebook or G+ + Or you can login directly through Facebook or G+ .modal-footer.network-logins div From f2d21b960f42db915462f56ee8eede1da41da0cf Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Wed, 9 Apr 2014 16:09:35 -0700 Subject: [PATCH 19/79] Added a delta subview for displaying deltas of schema'd data. --- app/lib/deltas.coffee | 89 +++++++++++++++++++++++++++++++++ app/models/CocoModel.coffee | 7 ++- app/styles/editor/delta.sass | 35 +++++++++++++ app/templates/editor/delta.jade | 35 +++++++++++++ app/views/editor/delta.coffee | 43 ++++++++++++++++ bower.json | 3 ++ 6 files changed, 211 insertions(+), 1 deletion(-) create mode 100644 app/lib/deltas.coffee create mode 100644 app/styles/editor/delta.sass create mode 100644 app/templates/editor/delta.jade create mode 100644 app/views/editor/delta.coffee diff --git a/app/lib/deltas.coffee b/app/lib/deltas.coffee new file mode 100644 index 000000000..abf3dddf5 --- /dev/null +++ b/app/lib/deltas.coffee @@ -0,0 +1,89 @@ +# path: an array of indexes to navigate into a JSON object +# left: + +module.exports.interpretDelta = (delta, path, left, schema) -> + # takes a single delta and converts into an object that can be + # easily formatted into something human readable. + + betterDelta = { action:'???', delta: delta } + + betterPath = [] + parentLeft = left + parentSchema = schema + for key in path + # TODO: A smarter way of getting child schemas + childSchema = parentSchema?.items or parentSchema?.properties?[key] or {} + childLeft = parentLeft?[key] + betterKey = null + betterKey ?= childLeft.name or childLeft.id if childLeft + betterKey ?= "#{childSchema.title} ##{key+1}" if childSchema.title and _.isNumber(key) + betterKey ?= "#{childSchema.title}" if childSchema.title + betterKey ?= _.string.titleize key + betterPath.push betterKey + parentLeft = childLeft + parentSchema = childSchema + + betterDelta.path = betterPath.join(' :: ') + betterDelta.schema = childSchema + betterDelta.left = childLeft + betterDelta.right = jsondiffpatch.patch childLeft, delta + + if _.isArray(delta) and delta.length is 1 + betterDelta.action = 'added' + betterDelta.newValue = delta[0] + + if _.isArray(delta) and delta.length is 2 + betterDelta.action = 'modified' + betterDelta.oldValue = delta[0] + betterDelta.newValue = delta[1] + + if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 0 + betterDelta.action = 'deleted' + betterDelta.oldValue = delta[0] + + if _.isPlainObject(delta) and delta._t is 'a' + betterDelta.action = 'modified-array' + + if _.isPlainObject(delta) and delta._t isnt 'a' + betterDelta.action = 'modified-object' + + if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 3 + betterDelta.action = 'moved-index' + betterDelta.destinationIndex = delta[1] + + if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 2 + betterDelta.action = 'text-diff' + betterDelta.unidiff = delta[0] + left = betterDelta.left.trim().split('\n') + right = betterDelta.right.trim().split('\n') + shifted = popped = false + while left.length > 5 and right.length > 5 and left[0] is right[0] and left[1] is right[1] + left.shift() + right.shift() + shifted = true + while left.length > 5 and right.length > 5 and left[left.length-1] is right[right.length-1] and left[left.length-2] is right[right.length-2] + left.pop() + right.pop() + popped = true + left.push('...') and right.push('...') if popped + left.unshift('...') and right.unshift('...') if shifted + betterDelta.trimmedLeft = left.join('\n') + betterDelta.trimmedRight = right.join('\n') + + + betterDelta + +module.exports.flattenDelta = flattenDelta = (delta, path=null) -> + # takes a single delta and returns an array of deltas + + path ?= [] + + return [{path:path, delta:delta}] if _.isArray delta + + results = [] + affectingArray = delta._t is 'a' + for index, childDelta of delta + continue if index is '_t' + index = parseInt(index.replace('_', '')) if affectingArray + results = results.concat flattenDelta(childDelta, path.concat([index])) + results \ No newline at end of file diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 862ba72fd..6edd0d634 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -215,6 +215,11 @@ class CocoModel extends Backbone.Model return true if permission.access in ['owner', 'write'] return false - + + getDelta: -> + jsd = jsondiffpatch.create({ + objectHash: (obj) -> obj.name || obj.id || obj._id || JSON.stringify(_.keys(obj)) + }) + jsd.diff @_revertAttributes, @attributes module.exports = CocoModel diff --git a/app/styles/editor/delta.sass b/app/styles/editor/delta.sass new file mode 100644 index 000000000..b7c4cdd56 --- /dev/null +++ b/app/styles/editor/delta.sass @@ -0,0 +1,35 @@ +#delta-list-view + width: 600px + .panel-heading + font-size: 13px + padding: 4px + .row + padding: 5px 10px + + .delta-added + border-color: green + strong + color: green + .panel-heading + background-color: lighten(green, 70%) + + .delta-modified + border-color: darkgoldenrod + strong + color: darkgoldenrod + .panel-heading + background-color: lighten(darkgoldenrod, 40%) + + .delta-text-diff + border-color: blue + strong + color: blue + .panel-heading + background-color: lighten(blue, 45%) + + .delta-deleted + border-color: red + strong + color: red + .panel-heading + background-color: lighten(red, 42%) diff --git a/app/templates/editor/delta.jade b/app/templates/editor/delta.jade new file mode 100644 index 000000000..33b85ba15 --- /dev/null +++ b/app/templates/editor/delta.jade @@ -0,0 +1,35 @@ +- var i = 0 +.panel-group#accordion + for delta in deltas + .delta.panel.panel-default(class='delta-'+delta.action) + .panel-heading + if delta.action === 'added' + strong(data-i18n="delta.added") Added + if delta.action === 'modified' + strong(data-i18n="delta.modified") Modified + if delta.action === 'deleted' + strong(data-i18n="delta.deleted") Deleted + if delta.action === 'moved-index' + strong(data-i18n="delta.modified_array") Moved Index + if delta.action === 'text-diff' + strong(data-i18n="delta.text_diff") Text Diff + span + a(data-toggle="collapse" data-parent="#accordion" href="#collapse-"+i) + span= delta.path + + .panel-collapse.collapse(id="collapse-"+i) + .panel-body.row + if delta.action === 'added' + .new-value.col-md-12= delta.right + if delta.action === 'modified' + .old-value.col-md-6= delta.left + .new-value.col-md-6= delta.right + if delta.action === 'deleted' + .col-md-12 + div.old-value= delta.left + if delta.action === 'text-diff' + .col-md-6 + pre= delta.trimmedLeft + .col-md-6 + pre= delta.trimmedRight + - i += 1 \ No newline at end of file diff --git a/app/views/editor/delta.coffee b/app/views/editor/delta.coffee new file mode 100644 index 000000000..46c637f36 --- /dev/null +++ b/app/views/editor/delta.coffee @@ -0,0 +1,43 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/editor/delta' +deltaLib = require 'lib/deltas' + +module.exports = class DeltaListView extends CocoView + id: "delta-list-view" + template: template + + constructor: (options) -> + super(options) + @delta = options.delta + @schema = options.schema or {} + @left = options.left + + getRenderData: -> + c = super() + deltas = deltaLib.flattenDelta @delta + deltas = (deltaLib.interpretDelta(d.delta, d.path, @left, @schema) for d in deltas) + c.deltas = deltas + @processedDeltas = deltas + c + + afterRender: -> + deltas = @$el.find('.delta') + for delta, i in deltas + deltaEl = $(delta) + deltaData = @processedDeltas[i] + console.log 'delta', deltaEl, deltaData + if _.isObject(deltaData.left) and leftEl = deltaEl.find('.old-value') + options = + data: deltaData.left + schema: deltaData.schema + readOnly: true + treema = TreemaNode.make(leftEl, options) + treema.build() + + if _.isObject(deltaData.right) and rightEl = deltaEl.find('.old-value') + options = + data: deltaData.right + schema: deltaData.schema + readOnly: true + treema = TreemaNode.make(rightEl, options) + treema.build() diff --git a/bower.json b/bower.json index 0a6b42f4a..84e10d876 100644 --- a/bower.json +++ b/bower.json @@ -52,6 +52,9 @@ }, "underscore.string": { "main": "lib/underscore.string.js" + }, + "jsondiffpatch": { + "main": ["build/bundle-full.js", "build/formatters.js", "src/formatters/html.css"] } } } From b15380047c49044368a49ca3a311bd4fe31ad3a0 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Wed, 9 Apr 2014 16:09:53 -0700 Subject: [PATCH 20/79] Tweak to view. --- app/views/admin/base_view.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/admin/base_view.coffee b/app/views/admin/base_view.coffee index 7fe8c09c1..5db653086 100644 --- a/app/views/admin/base_view.coffee +++ b/app/views/admin/base_view.coffee @@ -1,6 +1,6 @@ -View = require 'views/kinds/RootView' +RootView = require 'views/kinds/RootView' template = require 'templates/base' -module.exports = class BaseView extends View +module.exports = class BaseView extends RootView id: "base-view" template: template From 66d455285e389e2b715417e95b6802e2b22598da Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Wed, 9 Apr 2014 19:07:44 -0700 Subject: [PATCH 21/79] Integrated the delta view into the save view for levels. --- app/lib/deltas.coffee | 60 ++++++++++--------------- app/models/CocoModel.coffee | 6 +++ app/styles/editor/delta.sass | 3 +- app/styles/modal/save_version.sass | 23 ++++++++++ app/templates/editor/delta.jade | 10 ++--- app/templates/editor/level/save.jade | 55 ++++++++++++----------- app/views/editor/delta.coffee | 16 +++---- app/views/editor/level/save_view.coffee | 13 ++++++ app/views/kinds/CocoView.coffee | 5 ++- 9 files changed, 109 insertions(+), 82 deletions(-) diff --git a/app/lib/deltas.coffee b/app/lib/deltas.coffee index abf3dddf5..e6d8c936d 100644 --- a/app/lib/deltas.coffee +++ b/app/lib/deltas.coffee @@ -7,27 +7,6 @@ module.exports.interpretDelta = (delta, path, left, schema) -> betterDelta = { action:'???', delta: delta } - betterPath = [] - parentLeft = left - parentSchema = schema - for key in path - # TODO: A smarter way of getting child schemas - childSchema = parentSchema?.items or parentSchema?.properties?[key] or {} - childLeft = parentLeft?[key] - betterKey = null - betterKey ?= childLeft.name or childLeft.id if childLeft - betterKey ?= "#{childSchema.title} ##{key+1}" if childSchema.title and _.isNumber(key) - betterKey ?= "#{childSchema.title}" if childSchema.title - betterKey ?= _.string.titleize key - betterPath.push betterKey - parentLeft = childLeft - parentSchema = childSchema - - betterDelta.path = betterPath.join(' :: ') - betterDelta.schema = childSchema - betterDelta.left = childLeft - betterDelta.right = jsondiffpatch.patch childLeft, delta - if _.isArray(delta) and delta.length is 1 betterDelta.action = 'added' betterDelta.newValue = delta[0] @@ -54,27 +33,34 @@ module.exports.interpretDelta = (delta, path, left, schema) -> if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 2 betterDelta.action = 'text-diff' betterDelta.unidiff = delta[0] - left = betterDelta.left.trim().split('\n') - right = betterDelta.right.trim().split('\n') - shifted = popped = false - while left.length > 5 and right.length > 5 and left[0] is right[0] and left[1] is right[1] - left.shift() - right.shift() - shifted = true - while left.length > 5 and right.length > 5 and left[left.length-1] is right[right.length-1] and left[left.length-2] is right[right.length-2] - left.pop() - right.pop() - popped = true - left.push('...') and right.push('...') if popped - left.unshift('...') and right.unshift('...') if shifted - betterDelta.trimmedLeft = left.join('\n') - betterDelta.trimmedRight = right.join('\n') - + betterPath = [] + parentLeft = left + parentSchema = schema + for key, i in path + # TODO: A smarter way of getting child schemas + childSchema = parentSchema?.items or parentSchema?.properties?[key] or {} + childLeft = parentLeft?[key] + betterKey = null + childData = if i is path.length-1 and betterDelta.action is 'added' then delta[0] else childLeft + betterKey ?= childData.name or childData.id if childData + betterKey ?= "#{childSchema.title} ##{key+1}" if childSchema.title and _.isNumber(key) + betterKey ?= "#{childSchema.title}" if childSchema.title + betterKey ?= _.string.titleize key + betterPath.push betterKey + parentLeft = childLeft + parentSchema = childSchema + + betterDelta.path = betterPath.join(' :: ') + betterDelta.schema = childSchema + betterDelta.left = childLeft + betterDelta.right = jsondiffpatch.patch childLeft, delta + betterDelta module.exports.flattenDelta = flattenDelta = (delta, path=null) -> # takes a single delta and returns an array of deltas + return [] unless delta path ?= [] diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 6edd0d634..669899e6c 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -1,4 +1,5 @@ storage = require 'lib/storage' +deltasLib = require 'lib/deltas' class CocoSchema extends Backbone.Model constructor: (path, args...) -> @@ -221,5 +222,10 @@ class CocoModel extends Backbone.Model objectHash: (obj) -> obj.name || obj.id || obj._id || JSON.stringify(_.keys(obj)) }) jsd.diff @_revertAttributes, @attributes + + getExpandedDelta: -> + delta = @getDelta() + deltas = deltasLib.flattenDelta(delta) + (deltasLib.interpretDelta(d.delta, d.path, @_revertAttributes, @schema().attributes) for d in deltas) module.exports = CocoModel diff --git a/app/styles/editor/delta.sass b/app/styles/editor/delta.sass index b7c4cdd56..b754dea9a 100644 --- a/app/styles/editor/delta.sass +++ b/app/styles/editor/delta.sass @@ -1,5 +1,4 @@ -#delta-list-view - width: 600px +.delta-list-view .panel-heading font-size: 13px padding: 4px diff --git a/app/styles/modal/save_version.sass b/app/styles/modal/save_version.sass index 9af4225dc..b64014ace 100644 --- a/app/styles/modal/save_version.sass +++ b/app/styles/modal/save_version.sass @@ -1,4 +1,7 @@ #save-version-modal + .modal-body + padding: 0px 50px 30px 20px + #cla-link cursor: pointer text-decoration: underline @@ -25,3 +28,23 @@ font-size: 0.9em font-style: italic + .delta-list-view + overflow-y: auto + padding: 10px + border: 1px solid black + background: lighten(#add8e6, 17%) + margin-bottom: 10px + ul + padding-left: 20px + + form + width: 100% + + .commit-message + display: block + width: 100% + + .checkbox + margin: 10px 10px 0 + input + margin-right: 5px \ No newline at end of file diff --git a/app/templates/editor/delta.jade b/app/templates/editor/delta.jade index 33b85ba15..765839537 100644 --- a/app/templates/editor/delta.jade +++ b/app/templates/editor/delta.jade @@ -1,5 +1,5 @@ - var i = 0 -.panel-group#accordion +.panel-group(id='delta-accordion-'+(counter)) for delta in deltas .delta.panel.panel-default(class='delta-'+delta.action) .panel-heading @@ -14,10 +14,10 @@ if delta.action === 'text-diff' strong(data-i18n="delta.text_diff") Text Diff span - a(data-toggle="collapse" data-parent="#accordion" href="#collapse-"+i) + a(data-toggle="collapse" data-parent="#delta-accordion"+(counter) href="#collapse-"+(i+counter)) span= delta.path - .panel-collapse.collapse(id="collapse-"+i) + .panel-collapse.collapse(id="collapse-"+(i+counter)) .panel-body.row if delta.action === 'added' .new-value.col-md-12= delta.right @@ -29,7 +29,7 @@ div.old-value= delta.left if delta.action === 'text-diff' .col-md-6 - pre= delta.trimmedLeft + pre= delta.left .col-md-6 - pre= delta.trimmedRight + pre= delta.right - i += 1 \ No newline at end of file diff --git a/app/templates/editor/level/save.jade b/app/templates/editor/level/save.jade index 8ada52b23..498d32f13 100644 --- a/app/templates/editor/level/save.jade +++ b/app/templates/editor/level/save.jade @@ -3,19 +3,20 @@ extends /templates/modal/save_version block modal-body-content h3= "Level: " + level.get('name') + " - " + (levelNeedsSave ? "Modified" : "Not Modified") if levelNeedsSave - form#save-level-form.form - .form-group - label.control-label(for="level-commit-message") Commit Message - textarea.form-control#level-commit-message(name="commit-message", type="text") + .changes-stub + form#save-level-form.form-inline + .form-group.commit-message + input.form-control#level-commit-message(name="commit-message", type="text", placeholder="Commit Message") if level.isPublished() - .form-group.checkbox - label.control-label(for="level-version-is-major") Major Changes? - input#level-version-is-major(name="version-is-major", type="checkbox") - span.help-block (Could this update break old solutions of the level?) + .checkbox + label + input#level-version-is-major(name="version-is-major", type="checkbox") + | Major Changes if !level.isPublished() - .form-group.checkbox - label.control-label(for="level-publish") Publish This Level (irreversible)? - input#level-publish(name="publish", type="checkbox") + .checkbox + label + input#level-publish(name="publish", type="checkbox") + | Publish if modifiedComponents.length hr @@ -23,17 +24,17 @@ block modal-body-content each component in modifiedComponents - var id = component.get('_id') h4= "Component: " + component.get('system') + '.' + component.get('name') - form.component-form(id="save-component-" + id + "-form") + .changes-stub + form.form-inline.component-form(id="save-component-" + id + "-form") input(name="component-original", type="hidden", value=component.get('original')) input(name="component-parent-major-version", type="hidden", value=component.get('version').major) - .form-group - label.control-label(for=id + "-commit-message") Commit Message - textarea.form-control(id=id + "-commit-message", name="commit-message", type="text") + .form-group.commit-message + input.form-control(id=id + "-commit-message", name="commit-message", type="text", placeholder="Commit Message") if component.isPublished() - .form-group.checkbox - label.control-label(for=id + "-version-is-major") Major Changes? - input(id=id + "-version-is-major", name="version-is-major", type="checkbox") - span.help-block (Could this update break anything depending on this Component?) + .checkbox + label + input(id=id + "-version-is-major", name="version-is-major", type="checkbox") + | Major Changes if modifiedSystems.length hr @@ -41,14 +42,14 @@ block modal-body-content each system in modifiedSystems - var id = system.get('_id') h4= "System: " + system.get('name') - form.system-form(id="save-system-" + id + "-form") + .changes-stub + form.form-inline.system-form(id="save-system-" + id + "-form") input(name="system-original", type="hidden", value=system.get('original')) input(name="system-parent-major-version", type="hidden", value=system.get('version').major) - .form-group - label.control-label(for=id + "-commit-message") Commit Message - textarea.form-control(id=id + "-commit-message", name="commit-message", type="text") + .form-group.commit-message + input.form-control(id=id + "-commit-message", name="commit-message", type="text", placeholder="Commit Message") if system.isPublished() - .form-group.checkbox - label.control-label(for=id + "-version-is-major") Major Changes? - input(id=id + "-version-is-major", name="version-is-major", type="checkbox") - span.help-block (Could this update break anything depending on this System?) + .checkbox + label + input(id=id + "-version-is-major", name="version-is-major", type="checkbox") + | Major changes diff --git a/app/views/editor/delta.coffee b/app/views/editor/delta.coffee index 46c637f36..0f72512e4 100644 --- a/app/views/editor/delta.coffee +++ b/app/views/editor/delta.coffee @@ -3,21 +3,19 @@ template = require 'templates/editor/delta' deltaLib = require 'lib/deltas' module.exports = class DeltaListView extends CocoView - id: "delta-list-view" + @deltaCounter: 0 + className: "delta-list-view" template: template constructor: (options) -> super(options) - @delta = options.delta - @schema = options.schema or {} - @left = options.left + @model = options.model getRenderData: -> c = super() - deltas = deltaLib.flattenDelta @delta - deltas = (deltaLib.interpretDelta(d.delta, d.path, @left, @schema) for d in deltas) - c.deltas = deltas - @processedDeltas = deltas + c.deltas = @processedDeltas = @model.getExpandedDelta() + c.counter = DeltaListView.deltaCounter + DeltaListView.deltaCounter += c.deltas.length c afterRender: -> @@ -34,7 +32,7 @@ module.exports = class DeltaListView extends CocoView treema = TreemaNode.make(leftEl, options) treema.build() - if _.isObject(deltaData.right) and rightEl = deltaEl.find('.old-value') + if _.isObject(deltaData.right) and rightEl = deltaEl.find('.new-value') options = data: deltaData.right schema: deltaData.schema diff --git a/app/views/editor/level/save_view.coffee b/app/views/editor/level/save_view.coffee index e3e5ad25c..c5d9e718d 100644 --- a/app/views/editor/level/save_view.coffee +++ b/app/views/editor/level/save_view.coffee @@ -3,6 +3,7 @@ template = require 'templates/editor/level/save' forms = require 'lib/forms' LevelComponent = require 'models/LevelComponent' LevelSystem = require 'models/LevelSystem' +DeltaView = require 'views/editor/delta' module.exports = class LevelSaveView extends SaveVersionModal template: template @@ -24,7 +25,19 @@ module.exports = class LevelSaveView extends SaveVersionModal context.modifiedComponents = _.filter @supermodel.getModels(LevelComponent), @shouldSaveEntity context.modifiedSystems = _.filter @supermodel.getModels(LevelSystem), @shouldSaveEntity context.noSaveButton = not (context.levelNeedsSave or context.modifiedComponents.length or context.modifiedSystems.length) + @lastContext = context context + + afterRender: -> + super() + changeEls = @$el.find('.changes-stub') + models = if @lastContext.levelNeedsSave then [@level] else [] + models = models.concat @lastContext.modifiedComponents + models = models.concat @lastContext.modifiedSystems + for changeEl, i in changeEls + model = models[i] + deltaView = new DeltaView({model:model}) + @insertSubView(deltaView, $(changeEl)) shouldSaveEntity: (m) -> return true if m.hasLocalChanges() diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index d8272d1b3..3ea8204a3 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -299,9 +299,10 @@ module.exports = class CocoView extends Backbone.View # Subviews - insertSubView: (view) -> + insertSubView: (view, elToReplace=null) -> @subviews[view.id].destroy() if view.id of @subviews - @$el.find('#'+view.id).after(view.el).remove() + elToReplace ?= @$el.find('#'+view.id) + elToReplace.after(view.el).remove() view.parent = @ view.render() view.afterInsert() From 5629284c76e25d4c13aa1bc046e5fa3788b5dfb5 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Thu, 10 Apr 2014 10:24:14 -0700 Subject: [PATCH 22/79] Added text diff library to delta view. --- app/styles/editor/delta.sass | 2 + app/templates/editor/delta.jade | 6 +- app/views/editor/delta.coffee | 18 +- vendor/scripts/difflib.js | 413 ++++++++++++++++++++++++++++++++ vendor/scripts/diffview.js | 198 +++++++++++++++ vendor/styles/diffview.css | 83 +++++++ 6 files changed, 715 insertions(+), 5 deletions(-) create mode 100644 vendor/scripts/difflib.js create mode 100644 vendor/scripts/diffview.js create mode 100644 vendor/styles/diffview.css diff --git a/app/styles/editor/delta.sass b/app/styles/editor/delta.sass index b754dea9a..ec70d3135 100644 --- a/app/styles/editor/delta.sass +++ b/app/styles/editor/delta.sass @@ -25,6 +25,8 @@ color: blue .panel-heading background-color: lighten(blue, 45%) + table + width: 100% .delta-deleted border-color: red diff --git a/app/templates/editor/delta.jade b/app/templates/editor/delta.jade index 765839537..35c3c9a7e 100644 --- a/app/templates/editor/delta.jade +++ b/app/templates/editor/delta.jade @@ -28,8 +28,6 @@ .col-md-12 div.old-value= delta.left if delta.action === 'text-diff' - .col-md-6 - pre= delta.left - .col-md-6 - pre= delta.right + .col-md-12 + div.text-diff - i += 1 \ No newline at end of file diff --git a/app/views/editor/delta.coffee b/app/views/editor/delta.coffee index 0f72512e4..4d4635ebf 100644 --- a/app/views/editor/delta.coffee +++ b/app/views/editor/delta.coffee @@ -23,7 +23,6 @@ module.exports = class DeltaListView extends CocoView for delta, i in deltas deltaEl = $(delta) deltaData = @processedDeltas[i] - console.log 'delta', deltaEl, deltaData if _.isObject(deltaData.left) and leftEl = deltaEl.find('.old-value') options = data: deltaData.left @@ -39,3 +38,20 @@ module.exports = class DeltaListView extends CocoView readOnly: true treema = TreemaNode.make(rightEl, options) treema.build() + + if deltaData.action is 'text-diff' + left = difflib.stringAsLines deltaData.left + right = difflib.stringAsLines deltaData.right + sm = new difflib.SequenceMatcher(left, right) + opcodes = sm.get_opcodes() + el = deltaEl.find('.text-diff') + args = { + baseTextLines: left + newTextLines: right + opcodes: opcodes + baseTextName: "Old" + newTextName: "New" + contextSize: 5 + viewType: 1 + } + el.append(diffview.buildView(args)) diff --git a/vendor/scripts/difflib.js b/vendor/scripts/difflib.js new file mode 100644 index 000000000..191fe4563 --- /dev/null +++ b/vendor/scripts/difflib.js @@ -0,0 +1,413 @@ +/*** +This is part of jsdifflib v1.0. <http://snowtide.com/jsdifflib> + +Copyright (c) 2007, Snowtide Informatics Systems, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Snowtide Informatics Systems nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. +***/ +/* Author: Chas Emerick <cemerick@snowtide.com> */ +var __whitespace = {" ":true, "\t":true, "\n":true, "\f":true, "\r":true}; + +var difflib = { + defaultJunkFunction: function (c) { + return __whitespace.hasOwnProperty(c); + }, + + stripLinebreaks: function (str) { return str.replace(/^[\n\r]*|[\n\r]*$/g, ""); }, + + stringAsLines: function (str) { + var lfpos = str.indexOf("\n"); + var crpos = str.indexOf("\r"); + var linebreak = ((lfpos > -1 && crpos > -1) || crpos < 0) ? "\n" : "\r"; + + var lines = str.split(linebreak); + for (var i = 0; i < lines.length; i++) { + lines[i] = difflib.stripLinebreaks(lines[i]); + } + + return lines; + }, + + // iteration-based reduce implementation + __reduce: function (func, list, initial) { + if (initial != null) { + var value = initial; + var idx = 0; + } else if (list) { + var value = list[0]; + var idx = 1; + } else { + return null; + } + + for (; idx < list.length; idx++) { + value = func(value, list[idx]); + } + + return value; + }, + + // comparison function for sorting lists of numeric tuples + __ntuplecomp: function (a, b) { + var mlen = Math.max(a.length, b.length); + for (var i = 0; i < mlen; i++) { + if (a[i] < b[i]) return -1; + if (a[i] > b[i]) return 1; + } + + return a.length == b.length ? 0 : (a.length < b.length ? -1 : 1); + }, + + __calculate_ratio: function (matches, length) { + return length ? 2.0 * matches / length : 1.0; + }, + + // returns a function that returns true if a key passed to the returned function + // is in the dict (js object) provided to this function; replaces being able to + // carry around dict.has_key in python... + __isindict: function (dict) { + return function (key) { return dict.hasOwnProperty(key); }; + }, + + // replacement for python's dict.get function -- need easy default values + __dictget: function (dict, key, defaultValue) { + return dict.hasOwnProperty(key) ? dict[key] : defaultValue; + }, + + SequenceMatcher: function (a, b, isjunk) { + this.set_seqs = function (a, b) { + this.set_seq1(a); + this.set_seq2(b); + } + + this.set_seq1 = function (a) { + if (a == this.a) return; + this.a = a; + this.matching_blocks = this.opcodes = null; + } + + this.set_seq2 = function (b) { + if (b == this.b) return; + this.b = b; + this.matching_blocks = this.opcodes = this.fullbcount = null; + this.__chain_b(); + } + + this.__chain_b = function () { + var b = this.b; + var n = b.length; + var b2j = this.b2j = {}; + var populardict = {}; + for (var i = 0; i < b.length; i++) { + var elt = b[i]; + if (b2j.hasOwnProperty(elt)) { + var indices = b2j[elt]; + if (n >= 200 && indices.length * 100 > n) { + populardict[elt] = 1; + delete b2j[elt]; + } else { + indices.push(i); + } + } else { + b2j[elt] = [i]; + } + } + + for (var elt in populardict) { + if (populardict.hasOwnProperty(elt)) { + delete b2j[elt]; + } + } + + var isjunk = this.isjunk; + var junkdict = {}; + if (isjunk) { + for (var elt in populardict) { + if (populardict.hasOwnProperty(elt) && isjunk(elt)) { + junkdict[elt] = 1; + delete populardict[elt]; + } + } + for (var elt in b2j) { + if (b2j.hasOwnProperty(elt) && isjunk(elt)) { + junkdict[elt] = 1; + delete b2j[elt]; + } + } + } + + this.isbjunk = difflib.__isindict(junkdict); + this.isbpopular = difflib.__isindict(populardict); + } + + this.find_longest_match = function (alo, ahi, blo, bhi) { + var a = this.a; + var b = this.b; + var b2j = this.b2j; + var isbjunk = this.isbjunk; + var besti = alo; + var bestj = blo; + var bestsize = 0; + var j = null; + var k; + + var j2len = {}; + var nothing = []; + for (var i = alo; i < ahi; i++) { + var newj2len = {}; + var jdict = difflib.__dictget(b2j, a[i], nothing); + for (var jkey in jdict) { + if (jdict.hasOwnProperty(jkey)) { + j = jdict[jkey]; + if (j < blo) continue; + if (j >= bhi) break; + newj2len[j] = k = difflib.__dictget(j2len, j - 1, 0) + 1; + if (k > bestsize) { + besti = i - k + 1; + bestj = j - k + 1; + bestsize = k; + } + } + } + j2len = newj2len; + } + + while (besti > alo && bestj > blo && !isbjunk(b[bestj - 1]) && a[besti - 1] == b[bestj - 1]) { + besti--; + bestj--; + bestsize++; + } + + while (besti + bestsize < ahi && bestj + bestsize < bhi && + !isbjunk(b[bestj + bestsize]) && + a[besti + bestsize] == b[bestj + bestsize]) { + bestsize++; + } + + while (besti > alo && bestj > blo && isbjunk(b[bestj - 1]) && a[besti - 1] == b[bestj - 1]) { + besti--; + bestj--; + bestsize++; + } + + while (besti + bestsize < ahi && bestj + bestsize < bhi && isbjunk(b[bestj + bestsize]) && + a[besti + bestsize] == b[bestj + bestsize]) { + bestsize++; + } + + return [besti, bestj, bestsize]; + } + + this.get_matching_blocks = function () { + if (this.matching_blocks != null) return this.matching_blocks; + var la = this.a.length; + var lb = this.b.length; + + var queue = [[0, la, 0, lb]]; + var matching_blocks = []; + var alo, ahi, blo, bhi, qi, i, j, k, x; + while (queue.length) { + qi = queue.pop(); + alo = qi[0]; + ahi = qi[1]; + blo = qi[2]; + bhi = qi[3]; + x = this.find_longest_match(alo, ahi, blo, bhi); + i = x[0]; + j = x[1]; + k = x[2]; + + if (k) { + matching_blocks.push(x); + if (alo < i && blo < j) + queue.push([alo, i, blo, j]); + if (i+k < ahi && j+k < bhi) + queue.push([i + k, ahi, j + k, bhi]); + } + } + + matching_blocks.sort(difflib.__ntuplecomp); + + var i1 = 0, j1 = 0, k1 = 0, block = 0; + var i2, j2, k2; + var non_adjacent = []; + for (var idx in matching_blocks) { + if (matching_blocks.hasOwnProperty(idx)) { + block = matching_blocks[idx]; + i2 = block[0]; + j2 = block[1]; + k2 = block[2]; + if (i1 + k1 == i2 && j1 + k1 == j2) { + k1 += k2; + } else { + if (k1) non_adjacent.push([i1, j1, k1]); + i1 = i2; + j1 = j2; + k1 = k2; + } + } + } + + if (k1) non_adjacent.push([i1, j1, k1]); + + non_adjacent.push([la, lb, 0]); + this.matching_blocks = non_adjacent; + return this.matching_blocks; + } + + this.get_opcodes = function () { + if (this.opcodes != null) return this.opcodes; + var i = 0; + var j = 0; + var answer = []; + this.opcodes = answer; + var block, ai, bj, size, tag; + var blocks = this.get_matching_blocks(); + for (var idx in blocks) { + if (blocks.hasOwnProperty(idx)) { + block = blocks[idx]; + ai = block[0]; + bj = block[1]; + size = block[2]; + tag = ''; + if (i < ai && j < bj) { + tag = 'replace'; + } else if (i < ai) { + tag = 'delete'; + } else if (j < bj) { + tag = 'insert'; + } + if (tag) answer.push([tag, i, ai, j, bj]); + i = ai + size; + j = bj + size; + + if (size) answer.push(['equal', ai, i, bj, j]); + } + } + + return answer; + } + + // this is a generator function in the python lib, which of course is not supported in javascript + // the reimplementation builds up the grouped opcodes into a list in their entirety and returns that. + this.get_grouped_opcodes = function (n) { + if (!n) n = 3; + var codes = this.get_opcodes(); + if (!codes) codes = [["equal", 0, 1, 0, 1]]; + var code, tag, i1, i2, j1, j2; + if (codes[0][0] == 'equal') { + code = codes[0]; + tag = code[0]; + i1 = code[1]; + i2 = code[2]; + j1 = code[3]; + j2 = code[4]; + codes[0] = [tag, Math.max(i1, i2 - n), i2, Math.max(j1, j2 - n), j2]; + } + if (codes[codes.length - 1][0] == 'equal') { + code = codes[codes.length - 1]; + tag = code[0]; + i1 = code[1]; + i2 = code[2]; + j1 = code[3]; + j2 = code[4]; + codes[codes.length - 1] = [tag, i1, Math.min(i2, i1 + n), j1, Math.min(j2, j1 + n)]; + } + + var nn = n + n; + var group = []; + var groups = []; + for (var idx in codes) { + if (codes.hasOwnProperty(idx)) { + code = codes[idx]; + tag = code[0]; + i1 = code[1]; + i2 = code[2]; + j1 = code[3]; + j2 = code[4]; + if (tag == 'equal' && i2 - i1 > nn) { + group.push([tag, i1, Math.min(i2, i1 + n), j1, Math.min(j2, j1 + n)]); + groups.push(group); + group = []; + i1 = Math.max(i1, i2-n); + j1 = Math.max(j1, j2-n); + } + + group.push([tag, i1, i2, j1, j2]); + } + } + + if (group && !(group.length == 1 && group[0][0] == 'equal')) groups.push(group) + + return groups; + } + + this.ratio = function () { + matches = difflib.__reduce( + function (sum, triple) { return sum + triple[triple.length - 1]; }, + this.get_matching_blocks(), 0); + return difflib.__calculate_ratio(matches, this.a.length + this.b.length); + } + + this.quick_ratio = function () { + var fullbcount, elt; + if (this.fullbcount == null) { + this.fullbcount = fullbcount = {}; + for (var i = 0; i < this.b.length; i++) { + elt = this.b[i]; + fullbcount[elt] = difflib.__dictget(fullbcount, elt, 0) + 1; + } + } + fullbcount = this.fullbcount; + + var avail = {}; + var availhas = difflib.__isindict(avail); + var matches = numb = 0; + for (var i = 0; i < this.a.length; i++) { + elt = this.a[i]; + if (availhas(elt)) { + numb = avail[elt]; + } else { + numb = difflib.__dictget(fullbcount, elt, 0); + } + avail[elt] = numb - 1; + if (numb > 0) matches++; + } + + return difflib.__calculate_ratio(matches, this.a.length + this.b.length); + } + + this.real_quick_ratio = function () { + var la = this.a.length; + var lb = this.b.length; + return _calculate_ratio(Math.min(la, lb), la + lb); + } + + this.isjunk = isjunk ? isjunk : difflib.defaultJunkFunction; + this.a = this.b = null; + this.set_seqs(a, b); + } +}; + diff --git a/vendor/scripts/diffview.js b/vendor/scripts/diffview.js new file mode 100644 index 000000000..372753d84 --- /dev/null +++ b/vendor/scripts/diffview.js @@ -0,0 +1,198 @@ +/* +This is part of jsdifflib v1.0. <http://github.com/cemerick/jsdifflib> + +Copyright 2007 - 2011 Chas Emerick <cemerick@snowtide.com>. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are +permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list + of conditions and the following disclaimer in the documentation and/or other materials + provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY Chas Emerick ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Chas Emerick OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the +authors and should not be interpreted as representing official policies, either expressed +or implied, of Chas Emerick. +*/ +diffview = { + /** + * Builds and returns a visual diff view. The single parameter, `params', should contain + * the following values: + * + * - baseTextLines: the array of strings that was used as the base text input to SequenceMatcher + * - newTextLines: the array of strings that was used as the new text input to SequenceMatcher + * - opcodes: the array of arrays returned by SequenceMatcher.get_opcodes() + * - baseTextName: the title to be displayed above the base text listing in the diff view; defaults + * to "Base Text" + * - newTextName: the title to be displayed above the new text listing in the diff view; defaults + * to "New Text" + * - contextSize: the number of lines of context to show around differences; by default, all lines + * are shown + * - viewType: if 0, a side-by-side diff view is generated (default); if 1, an inline diff view is + * generated + */ + buildView: function (params) { + var baseTextLines = params.baseTextLines; + var newTextLines = params.newTextLines; + var opcodes = params.opcodes; + var baseTextName = params.baseTextName ? params.baseTextName : "Base Text"; + var newTextName = params.newTextName ? params.newTextName : "New Text"; + var contextSize = params.contextSize; + var inline = (params.viewType == 0 || params.viewType == 1) ? params.viewType : 0; + + if (baseTextLines == null) + throw "Cannot build diff view; baseTextLines is not defined."; + if (newTextLines == null) + throw "Cannot build diff view; newTextLines is not defined."; + if (!opcodes) + throw "Canno build diff view; opcodes is not defined."; + + function celt (name, clazz) { + var e = document.createElement(name); + e.className = clazz; + return e; + } + + function telt (name, text) { + var e = document.createElement(name); + e.appendChild(document.createTextNode(text)); + return e; + } + + function ctelt (name, clazz, text) { + var e = document.createElement(name); + e.className = clazz; + e.appendChild(document.createTextNode(text)); + return e; + } + + var tdata = document.createElement("thead"); + var node = document.createElement("tr"); + tdata.appendChild(node); + if (inline) { + node.appendChild(document.createElement("th")); + node.appendChild(document.createElement("th")); + node.appendChild(ctelt("th", "texttitle", baseTextName + " vs. " + newTextName)); + } else { + node.appendChild(document.createElement("th")); + node.appendChild(ctelt("th", "texttitle", baseTextName)); + node.appendChild(document.createElement("th")); + node.appendChild(ctelt("th", "texttitle", newTextName)); + } + tdata = [tdata]; + + var rows = []; + var node2; + + /** + * Adds two cells to the given row; if the given row corresponds to a real + * line number (based on the line index tidx and the endpoint of the + * range in question tend), then the cells will contain the line number + * and the line of text from textLines at position tidx (with the class of + * the second cell set to the name of the change represented), and tidx + 1 will + * be returned. Otherwise, tidx is returned, and two empty cells are added + * to the given row. + */ + function addCells (row, tidx, tend, textLines, change) { + if (tidx < tend) { + row.appendChild(telt("th", (tidx + 1).toString())); + row.appendChild(ctelt("td", change, textLines[tidx].replace(/\t/g, "\u00a0\u00a0\u00a0\u00a0"))); + return tidx + 1; + } else { + row.appendChild(document.createElement("th")); + row.appendChild(celt("td", "empty")); + return tidx; + } + } + + function addCellsInline (row, tidx, tidx2, textLines, change) { + row.appendChild(telt("th", tidx == null ? "" : (tidx + 1).toString())); + row.appendChild(telt("th", tidx2 == null ? "" : (tidx2 + 1).toString())); + row.appendChild(ctelt("td", change, textLines[tidx != null ? tidx : tidx2].replace(/\t/g, "\u00a0\u00a0\u00a0\u00a0"))); + } + + for (var idx = 0; idx < opcodes.length; idx++) { + code = opcodes[idx]; + change = code[0]; + var b = code[1]; + var be = code[2]; + var n = code[3]; + var ne = code[4]; + var rowcnt = Math.max(be - b, ne - n); + var toprows = []; + var botrows = []; + for (var i = 0; i < rowcnt; i++) { + // jump ahead if we've alredy provided leading context or if this is the first range + if (contextSize && opcodes.length > 1 && ((idx > 0 && i == contextSize) || (idx == 0 && i == 0)) && change=="equal") { + var jump = rowcnt - ((idx == 0 ? 1 : 2) * contextSize); + if (jump > 1) { + toprows.push(node = document.createElement("tr")); + + b += jump; + n += jump; + i += jump - 1; + node.appendChild(telt("th", "...")); + if (!inline) node.appendChild(ctelt("td", "skip", "")); + node.appendChild(telt("th", "...")); + node.appendChild(ctelt("td", "skip", "")); + + // skip last lines if they're all equal + if (idx + 1 == opcodes.length) { + break; + } else { + continue; + } + } + } + + toprows.push(node = document.createElement("tr")); + if (inline) { + if (change == "insert") { + addCellsInline(node, null, n++, newTextLines, change); + } else if (change == "replace") { + botrows.push(node2 = document.createElement("tr")); + if (b < be) addCellsInline(node, b++, null, baseTextLines, "delete"); + if (n < ne) addCellsInline(node2, null, n++, newTextLines, "insert"); + } else if (change == "delete") { + addCellsInline(node, b++, null, baseTextLines, change); + } else { + // equal + addCellsInline(node, b++, n++, baseTextLines, change); + } + } else { + b = addCells(node, b, be, baseTextLines, change); + n = addCells(node, n, ne, newTextLines, change); + } + } + + for (var i = 0; i < toprows.length; i++) rows.push(toprows[i]); + for (var i = 0; i < botrows.length; i++) rows.push(botrows[i]); + } + + rows.push(node = ctelt("th", "author", "diff view generated by ")); + node.setAttribute("colspan", inline ? 3 : 4); + node.appendChild(node2 = telt("a", "jsdifflib")); + node2.setAttribute("href", "http://github.com/cemerick/jsdifflib"); + + tdata.push(node = document.createElement("tbody")); + for (var idx in rows) rows.hasOwnProperty(idx) && node.appendChild(rows[idx]); + + node = celt("table", "diff" + (inline ? " inlinediff" : "")); + for (var idx in tdata) tdata.hasOwnProperty(idx) && node.appendChild(tdata[idx]); + return node; + } +}; + diff --git a/vendor/styles/diffview.css b/vendor/styles/diffview.css new file mode 100644 index 000000000..811a593b7 --- /dev/null +++ b/vendor/styles/diffview.css @@ -0,0 +1,83 @@ +/* +This is part of jsdifflib v1.0. <http://github.com/cemerick/jsdifflib> + +Copyright 2007 - 2011 Chas Emerick <cemerick@snowtide.com>. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are +permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list + of conditions and the following disclaimer in the documentation and/or other materials + provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY Chas Emerick ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Chas Emerick OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the +authors and should not be interpreted as representing official policies, either expressed +or implied, of Chas Emerick. +*/ +table.diff { + border-collapse:collapse; + border:1px solid darkgray; + white-space:pre-wrap +} +table.diff tbody { + font-family:Courier, monospace +} +table.diff tbody th { + font-family:verdana,arial,'Bitstream Vera Sans',helvetica,sans-serif; + background:#EED; + font-size:11px; + font-weight:normal; + border:1px solid #BBC; + color:#886; + padding:.3em .5em .1em 2em; + text-align:right; + vertical-align:top +} +table.diff thead { + border-bottom:1px solid #BBC; + background:#EFEFEF; + font-family:Verdana +} +table.diff thead th.texttitle { + text-align:left +} +table.diff tbody td { + padding:0px .4em; + padding-top:.4em; + vertical-align:top; +} +table.diff .empty { + background-color:#DDD; +} +table.diff .replace { + background-color:#FD8 +} +table.diff .delete { + background-color:#E99; +} +table.diff .skip { + background-color:#EFEFEF; + border:1px solid #AAA; + border-right:1px solid #BBC; +} +table.diff .insert { + background-color:#9E9 +} +table.diff th.author { + text-align:right; + border-top:1px solid #BBC; + background:#EFEFEF +} \ No newline at end of file From 3c832d3707843ea5a6be8e1247f4a8b40851041a Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Thu, 10 Apr 2014 11:13:33 -0700 Subject: [PATCH 23/79] Added delta views to the other save modals. Fixed modified deltas in delta views. A few style tweaks. --- app/lib/deltas.coffee | 2 +- app/styles/base.sass | 3 +++ app/styles/editor/delta.sass | 7 +++++++ app/styles/modal/save_version.sass | 2 +- app/templates/editor/article/edit.jade | 2 +- app/templates/editor/delta.jade | 3 +++ app/templates/editor/thang/edit.jade | 2 +- app/templates/modal/save_version.jade | 16 ++++++++-------- app/views/editor/article/edit.coffee | 7 ++++++- app/views/editor/level/save_view.coffee | 1 + app/views/editor/thang/edit.coffee | 13 +++++++++---- app/views/kinds/ModalView.coffee | 2 ++ app/views/modal/save_version_modal.coffee | 12 +++++++++++- 13 files changed, 54 insertions(+), 18 deletions(-) diff --git a/app/lib/deltas.coffee b/app/lib/deltas.coffee index e6d8c936d..954af00ba 100644 --- a/app/lib/deltas.coffee +++ b/app/lib/deltas.coffee @@ -54,7 +54,7 @@ module.exports.interpretDelta = (delta, path, left, schema) -> betterDelta.path = betterPath.join(' :: ') betterDelta.schema = childSchema betterDelta.left = childLeft - betterDelta.right = jsondiffpatch.patch childLeft, delta + betterDelta.right = jsondiffpatch.patch childLeft, delta unless betterDelta.action is 'moved-index' betterDelta diff --git a/app/styles/base.sass b/app/styles/base.sass index 72ff4fe2f..2c1ee9309 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -111,6 +111,9 @@ a[data-toggle="modal"] @include box-shadow(0 0 0 #000) //position: absolute width: 99% + + .background-wrapper.plain + background: white .modal-content @include box-shadow(none) diff --git a/app/styles/editor/delta.sass b/app/styles/editor/delta.sass index ec70d3135..f41da3667 100644 --- a/app/styles/editor/delta.sass +++ b/app/styles/editor/delta.sass @@ -34,3 +34,10 @@ color: red .panel-heading background-color: lighten(red, 42%) + + .delta-moved-index + border-color: darkslategray + strong + color: darkslategray + .panel-heading + background-color: lighten(darkslategray, 60%) \ No newline at end of file diff --git a/app/styles/modal/save_version.sass b/app/styles/modal/save_version.sass index b64014ace..256a59a5e 100644 --- a/app/styles/modal/save_version.sass +++ b/app/styles/modal/save_version.sass @@ -1,6 +1,6 @@ #save-version-modal .modal-body - padding: 0px 50px 30px 20px + padding: 10px 50px 30px 20px #cla-link cursor: pointer diff --git a/app/templates/editor/article/edit.jade b/app/templates/editor/article/edit.jade index 4969e30e9..89cbc8bdd 100644 --- a/app/templates/editor/article/edit.jade +++ b/app/templates/editor/article/edit.jade @@ -13,7 +13,7 @@ block content button(data-i18n="general.history").btn.btn-primary#history-button History button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true").btn.btn-primary#revert-button Revert button(data-i18n="article.edit_btn_preview", disabled=authorized === true ? undefined : "true").btn.btn-primary#preview-button Preview - button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true").btn.btn-primary#save-button Save + button(data-i18n="common.save", disabled=authorized === true ? undefined : "true").btn.btn-primary#save-button Save h3(data-i18n="article.edit_article_title") Edit Article span diff --git a/app/templates/editor/delta.jade b/app/templates/editor/delta.jade index 35c3c9a7e..961483324 100644 --- a/app/templates/editor/delta.jade +++ b/app/templates/editor/delta.jade @@ -30,4 +30,7 @@ if delta.action === 'text-diff' .col-md-12 div.text-diff + if delta.action === 'moved-index' + .col-md-12 + span Moved array value #{JSON.stringify(delta.left)} to index #{delta.destinationIndex} - i += 1 \ No newline at end of file diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index 1e8ce462d..556385873 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -13,7 +13,7 @@ block content img#portrait.img-thumbnail button.btn.btn-secondary#history-button(data-i18n="general.history") History - button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save + button.btn.btn-primary#save-button(data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert h3 Edit Thang Type: "#{thangType.attributes.name}" diff --git a/app/templates/modal/save_version.jade b/app/templates/modal/save_version.jade index d1f8fc219..ebeb7d352 100644 --- a/app/templates/modal/save_version.jade +++ b/app/templates/modal/save_version.jade @@ -4,14 +4,14 @@ block modal-header-content h3(data-i18n="versions.save_version_title") Save New Version block modal-body-content - form.form - .form-group - label.control-label(for="commitMessage", data-i18n="general.commit_msg") Commit Message - textarea#commit-message.input-large.form-control(name="commitMessage", type="text") - .form-group - label.control-label(for="level-version-is-major", data-i18n="versions.new_major_version") New Major Version - input#major-version.input-large.form-control(name="version-is-major", type="checkbox") - span.help-block + .changes-stub + form.form-inline + .form-group.commit-message + input.form-control#commit-message(name="commitMessage", type="text", placeholder="Commit Message") + .checkbox + label + input#major-version(name="version-is-major", type="checkbox") + | Major Changes block modal-body-wait-content h3(data-i18n="common.saving") Saving... diff --git a/app/views/editor/article/edit.coffee b/app/views/editor/article/edit.coffee index 875dc6113..1d91558f1 100644 --- a/app/views/editor/article/edit.coffee +++ b/app/views/editor/article/edit.coffee @@ -3,6 +3,7 @@ VersionHistoryView = require './versions_view' ErrorView = require '../../error_view' template = require 'templates/editor/article/edit' Article = require 'models/Article' +SaveVersionModal = require 'views/modal/save_version_modal' module.exports = class ArticleEditView extends View id: "editor-article-edit-view" @@ -12,6 +13,7 @@ module.exports = class ArticleEditView extends View events: 'click #preview-button': 'openPreview' 'click #history-button': 'showVersionHistory' + 'click #save-button': 'openSaveModal' subscriptions: 'save-new-version': 'saveNewArticle' @@ -80,11 +82,14 @@ module.exports = class ArticleEditView extends View return if @startsLoading @showReadOnly() unless me.isAdmin() or @article.hasWriteAccess(me) - openPreview: => + openPreview: -> @preview = window.open('/editor/article/x/preview', 'preview', 'height=800,width=600') @preview.focus() if window.focus @preview.onload = => @pushChangesToPreview() return false + + openSaveModal: -> + @openModalView(new SaveVersionModal({model: @article})) saveNewArticle: (e) -> @treema.endExistingEdits() diff --git a/app/views/editor/level/save_view.coffee b/app/views/editor/level/save_view.coffee index c5d9e718d..b2a6874db 100644 --- a/app/views/editor/level/save_view.coffee +++ b/app/views/editor/level/save_view.coffee @@ -9,6 +9,7 @@ module.exports = class LevelSaveView extends SaveVersionModal template: template instant: false modalWidthPercent: 60 + plain: true events: 'click #save-version-button': 'commitLevel' diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index 660280e54..af88bf030 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -9,6 +9,7 @@ View = require 'views/kinds/RootView' ThangComponentEditView = require 'views/editor/components/main' VersionHistoryView = require './versions_view' ColorsTabView = require './colors_tab_view' +SaveVersionModal = require 'views/modal/save_version_modal' ErrorView = require '../../error_view' template = require 'templates/editor/thang/edit' @@ -33,6 +34,7 @@ module.exports = class ThangTypeEditView extends View 'click #marker-button': 'toggleDots' 'click #end-button': 'endAnimation' 'click #history-button': 'showVersionHistory' + 'click #save-button': 'openSaveModal' subscriptions: 'save-new-version': 'saveNewThangType' @@ -396,11 +398,14 @@ module.exports = class ThangTypeEditView extends View @showAnimation() @showingSelectedNode = false - destroy: -> - @camera?.destroy() - super() - showVersionHistory: (e) -> versionHistoryView = new VersionHistoryView thangType:@thangType, @thangTypeID @openModalView versionHistoryView Backbone.Mediator.publish 'level:view-switched', e + + openSaveModal: -> + @openModalView(new SaveVersionModal({model: @thangType})) + + destroy: -> + @camera?.destroy() + super() diff --git a/app/views/kinds/ModalView.coffee b/app/views/kinds/ModalView.coffee index 5222df067..2bf6ee8db 100644 --- a/app/views/kinds/ModalView.coffee +++ b/app/views/kinds/ModalView.coffee @@ -5,6 +5,7 @@ module.exports = class ModalView extends CocoView closeButton: true closesOnClickOutside: true modalWidthPercent: null + plain: false shortcuts: 'esc': 'hide' @@ -31,6 +32,7 @@ module.exports = class ModalView extends CocoView @$el.on 'hide.bs.modal', => @onHidden() unless @hidden @hidden = true + @$el.find('.background-wrapper').addClass('plain') if @plain afterInsert: -> super() diff --git a/app/views/modal/save_version_modal.coffee b/app/views/modal/save_version_modal.coffee index 86e1ea96b..826ac06ed 100644 --- a/app/views/modal/save_version_modal.coffee +++ b/app/views/modal/save_version_modal.coffee @@ -1,18 +1,28 @@ ModalView = require 'views/kinds/ModalView' template = require 'templates/modal/save_version' +DeltaView = require 'views/editor/delta' module.exports = class SaveVersionModal extends ModalView id: 'save-version-modal' template: template + plain: true events: 'click #save-version-button': 'onClickSaveButton' 'click #cla-link': 'onClickCLALink' 'click #agreement-button': 'onAgreedToCLA' - + + constructor: (options) -> + super options + @model = options.model + afterRender: -> super() @$el.find(if me.get('signedCLA') then '#accept-cla-wrapper' else '#save-version-button').hide() + return unless @model + changeEl = @$el.find('.changes-stub') + deltaView = new DeltaView({model:@model}) + @insertSubView(deltaView, changeEl) onClickSaveButton: -> Backbone.Mediator.publish 'save-new-version', { From a3951b0fa7cab7830fb5875e68f2c879d29b138b Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Thu, 10 Apr 2014 13:09:44 -0700 Subject: [PATCH 24/79] Extended the save version modal to allow submitting patches. --- app/models/CocoModel.coffee | 5 +++ app/models/Patch.coffee | 5 +++ app/styles/modal/save_version.sass | 5 +++ app/templates/modal/save_version.jade | 46 +++++++++++++++-------- app/views/admin/users_view.coffee | 3 +- app/views/editor/level/save_view.coffee | 2 +- app/views/modal/save_version_modal.coffee | 33 +++++++++++++++- server/patches/patch_handler.coffee | 2 +- server/patches/patch_schema.coffee | 5 +-- test/server/functional/patch.spec.coffee | 1 + 10 files changed, 84 insertions(+), 23 deletions(-) create mode 100644 app/models/Patch.coffee diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 669899e6c..de1695490 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -1,5 +1,6 @@ storage = require 'lib/storage' deltasLib = require 'lib/deltas' +auth = require 'lib/auth' class CocoSchema extends Backbone.Model constructor: (path, args...) -> @@ -200,6 +201,8 @@ class CocoModel extends Backbone.Model hasReadAccess: (actor) -> # actor is a User object + actor ?= auth.me + return true if actor.isAdmin() if @get('permissions')? for permission in @get('permissions') if permission.target is 'public' or actor.get('_id') is permission.target @@ -210,6 +213,8 @@ class CocoModel extends Backbone.Model hasWriteAccess: (actor) -> # actor is a User object + actor ?= auth.me + return true if actor.isAdmin() if @get('permissions')? for permission in @get('permissions') if permission.target is 'public' or actor.get('_id') is permission.target diff --git a/app/models/Patch.coffee b/app/models/Patch.coffee new file mode 100644 index 000000000..a88c30941 --- /dev/null +++ b/app/models/Patch.coffee @@ -0,0 +1,5 @@ +CocoModel = require('./CocoModel') + +module.exports = class PatchModel extends CocoModel + @className: "Patch" + urlRoot: "/db/patch" \ No newline at end of file diff --git a/app/styles/modal/save_version.sass b/app/styles/modal/save_version.sass index 256a59a5e..e7ab79751 100644 --- a/app/styles/modal/save_version.sass +++ b/app/styles/modal/save_version.sass @@ -1,6 +1,11 @@ #save-version-modal .modal-body padding: 10px 50px 30px 20px + + .modal-footer + text-align: left + .buttons + text-align: right #cla-link cursor: pointer diff --git a/app/templates/modal/save_version.jade b/app/templates/modal/save_version.jade index ebeb7d352..7fcfd871d 100644 --- a/app/templates/modal/save_version.jade +++ b/app/templates/modal/save_version.jade @@ -1,30 +1,46 @@ extends /templates/modal/modal_base block modal-header-content - h3(data-i18n="versions.save_version_title") Save New Version + if isPatch + h3(data-i18n="versions.submit_patch_title") Submit Patch + else + h3(data-i18n="versions.save_version_title") Save New Version block modal-body-content - .changes-stub - form.form-inline - .form-group.commit-message - input.form-control#commit-message(name="commitMessage", type="text", placeholder="Commit Message") - .checkbox - label - input#major-version(name="version-is-major", type="checkbox") - | Major Changes + if hasChanges + .changes-stub + form.form-inline + .form-group.commit-message + input.form-control#commit-message(name="commitMessage", type="text", placeholder="Commit Message") + if !isPatch + .checkbox + label + input#major-version(name="version-is-major", type="checkbox") + | Major Changes + else + .alert.alert-danger No changes block modal-body-wait-content - h3(data-i18n="common.saving") Saving... + if hasChanges + if isPatch + h3(data-i18n="versions.submitting_patch") Submitting Patch... + else + h3(data-i18n="common.saving") Saving... block modal-footer-content - if !noSaveButton + if hasChanges #accept-cla-wrapper.alert.alert-info span(data-i18n="versions.cla_prefix") To save changes, first you must agree to our | strong#cla-link(data-i18n="versions.cla_url") CLA span(data-i18n="versions.cla_suffix") . - button.btn#agreement-button(data-i18n="versions.cla_agree") I AGREE + button.btn.btn-sm#agreement-button(data-i18n="versions.cla_agree") I AGREE + if isPatch + .alert.alert-info An owner will need to approve it before your changes will become visible. - button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel - if !noSaveButton - button.btn.btn-primary#save-version-button(data-i18n="common.save") Save + .buttons + button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel + if hasChanges && !isPatch + button.btn.btn-primary#save-version-button(data-i18n="common.save") Save + if hasChanges && isPatch + button.btn.btn-primary#submit-patch-button(data-i18n="versions.submit_patch") Submit Patch \ No newline at end of file diff --git a/app/views/admin/users_view.coffee b/app/views/admin/users_view.coffee index c19c7bd37..acc9a8152 100644 --- a/app/views/admin/users_view.coffee +++ b/app/views/admin/users_view.coffee @@ -38,8 +38,7 @@ module.exports = class UsersView extends View @users.fetch() @listenTo(@users, 'all', @render) - getRenderData: => + getRenderData: -> c = super() c.users = (user.attributes for user in @users.models) - console.log('our render data', c) c \ No newline at end of file diff --git a/app/views/editor/level/save_view.coffee b/app/views/editor/level/save_view.coffee index b2a6874db..33d94370b 100644 --- a/app/views/editor/level/save_view.coffee +++ b/app/views/editor/level/save_view.coffee @@ -25,7 +25,7 @@ module.exports = class LevelSaveView extends SaveVersionModal context.levelNeedsSave = @level.hasLocalChanges() context.modifiedComponents = _.filter @supermodel.getModels(LevelComponent), @shouldSaveEntity context.modifiedSystems = _.filter @supermodel.getModels(LevelSystem), @shouldSaveEntity - context.noSaveButton = not (context.levelNeedsSave or context.modifiedComponents.length or context.modifiedSystems.length) + context.hasChanges = (context.levelNeedsSave or context.modifiedComponents.length or context.modifiedSystems.length) @lastContext = context context diff --git a/app/views/modal/save_version_modal.coffee b/app/views/modal/save_version_modal.coffee index 826ac06ed..db4c45de3 100644 --- a/app/views/modal/save_version_modal.coffee +++ b/app/views/modal/save_version_modal.coffee @@ -1,6 +1,8 @@ ModalView = require 'views/kinds/ModalView' template = require 'templates/modal/save_version' DeltaView = require 'views/editor/delta' +Patch = require 'models/Patch' +forms = require 'lib/forms' module.exports = class SaveVersionModal extends ModalView id: 'save-version-modal' @@ -11,15 +13,23 @@ module.exports = class SaveVersionModal extends ModalView 'click #save-version-button': 'onClickSaveButton' 'click #cla-link': 'onClickCLALink' 'click #agreement-button': 'onAgreedToCLA' + 'click #submit-patch-button': 'onClickPatchButton' constructor: (options) -> super options @model = options.model + new Patch() + @isPatch = not @model.hasWriteAccess() + + getRenderData: -> + c = super() + c.isPatch = @isPatch + c.hasChanges = @model.hasLocalChanges() + c afterRender: -> super() @$el.find(if me.get('signedCLA') then '#accept-cla-wrapper' else '#save-version-button').hide() - return unless @model changeEl = @$el.find('.changes-stub') deltaView = new DeltaView({model:@model}) @insertSubView(deltaView, changeEl) @@ -30,6 +40,27 @@ module.exports = class SaveVersionModal extends ModalView commitMessage: @$el.find('#commit-message').val() } + onClickPatchButton: -> + forms.clearFormAlerts @$el + patch = new Patch() + patch.set 'delta', @model.getDelta() + patch.set 'commitMessage', @$el.find('#commit-message').val() + patch.set 'target', { + 'collection': _.string.underscored @model.constructor.className + 'id': @model.id + } + errors = patch.validate() + forms.applyErrorsToForm(@$el, errors) if errors + res = patch.save() + return unless res + @enableModalInProgress(@$el) + + res.error => + @disableModalInProgress(@$el) + + res.success => + @hide() + onClickCLALink: -> window.open('/cla', 'cla', 'height=800,width=900') diff --git a/server/patches/patch_handler.coffee b/server/patches/patch_handler.coffee index a9a26e05b..c38068ae5 100644 --- a/server/patches/patch_handler.coffee +++ b/server/patches/patch_handler.coffee @@ -7,7 +7,7 @@ mongoose = require('mongoose') PatchHandler = class PatchHandler extends Handler modelClass: Patch editableProperties: [] - postEditableProperties: ['delta', 'target'] + postEditableProperties: ['delta', 'target', 'commitMessage'] jsonSchema: require './patch_schema' makeNewInstance: (req) -> diff --git a/server/patches/patch_schema.coffee b/server/patches/patch_schema.coffee index 7e02f4b8a..eae980d4e 100644 --- a/server/patches/patch_schema.coffee +++ b/server/patches/patch_schema.coffee @@ -2,10 +2,9 @@ c = require '../commons/schemas' patchables = ['level', 'thang_type', 'level_system', 'level_component', 'article'] -PatchSchema = c.object({title:'Patch', required:['target', 'delta']}, { +PatchSchema = c.object({title:'Patch', required:['target', 'delta', 'commitMessage']}, { delta: { title: 'Delta', type:['array', 'object'] } - title: c.shortString() - description: c.shortString({maxLength: 500}) + commitMessage: c.shortString({maxLength: 500, minLength: 1}) creator: c.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}]) created: c.date( { title: 'Created', readOnly: true }) status: { enum: ['pending', 'accepted', 'rejected', 'withdrawn']} diff --git a/test/server/functional/patch.spec.coffee b/test/server/functional/patch.spec.coffee index b9875a814..d8694baf0 100644 --- a/test/server/functional/patch.spec.coffee +++ b/test/server/functional/patch.spec.coffee @@ -14,6 +14,7 @@ describe '/db/patch', -> patchURL = getURL('/db/patch') patches = {} patch = + commitMessage: 'Accept this patch!' delta: {name:['test']} target: id:null From f2332b069476025afa5bf4d56a9c8926bbf54d2b Mon Sep 17 00:00:00 2001 From: Jasper D'haene <jasper.dhaene@hotmail.com> Date: Fri, 11 Apr 2014 08:49:24 +0200 Subject: [PATCH 25/79] Completed + reviewed latest Dutch locale changes --- app/locale/nl-BE.coffee | 58 +++++++++---------- app/locale/nl-NL.coffee | 58 +++++++++---------- app/locale/nl.coffee | 58 +++++++++---------- .../coco-dev-setup/batch/localisation/nl.coco | 58 +++++++++---------- 4 files changed, 116 insertions(+), 116 deletions(-) diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index abcd96599..3410c394f 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -1,4 +1,4 @@ -module.exports = nativeDescription: "Nederlands (België)", englishDescription: "Dutch (Belgium)", translation: +module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: common: loading: "Aan het laden..." saving: "Opslaan..." @@ -12,7 +12,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: manual: "Handleiding" fork: "Fork" play: "Spelen" -# retry: "Retry" + retry: "Probeer opnieuw" units: second: "seconde" @@ -30,7 +30,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: page_not_found: "Pagina niet gevonden" nav: - play: "Spelen" + play: "Levels" editor: "Editor" blog: "Blog" forum: "Forum" @@ -265,8 +265,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" -# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" -# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" + tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" time_current: "Nu:" time_total: "Maximum:" time_goto: "Ga naar:" @@ -327,7 +327,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: article_search_title: "Zoek Artikels Hier" thang_search_title: "Zoek Thang Types Hier" level_search_title: "Zoek Levels Hier" -# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." article: edit_btn_preview: "Voorbeeld" @@ -593,7 +593,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: introducing_dungeon_arena: "Introductie van Dungeon Arena" new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" fork_our_arenas: "onze arenas forken" @@ -603,26 +603,26 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." so_ready: "Ik ben hier zo klaar voor" -# loading_error: -# could_not_load: "Error loading from server" -# connection_failure: "Connection failed." -# unauthorized: "You need to be signed in. Do you have cookies disabled?" -# forbidden: "You do not have the permissions." -# not_found: "Not found." -# not_allowed: "Method not allowed." -# timeout: "Server timeout." -# conflict: "Resource conflict." -# bad_input: "Bad input." -# server_error: "Server error." -# unknown: "Unknown error." + loading_error: + could_not_load: "Fout bij het laden van de server" + connection_failure: "Verbinding mislukt." + unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" + forbidden: "Je hebt hier geen toestemming voor." + not_found: "Niet gevonden." + not_allowed: "Methode niet toegestaan." + timeout: "Server timeout." + conflict: "Conflict van resources" + bad_input: "Slechte input." + server_error: "Fout van de server." + unknown: "Onbekende fout." -# resources: -# your_sessions: "Your Sessions" -# level: "Level" -# social_network_apis: "Social Network APIs" -# facebook_status: "Facebook Status" -# facebook_friends: "Facebook Friends" -# facebook_friend_sessions: "Facebook Friend Sessions" -# gplus_friends: "G+ Friends" -# gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" + resources: + your_sessions: "Jouw sessies." + level: "Level" + social_network_apis: "Sociale netwerk APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook vrienden" + facebook_friend_sessions: "Sessies van Facebook vrienden" + gplus_friends: "G+ vrienden" + gplus_friend_sessions: "Sessies van G+ vrienden" + leaderboard: "Scorebord" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index bafb7d160..3410c394f 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -1,4 +1,4 @@ -module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: +module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: common: loading: "Aan het laden..." saving: "Opslaan..." @@ -12,7 +12,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription manual: "Handleiding" fork: "Fork" play: "Spelen" -# retry: "Retry" + retry: "Probeer opnieuw" units: second: "seconde" @@ -30,7 +30,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription page_not_found: "Pagina niet gevonden" nav: - play: "Spelen" + play: "Levels" editor: "Editor" blog: "Blog" forum: "Forum" @@ -265,8 +265,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" -# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" -# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" + tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" time_current: "Nu:" time_total: "Maximum:" time_goto: "Ga naar:" @@ -327,7 +327,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription article_search_title: "Zoek Artikels Hier" thang_search_title: "Zoek Thang Types Hier" level_search_title: "Zoek Levels Hier" -# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." article: edit_btn_preview: "Voorbeeld" @@ -593,7 +593,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription introducing_dungeon_arena: "Introductie van Dungeon Arena" new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" fork_our_arenas: "onze arenas forken" @@ -603,26 +603,26 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." so_ready: "Ik ben hier zo klaar voor" -# loading_error: -# could_not_load: "Error loading from server" -# connection_failure: "Connection failed." -# unauthorized: "You need to be signed in. Do you have cookies disabled?" -# forbidden: "You do not have the permissions." -# not_found: "Not found." -# not_allowed: "Method not allowed." -# timeout: "Server timeout." -# conflict: "Resource conflict." -# bad_input: "Bad input." -# server_error: "Server error." -# unknown: "Unknown error." + loading_error: + could_not_load: "Fout bij het laden van de server" + connection_failure: "Verbinding mislukt." + unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" + forbidden: "Je hebt hier geen toestemming voor." + not_found: "Niet gevonden." + not_allowed: "Methode niet toegestaan." + timeout: "Server timeout." + conflict: "Conflict van resources" + bad_input: "Slechte input." + server_error: "Fout van de server." + unknown: "Onbekende fout." -# resources: -# your_sessions: "Your Sessions" -# level: "Level" -# social_network_apis: "Social Network APIs" -# facebook_status: "Facebook Status" -# facebook_friends: "Facebook Friends" -# facebook_friend_sessions: "Facebook Friend Sessions" -# gplus_friends: "G+ Friends" -# gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" + resources: + your_sessions: "Jouw sessies." + level: "Level" + social_network_apis: "Sociale netwerk APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook vrienden" + facebook_friend_sessions: "Sessies van Facebook vrienden" + gplus_friends: "G+ vrienden" + gplus_friend_sessions: "Sessies van G+ vrienden" + leaderboard: "Scorebord" diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index ad5127239..bf3d4c5a6 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -1,4 +1,4 @@ -module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", translation: +module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", translation: common: loading: "Aan het laden..." saving: "Opslaan..." @@ -12,7 +12,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t manual: "Handleiding" fork: "Fork" play: "Spelen" -# retry: "Retry" + retry: "Probeer opnieuw" units: second: "seconde" @@ -30,7 +30,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t page_not_found: "Pagina niet gevonden" nav: - play: "Spelen" + play: "Levels" editor: "Editor" blog: "Blog" forum: "Forum" @@ -265,8 +265,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" -# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" -# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" + tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" time_current: "Nu:" time_total: "Maximum:" time_goto: "Ga naar:" @@ -327,7 +327,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t article_search_title: "Zoek Artikels Hier" thang_search_title: "Zoek Thang Types Hier" level_search_title: "Zoek Levels Hier" -# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." article: edit_btn_preview: "Voorbeeld" @@ -593,7 +593,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t introducing_dungeon_arena: "Introductie van Dungeon Arena" new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" fork_our_arenas: "onze arenas forken" @@ -603,26 +603,26 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." so_ready: "Ik ben hier zo klaar voor" -# loading_error: -# could_not_load: "Error loading from server" -# connection_failure: "Connection failed." -# unauthorized: "You need to be signed in. Do you have cookies disabled?" -# forbidden: "You do not have the permissions." -# not_found: "Not found." -# not_allowed: "Method not allowed." -# timeout: "Server timeout." -# conflict: "Resource conflict." -# bad_input: "Bad input." -# server_error: "Server error." -# unknown: "Unknown error." + loading_error: + could_not_load: "Fout bij het laden van de server" + connection_failure: "Verbinding mislukt." + unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" + forbidden: "Je hebt hier geen toestemming voor." + not_found: "Niet gevonden." + not_allowed: "Methode niet toegestaan." + timeout: "Server timeout." + conflict: "Conflict van resources" + bad_input: "Slechte input." + server_error: "Fout van de server." + unknown: "Onbekende fout." -# resources: -# your_sessions: "Your Sessions" -# level: "Level" -# social_network_apis: "Social Network APIs" -# facebook_status: "Facebook Status" -# facebook_friends: "Facebook Friends" -# facebook_friend_sessions: "Facebook Friend Sessions" -# gplus_friends: "G+ Friends" -# gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" + resources: + your_sessions: "Jouw sessies." + level: "Level" + social_network_apis: "Sociale netwerk APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook vrienden" + facebook_friend_sessions: "Sessies van Facebook vrienden" + gplus_friends: "G+ vrienden" + gplus_friend_sessions: "Sessies van G+ vrienden" + leaderboard: "Scorebord" diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco index 294b1ae89..d45ed8bf3 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco @@ -8,60 +8,60 @@ <install> <system> <bit>-bit computer gedetecteerd.</bit> - <prefix>Het besturingsysteem</prefix> + <prefix>Het besturingssysteem</prefix> <sufix>is gedetecteerd.</sufix> - <xp>Wij ondersteunen Windows XP niet, installatie geanulleerd.</xp> + <xp>Wij ondersteunen Windows XP niet, installatie geannuleerd.</xp> </system> <process> - <sks>Heb je alle benodige software al geinstalleerd?</sks> + <sks>Heb je alle benodige software al ge�nstalleerd?</sks> <skq>We raden aan dat je negatief antwoord indien je niet zeker bent.</skq> - <skc>De installatie van software wordt geanulleerd...</skc> + <skc>De installatie van software wordt geannuleerd...</skc> <s1>CodeCombat kon niet worden ontwikkeld zonder third-party software.</s1> <s2>Dat is waarom je deze software moet installeren,</s2> - <s3>zodat je je kan beginnen met het bijdragen tot onze gemeenschap.</s3> + <s3>zodat je kan beginnen met het bijdragen tot onze gemeenschap.</s3> <s4>Annuleer de installatie als je de applicatie al hebt.</s4> - <winpath>Zorg er zeker voor dat je de optie selecteert dat de applicatie aan je Windows Path toevoegt, als de optie beschikbaar is.</winpath> + <winpath>Zorg er zeker voor dat je de optie selecteert die de applicatie aan je Windows Path toevoegt, als deze optie beschikbaar is.</winpath> <prefix>Heb je al de laatste versie van</prefix> - <sufix>geinstalleerd?</sufix> + <sufix>ge�nstalleerd?</sufix> <downloading>is aan het downloaden...</downloading> <installing>is aan het installeren...</installing> <unzipping>is aan het uitpakken...</unzipping> <cleaning>is aan het opkuisen...</cleaning> - <mongodbpath>Geef het volledige pad op, waar mongodb mag worden geinstalleerd</mongodbpath> + <mongodbpath>Geef het volledige pad op waar mongodb mag worden ge�nstalleerd</mongodbpath> </process> </install> <github> <intro> - <opensource>CodeCombat is opensource, zoals je waarschijnlijk wel al weet.</opensource> - <online>Je kan al onze sourcecode vinden op Github.</online> - <manual>Indien je wil, kan je de Git setup manueel doen.</manual> - <norec>Maar wij raden aan dat je ons dit automatisch laat afhandellen.</norec> + <opensource>CodeCombat is open-source, zoals je waarschijnlijk wel al weet.</opensource> + <online>Je kunt al onze source code vinden op Github.</online> + <manual>Indien je wil, kan je de Git setup ook manueel doen.</manual> + <norec>Maar wij raden aan dat je ons dit automatisch laat afhandelen.</norec> </intro> <skip> <question>Wil je de lokale Git setup manueel doen?</question> <consequence>Zorg er zeker voor dat jouw git repository correct is.</consequence> - <donotclose>Sluit dit venster niet alsjeblieft.</donotclose> - <wait>Wanneer je klaar bent, druk dan eender welke toets om verder te gaan...</wait> + <donotclose>Sluit dit venster alsjeblieft niet.</donotclose> + <wait>Wanneer je klaar bent, druk dan op eender welke toets om verder te gaan...</wait> </skip> <process> - <path>Geef alsjeblieft het volledige pad van je CodeCombat git repository: </path> - <checkout>Geef alsjeblieft het volledige pad waar je de CodeCombat Ontwikkelings omgeving will installeren</checkout> + <path>Geef alsjeblieft het volledige pad in van je CodeCombat git repository: </path> + <checkout>Geef alsjeblieft het volledige pad in waar je de CodeCombat ontwikkelingsomgeving wilt installeren</checkout> <bashi>Deze installatie maakt gebruik van Git Bash.</bashi> - <bashp64>Git bash is normaal geinstalleerd in 'C:\Program Files (x86)\Git'.</bashp64> - <bashp32>Git bash is normaal geinstalleerd in 'C:\Program Files\Git'.</bashp32> - <bashq>Geef alsjeblieft het volledige pad op van Git Bash of druk gewoon op enter indien je het pad niet gewijzigd heeft</bashq> + <bashp64>Git bash is normaal gezien ge�nstalleerd in 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash is normaal gezien ge�nstalleerd in 'C:\Program Files\Git'.</bashp32> + <bashq>Geef alsjeblieft het volledige pad op van Git Bash of druk gewoon op enter indien je het pad niet gewijzigd hebt.</bashq> <ssh>Wil je het git project downloaden via ssh?</ssh> </process> </github> <npm> - <install>Installing bower, brunch, nodemon and sendwithus...</install> - <binstall>Installing bower packages...</binstall> - <sass>Installing sass...</sass> - <npm>Installing npm...</npm> - <brnch>Starting brunch....</brnch> - <mongodb>Setting up a MongoDB database for you...</mongodb> - <database>Downloading the last version of the CodeCombat database...</database> - <script>Preparing the automatic startup script for you...</script> + <install>Bezig met het installeren van bower, brunch, nodemon en sendwithus...</install> + <binstall>Bower packages worden ge�nstalleerd...</binstall> + <sass>Sass wordt ge�nstalleerd...</sass> + <npm>Npm wordt ge�nstalleerd...</npm> + <brnch>Brunch wordt gestart...</brnch> + <mongodb>De MongoDB database wordt voor je klaargemaakt...</mongodb> + <database>De laatste versie van de CodeCombat database wordt gedownload...</database> + <script>Het automatische start-script wordt voor je klaargemaakt...</script> <close>Niet sluiten!</close> </npm> <error> @@ -69,12 +69,12 @@ <exist>Dat pad bestaat niet, probeer alsjeblieft opnieuw...</exist> </error> <end> - <succesfull>De installatie van de CodeCombat-Ontwikkelings omgeving was succesvol.</succesfull> + <succesfull>De installatie van de CodeCombat ontwikkelingsomgeving was succesvol.</succesfull> <thankyou>Alvast bedankt voor al je werk en tot binnenkort.</thankyou> <readme>Wil je de LEESMIJ lezen voor meer informatie?</readme> </end> <start> - <s1>Vanaf nu kan je de ontwikkelings omgeving opstarten</s1> + <s1>Vanaf nu kan je de ontwikkelingsomgeving opstarten</s1> <s2>met het gemak van een enkele muisklik.</s2> <s3> 1) Dubbelklik op</s3> <s4>en laat de omgeving opstarten.</s4> From c2c0496883a5cdea8017425406add33a7e5c3c6e Mon Sep 17 00:00:00 2001 From: Ruben Vereecken <rubenvereecken@gmail.com> Date: Fri, 11 Apr 2014 14:22:49 +0200 Subject: [PATCH 26/79] Added schema stubs for about everything --- app/schemas/definitions/bus.coffee | 14 +++ app/schemas/definitions/misc.coffee | 12 +++ app/schemas/subscriptions/app.coffee | 18 ++++ app/schemas/subscriptions/bus.coffee | 27 ++++++ app/schemas/subscriptions/editor.coffee | 78 +++++++++++++++ app/schemas/subscriptions/errors.coffee | 5 + app/schemas/subscriptions/level.coffee | 66 +++++++++++++ app/schemas/subscriptions/misc.coffee | 20 ++++ app/schemas/subscriptions/play.coffee | 118 +++++++++++++++++++++++ app/schemas/subscriptions/surface.coffee | 96 ++++++++++++++++++ app/schemas/subscriptions/tome.coffee | 73 ++++++++++++++ app/schemas/subscriptions/user.coffee | 9 ++ app/schemas/subscriptions/world.coffee | 15 +++ config.coffee | 2 + vendor/scripts/backbone-mediator.js | 96 ++++++++++++++---- 15 files changed, 629 insertions(+), 20 deletions(-) create mode 100644 app/schemas/definitions/bus.coffee create mode 100644 app/schemas/definitions/misc.coffee create mode 100644 app/schemas/subscriptions/app.coffee create mode 100644 app/schemas/subscriptions/bus.coffee create mode 100644 app/schemas/subscriptions/editor.coffee create mode 100644 app/schemas/subscriptions/errors.coffee create mode 100644 app/schemas/subscriptions/level.coffee create mode 100644 app/schemas/subscriptions/misc.coffee create mode 100644 app/schemas/subscriptions/play.coffee create mode 100644 app/schemas/subscriptions/surface.coffee create mode 100644 app/schemas/subscriptions/tome.coffee create mode 100644 app/schemas/subscriptions/user.coffee create mode 100644 app/schemas/subscriptions/world.coffee diff --git a/app/schemas/definitions/bus.coffee b/app/schemas/definitions/bus.coffee new file mode 100644 index 000000000..b5625025e --- /dev/null +++ b/app/schemas/definitions/bus.coffee @@ -0,0 +1,14 @@ +module.exports = + bus: + title: "Bus" + id: "bus" + $schema: "http://json-schema.org/draft-04/schema#" + description: "Bus" # TODO + type: "object" + properties: # TODO + joined: + type: "boolean" + players: + type: "object" + required: ["joined", "players"] + additionalProperties: false \ No newline at end of file diff --git a/app/schemas/definitions/misc.coffee b/app/schemas/definitions/misc.coffee new file mode 100644 index 000000000..bbf9f5c02 --- /dev/null +++ b/app/schemas/definitions/misc.coffee @@ -0,0 +1,12 @@ +module.exports = + jQueryEvent: + title: "jQuery Event" + id: "jQueryEvent" + $schema: "http://json-schema.org/draft-04/schema#" + description: "A standard jQuery Event" + type: "object" + properties: # TODO schema complete + altKey: + type: "boolean" + required: [] + additionalProperties: true diff --git a/app/schemas/subscriptions/app.coffee b/app/schemas/subscriptions/app.coffee new file mode 100644 index 000000000..7d0673751 --- /dev/null +++ b/app/schemas/subscriptions/app.coffee @@ -0,0 +1,18 @@ +module.exports = + "application:idle-changed": + {} # TODO schema + + "logging-in-with-facebook": + {} # TODO schema + + "facebook-logged-in": + {} # TODO schema + + "gapi-loaded": + {} # TODO schema + + "logging-in-with-gplus": + {} # TODO schema + + "gplus-logged-in": + {} # TODO schema diff --git a/app/schemas/subscriptions/bus.coffee b/app/schemas/subscriptions/bus.coffee new file mode 100644 index 000000000..549793f3b --- /dev/null +++ b/app/schemas/subscriptions/bus.coffee @@ -0,0 +1,27 @@ +module.exports = + "bus:connecting": + title: "Bus Connecting" + $schema: "http://json-schema.org/draft-04/schema#" + description: "Published when a Bus starts connecting" + type: "object" + properties: + bus: + $ref: "bus" + + "bus:connected": + {} # TODO schema + + "bus:disconnected": + {} # TODO schema + + "bus:new-message": + {} # TODO schema + + "bus:player-joined": + {} # TODO schema + + "bus:player-left": + {} # TODO schema + + "bus:player-states-changed": + {} # TODO schema \ No newline at end of file diff --git a/app/schemas/subscriptions/editor.coffee b/app/schemas/subscriptions/editor.coffee new file mode 100644 index 000000000..eba61f772 --- /dev/null +++ b/app/schemas/subscriptions/editor.coffee @@ -0,0 +1,78 @@ +module.exports = + "save-new-version": + title: "Save New Version" + $schema: "http://json-schema.org/draft-04/schema#" + description: "Published when a version gets saved" + type: "object" + properties: + major: + type: "boolean" + commitMessage: + type: "string" + required: ["major", "commitMessage"] + additionalProperties: false + + # TODO all these events starting with 'level:' should have 'editor' in their name + # to avoid confusion with level play events + + "level:view-switched": + title: "Level View Switched" + $schema: "http://json-schema.org/draft-04/schema#" + description: "Published whenever the view switches" + $ref: "jQueryEvent" + + "level-components-changed": + {} # TODO schema + + "edit-level-component": + {} # TODO schema + + "level-component-edited": + {} # TODO schema + + "level-component-editing-ended": + {} # TODO schema + + "level-systems-changed": + {} # TODO schema + + "edit-level-system": + {} # TODO schema + + "level-system-added": + {} # TODO schema + + "level-system-edited": + {} # TODO schema + + "level-system-editing-ended": + {} # TODO schema + + "level-thangs-changed": + title: "Level Thangs Changed" + $schema: "http://json-schema.org/draft-04/schema#" + description: "Published when a Thang changes" + type: "object" + properties: + thangsData: + type: "array" + required: ["thangsData"] + additionalProperties: false + + "edit-level-thang": + {} # TODO schema + + "level-thang-edited": + {} # TODO schema + + "level-thang-done-editing": + {} # TODO schema + + "level-loaded": + {} # TODO schema + + "level-reload-from-data": + {} # TODO schema + + "save-new-version": + {} # TODO schema diff --git a/app/schemas/subscriptions/errors.coffee b/app/schemas/subscriptions/errors.coffee new file mode 100644 index 000000000..4fa0e33ef --- /dev/null +++ b/app/schemas/subscriptions/errors.coffee @@ -0,0 +1,5 @@ +module.exports = + # app/lib/errors + "server-error": + {} # TODO schema + diff --git a/app/schemas/subscriptions/level.coffee b/app/schemas/subscriptions/level.coffee new file mode 100644 index 000000000..8d3d691ef --- /dev/null +++ b/app/schemas/subscriptions/level.coffee @@ -0,0 +1,66 @@ +module.exports = + # TODO location is debatable + "echo-self-wizard-sprite": + {} # TODO schema + + "level:session-will-save": + {} # TODO schema + + "level-loader:progress-changed": + {} # TODO schema + + "level:shift-space-pressed": + {} # TODO schema + + "level:escape-pressed": + {} # TODO schema + + "level-enable-controls": + {} # TODO schema + + "level-set-letterbox": + {} # TODO schema + + "level:started": + {} # TODO schema + + "level-set-debug": + {} # TODO schema + + "level-set-grid": + {} # TODO schema + + "tome:cast-spell": + {} # TODO schema + + "level:restarted": + {} # TODO schema + + "level-set-volume": + {} # TODO schema + + "level-set-time": + {} # TODO schema + + "level-select-sprite": + {} # TODO schema + + "level-set-playing": + {} # TODO schema + + "level:team-set": + {} # TODO schema + + "level:docs-hidden": + {} # TODO schema + + "level:victory-hidden": + {} # TODO schema + + + + # TODO location is debatable + "goal-manager:new-goal-states": + {} # TODO schema + + diff --git a/app/schemas/subscriptions/misc.coffee b/app/schemas/subscriptions/misc.coffee new file mode 100644 index 000000000..5834aaff8 --- /dev/null +++ b/app/schemas/subscriptions/misc.coffee @@ -0,0 +1,20 @@ +module.exports = + "audio-played:loaded": + {} # TODO schema + + # TODO location is debatable + "note-group-started": + {} # TODO schema + + "note-group-ended": + {} # TODO schema + + "modal-closed": + {} # TODO schema + + # TODO I propose prepending 'modal:' + "save-new-version": + {} # TODO schema + + "router:navigate": + {} # TODO schema diff --git a/app/schemas/subscriptions/play.coffee b/app/schemas/subscriptions/play.coffee new file mode 100644 index 000000000..a9e41b27f --- /dev/null +++ b/app/schemas/subscriptions/play.coffee @@ -0,0 +1,118 @@ +module.exports = + # TODO There should be a better way to subdivide these channels + + # TODO location is debatable + "echo-self-wizard-sprite": + {} # TODO schema + + "level:session-will-save": + {} # TODO schema + + "level-loader:progress-changed": + {} # TODO schema + + "level:shift-space-pressed": + {} # TODO schema + + "level:escape-pressed": + {} # TODO schema + + "level-enable-controls": + {} # TODO schema + + "level-set-letterbox": + {} # TODO schema + + "level:started": + {} # TODO schema + + "level-set-debug": + {} # TODO schema + + "level-set-grid": + {} # TODO schema + + "tome:cast-spell": + {} # TODO schema + + "level:restarted": + {} # TODO schema + + "level-set-volume": + {} # TODO schema + + "level-set-time": + {} # TODO schema + + "level-select-sprite": + {} # TODO schema + + "level-set-playing": + {} # TODO schema + + "level:team-set": + {} # TODO schema + + "level:docs-hidden": + {} # TODO schema + + "level:victory-hidden": + {} # TODO schema + + "next-game-pressed": + {} # TODO schema + + "focus-editor": + {} # TODO schema + + "end-current-script": + {} # TODO schema + + "script:reset": + {} # TODO schema + + "script:ended": + {} # TODO schema + + "script:state-changed": + {} # TODO schema + + "play-sound": + {} # TODO schema + + # TODO refactor name + "onLoadingViewUnveiled": + {} # TODO schema + + "playback:manually-scrubbed": + {} # TODO schema + + "change:editor-config": + {} # TODO schema + + "restart-level": + {} # TODO schema + + "play-next-level": + {} # TODO schema + + "level-select-sprite": + {} # TODO schema + + "level-toggle-grid": + {} # TODO schema + + "level-toggle-debug": + {} # TODO schema + + "level-toggle-pathfinding": + {} # TODO schema + + "level-scrub-forward": + {} # TODO schema + + "level-scrub-back": + {} # TODO schema + + "goal-manager:new-goal-states": + {} # TODO schema diff --git a/app/schemas/subscriptions/surface.coffee b/app/schemas/subscriptions/surface.coffee new file mode 100644 index 000000000..6fa5f2415 --- /dev/null +++ b/app/schemas/subscriptions/surface.coffee @@ -0,0 +1,96 @@ +module.exports = # /app/lib/surface + "camera-dragged": + {} # TODO schema + + "camera-zoom-in": + {} # TODO schema + + "camera-zoom-out": + {} # TODO schema + + "camera-zoom-to": + {} # TODO schema + + "camera:zoom-updated": + {} # TODO schema + + "sprite:speech-updated": + {} # TODO schema + + "dialogue-sound-completed": + {} # TODO schema + + "surface:gold-changed": + {} # TODO schema + + "surface:coordinate-selected": + {} # TODO schema + + "surface:coordinates-shown": + {} # TODO schema + + "level-sprite-clear-dialogue": + {} # TODO schema + + "sprite:loaded": + {} # TODO schema + + "choose-point": + {} # TODO schema + + "choose-region": + {} # TODO schema + + "surface:new-thang-added": + {} # TODO schema + + "surface:sprite-selected": + {} # TODO schema + + "thang-began-talking": + {} # TODO schema + + "thang-finished-talking": + {} # TODO schema + + "surface:world-set-up": + {} # TODO schema + + "surface:frame-changed": + {} # TODO schema + + "surface:playback-ended": + {} # TODO schema + + "surface:playback-restarted": + {} # TODO schema + + "level-set-playing": + {} # TODO schema + + "registrar-echo-states": + {} # TODO schema + + "surface:mouse-moved": + {} # TODO schema + + "surface:stage-mouse-down": + {} # TODO schema + + "surface:mouse-scrolled": + {} # TODO schema + + "surface:ticked": + {} # TODO schema + + "surface:mouse-over": + {} # TODO schema + + "surface:mouse-out": + {} # TODO schema + + "self-wizard:target-changed": + {} # TODO schema + + "echo-all-wizard-sprites": + {} # TODO schema diff --git a/app/schemas/subscriptions/tome.coffee b/app/schemas/subscriptions/tome.coffee new file mode 100644 index 000000000..7c6a5a11f --- /dev/null +++ b/app/schemas/subscriptions/tome.coffee @@ -0,0 +1,73 @@ +module.exports = + "tome:cast-spell": + {} # TODO schema + + # TODO do we really need both 'cast-spell' and 'cast-spells'? + "tome:cast-spells": + {} # TODO schema + + "tome:manual-cast": + {} # TODO schema + + "tome:spell-created": + {} # TODO schema + + "tome:spell-debug-property-hovered": + {} # TODO schema + + "tome:toggle-spell-list": + {} # TODO schema + + "tome:reload-code": + {} # TODO schema + + "tome:palette-hovered": + {} # TODO schema + + "tome:palette-pin-toggled": + {} # TODO schema + + "tome:palette-clicked": + {} # TODO schema + + "tome:spell-statement-index-updated": + {} # TODO schema + + # TODO proposition: refactor 'tome' into spell events + "spell-beautify": + {} # TODO schema + + "spell-step-forward": + {} # TODO schema + + "spell-step-backward": + {} # TODO schema + + "tome:spell-loaded": + {} # TODO schema + + "tome:cast-spell": + {} # TODO schema + + "tome:spell-changed": + {} # TODO schema + + "tome:editing-ended": + {} # TODO schema + + "tome:editing-began": + {} # TODO schema + + "tome:problems-updated": + {} # TODO schema + + "tome:thang-list-entry-popover-shown": + {} # TODO schema + + "tome:spell-shown": + {} # TODO schema + + # TODO proposition: add tome to name + "focus-editor": + {} # TODO schema + diff --git a/app/schemas/subscriptions/user.coffee b/app/schemas/subscriptions/user.coffee new file mode 100644 index 000000000..44e713777 --- /dev/null +++ b/app/schemas/subscriptions/user.coffee @@ -0,0 +1,9 @@ +module.exports = + "me:synced": + {} # TODO schema + + "user-fetched": + {} # TODO schema + + "edit-wizard-settings": + {} # TODO schema diff --git a/app/schemas/subscriptions/world.coffee b/app/schemas/subscriptions/world.coffee new file mode 100644 index 000000000..d5e953de4 --- /dev/null +++ b/app/schemas/subscriptions/world.coffee @@ -0,0 +1,15 @@ +module.exports = + "god:user-code-problem": + {} # TODO schema + + "god:infinite-loop": + {} # TODO schema + + "god:user-code-problem": + {} # TODO schema + + "god:new-world-created": + {} # TODO schema + + "god:world-load-progress-changed": + {} # TODO schema \ No newline at end of file diff --git a/config.coffee b/config.coffee index 10daa6b93..0da72ff00 100644 --- a/config.coffee +++ b/config.coffee @@ -63,6 +63,8 @@ exports.config = 'vendor/scripts/tweenjs-NEXT.combined.js' 'vendor/scripts/movieclip-NEXT.min.js' + 'vendor/scripts/tv4.js' + # Aether before box2d for some strange Object.defineProperty thing 'bower_components/aether/build/aether.js' 'bower_components/d3/d3.min.js' diff --git a/vendor/scripts/backbone-mediator.js b/vendor/scripts/backbone-mediator.js index 8e216e5f6..2dd835cf0 100644 --- a/vendor/scripts/backbone-mediator.js +++ b/vendor/scripts/backbone-mediator.js @@ -7,11 +7,13 @@ * <a href="https://github.com/chalbert/Backbone-Mediator">More details & documentation</a> * * @author Nicolas Gilbert + * @author Ruben Vereecken * * @requires _ * @requires Backbone + * @requires tv4 */ -(function(factory){ +(function (factory) { 'use strict'; if (typeof define === 'function' && define.amd) { @@ -20,31 +22,78 @@ factory(_, Backbone); } -})(function (_, Backbone){ +})(function (_, Backbone) { 'use strict'; /** * @static */ var channels = {}, - Subscriber, - /** @borrows Backbone.View#delegateEvents */ + Subscriber, + /** @borrows Backbone.View#delegateEvents */ delegateEvents = Backbone.View.prototype.delegateEvents, - /** @borrows Backbone.View#delegateEvents */ + /** @borrows Backbone.View#delegateEvents */ undelegateEvents = Backbone.View.prototype.undelegateEvents; /** * @class */ Backbone.Mediator = { + tv4: window['tv4'].freshApi(), + + validationEnabled: true, + + defSchemas: {}, + + channelSchemas: {}, + + unvalidatedChannels: [], + + addChannelSchema: function (channel, schema) { + if (schema && Object.keys(schema).length) + this.channelSchemas[channel] = schema; + }, + + addDefSchema: function (schema) { + this.tv4.addSchema(schema); + }, + + addChannelSchemas: function (schemas) { + for (var channel in schemas) { + var schema = schemas[channel]; + if (schema && Object.keys(schema).length) + this.channelSchemas[channel] = schema; + } + }, + + addDefSchemas: function (schemas) { + for (var key in schemas) { + this.tv4.addSchema(schemas[key]); + } + }, + + /** + * Sets up the tv4 validator. + */ + setUpValidator: function () { + this.tv4 = window['tv4'].freshApi(); + }, + + setValidationEnabled: function (enabled) { + this.validationEnabled = enabled; + }, /** * Subscribe to a channel * * @param channel */ - subscribe: function(channel, subscription, context, once) { + subscribe: function (channel, subscription, context, once) { if (!channels[channel]) channels[channel] = []; + if (!(channel in this.defSchemas) && !_.contains(this.unvalidatedChannels, channel)) { + this.unvalidatedChannels.push(channel); + console.warn("Missing schema for channel '" + channel + "'."); + } channels[channel].push({fn: subscription, context: context || this, once: once}); }, @@ -54,15 +103,24 @@ * @param channel * @params N Extra parametter to pass to handler */ - publish: function(channel) { + publish: function (channel, arg) { if (!channels[channel]) return; - var args = [].slice.call(arguments, 1), - subscription; + if (channel in this.channelSchemas && this.validationEnabled) { + var valid = this.tv4.validate(arg, this.channelSchemas[channel]); + if (!valid) { + console.error("Dropping publication because of validation error:", this.tv4.error); + return; + } else if (this.tv4.missing.length) { + console.warn("Missing schema reference to " + this.tv4.missing[0]); + } + } + + var subscription; for (var i = 0; i < channels[channel].length; i++) { subscription = channels[channel][i]; - subscription.fn.apply(subscription.context, args); + subscription.fn.call(subscription.context, arg); if (subscription.once) { Backbone.Mediator.unsubscribe(channel, subscription.fn, subscription.context); i--; @@ -78,7 +136,7 @@ * @param context */ - unsubscribe: function(channel, fn, context){ + unsubscribe: function (channel, fn, context) { if (!channels[channel]) return; var subscription; @@ -103,8 +161,6 @@ } }; - - Backbone.Mediator.channels = channels; /** * Allow to define convention-based subscriptions @@ -120,7 +176,7 @@ /** * Extend delegateEvents() to set subscriptions */ - delegateEvents: function(){ + delegateEvents: function () { delegateEvents.apply(this, arguments); this.setSubscriptions(); }, @@ -128,7 +184,7 @@ /** * Extend undelegateEvents() to unset subscriptions */ - undelegateEvents: function(){ + undelegateEvents: function () { undelegateEvents.apply(this, arguments); this.unsetSubscriptions(); }, @@ -141,14 +197,14 @@ * @param {Object} [subscriptions] An optional hash of subscription to add */ - setSubscriptions: function(subscriptions){ + setSubscriptions: function (subscriptions) { if (subscriptions) _.extend(this.subscriptions || {}, subscriptions); subscriptions = subscriptions || this.subscriptions; if (!subscriptions || _.isEmpty(subscriptions)) return; // Just to be sure we don't set duplicate this.unsetSubscriptions(subscriptions); - _.each(subscriptions, function(subscription, channel){ + _.each(subscriptions, function (subscription, channel) { var once; if (subscription.$once) { subscription = subscription.$once; @@ -165,10 +221,10 @@ * Unsubscribe to each subscription * @param {Object} [subscriptions] An optional hash of subscription to remove */ - unsetSubscriptions: function(subscriptions){ + unsetSubscriptions: function (subscriptions) { subscriptions = subscriptions || this.subscriptions; if (!subscriptions || _.isEmpty(subscriptions)) return; - _.each(subscriptions, function(subscription, channel){ + _.each(subscriptions, function (subscription, channel) { if (_.isString(subscription)) { subscription = this[subscription]; } @@ -200,4 +256,4 @@ return Backbone; -}); \ No newline at end of file +}); From fc8684967da85101f159cacfdf9a82eb49c84fb0 Mon Sep 17 00:00:00 2001 From: Ruben Vereecken <rubenvereecken@gmail.com> Date: Fri, 11 Apr 2014 14:37:08 +0200 Subject: [PATCH 27/79] Added initialization of the schema files --- app/initialize.coffee | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/app/initialize.coffee b/app/initialize.coffee index 80c33c9b7..58cbe3a3a 100644 --- a/app/initialize.coffee +++ b/app/initialize.coffee @@ -1,5 +1,22 @@ app = require 'application' +channelSchemas = + 'app': require './schemas/subscriptions/app' + 'bus': require './schemas/subscriptions/bus' + 'editor': require './schemas/subscriptions/editor' + 'errors': require './schemas/subscriptions/errors' + 'level': require './schemas/subscriptions/level' + 'misc': require './schemas/subscriptions/misc' + 'play': require './schemas/subscriptions/play' + 'surface': require './schemas/subscriptions/surface' + 'tome': require './schemas/subscriptions/tome' + 'user': require './schemas/subscriptions/user' + 'world': require './schemas/subscriptions/world' + +definitionSchemas = + 'bus': require './schemas/definitions/bus' + 'misc': require './schemas/definitions/misc' + init = -> app.initialize() Backbone.history.start({ pushState: true }) @@ -9,6 +26,10 @@ init = -> treemaExt.setup() filepicker.setKey('AvlkNoldcTOU4PvKi2Xm7z') + # Set up Backbone.Mediator schemas + configureChannels() + configureDefinitions() + $ -> init() handleNormalUrls = -> @@ -32,3 +53,10 @@ handleNormalUrls = -> return false +configureChannels = -> + for channel of channelSchemas + Backbone.Mediator.addChannelSchemas channelSchemas[channel] + +configureDefinitions = -> + for definition of definitionSchemas + Backbone.Mediator.addDefSchemas definitionSchemas[definition] \ No newline at end of file From f94dfeae6d37798fa3ac3392bb8d5a5ab0568c33 Mon Sep 17 00:00:00 2001 From: Ruben Vereecken <rubenvereecken@gmail.com> Date: Fri, 11 Apr 2014 15:00:16 +0200 Subject: [PATCH 28/79] Reached a steady state without bower component backbone mediator --- app/initialize.coffee | 28 ++++++++++++++-------------- vendor/scripts/backbone-mediator.js | 19 ++++++++++++------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/app/initialize.coffee b/app/initialize.coffee index 58cbe3a3a..aab10839e 100644 --- a/app/initialize.coffee +++ b/app/initialize.coffee @@ -2,16 +2,16 @@ app = require 'application' channelSchemas = 'app': require './schemas/subscriptions/app' - 'bus': require './schemas/subscriptions/bus' - 'editor': require './schemas/subscriptions/editor' - 'errors': require './schemas/subscriptions/errors' - 'level': require './schemas/subscriptions/level' - 'misc': require './schemas/subscriptions/misc' - 'play': require './schemas/subscriptions/play' - 'surface': require './schemas/subscriptions/surface' - 'tome': require './schemas/subscriptions/tome' - 'user': require './schemas/subscriptions/user' - 'world': require './schemas/subscriptions/world' + #'bus': require './schemas/subscriptions/bus' + #'editor': require './schemas/subscriptions/editor' + #'errors': require './schemas/subscriptions/errors' + #'level': require './schemas/subscriptions/level' + #'misc': require './schemas/subscriptions/misc' + #'play': require './schemas/subscriptions/play' + #'surface': require './schemas/subscriptions/surface' + #'tome': require './schemas/subscriptions/tome' + #'user': require './schemas/subscriptions/user' + #'world': require './schemas/subscriptions/world' definitionSchemas = 'bus': require './schemas/definitions/bus' @@ -27,8 +27,8 @@ init = -> filepicker.setKey('AvlkNoldcTOU4PvKi2Xm7z') # Set up Backbone.Mediator schemas - configureChannels() - configureDefinitions() + setUpDefinitions() + setUpChannels() $ -> init() @@ -53,10 +53,10 @@ handleNormalUrls = -> return false -configureChannels = -> +setUpChannels = -> for channel of channelSchemas Backbone.Mediator.addChannelSchemas channelSchemas[channel] -configureDefinitions = -> +setUpDefinitions = -> for definition of definitionSchemas Backbone.Mediator.addDefSchemas definitionSchemas[definition] \ No newline at end of file diff --git a/vendor/scripts/backbone-mediator.js b/vendor/scripts/backbone-mediator.js index 2dd835cf0..cea4132db 100644 --- a/vendor/scripts/backbone-mediator.js +++ b/vendor/scripts/backbone-mediator.js @@ -106,14 +106,19 @@ publish: function (channel, arg) { if (!channels[channel]) return; - if (channel in this.channelSchemas && this.validationEnabled) { - var valid = this.tv4.validate(arg, this.channelSchemas[channel]); - if (!valid) { - console.error("Dropping publication because of validation error:", this.tv4.error); - return; - } else if (this.tv4.missing.length) { - console.warn("Missing schema reference to " + this.tv4.missing[0]); + if (channel in this.defSchemas) { + if (this.validationEnabled) { + var valid = this.tv4.validate(arg, this.channelSchemas[channel]); + if (!valid) { + console.error("Dropping publication because of validation error:", this.tv4.error); + return; + } else if (this.tv4.missing.length) { + console.warn("Missing schema reference to " + this.tv4.missing[0]); + } } + } else if (!_.contains(this.unvalidatedChannels, channel)) { + this.unvalidatedChannels.push(channel); + console.warn("Missing schema for channel '" + channel + "'."); } var subscription; From 2c67df355c033dc41422aab968f1ebfcd9cb10ce Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 10:33:22 -0700 Subject: [PATCH 29/79] Merge branch 'backbone_mediator' of https://github.com/rubenvereecken/codecombat into feature/jsondiffpatch Conflicts: app/initialize.coffee bower.json --- bower.json | 8 +------- server/levels/level_handler.coffee | 5 +---- server/users/user_handler.coffee | 5 +---- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/bower.json b/bower.json index 5995b14c3..8f143900b 100644 --- a/bower.json +++ b/bower.json @@ -37,15 +37,11 @@ "firebase": "~1.0.2", "catiline": "~2.9.3", "d3": "~3.4.4", -<<<<<<< HEAD "jsondiffpatch": "~0.1.5", - "nanoscroller": "~0.8.0" -======= "nanoscroller": "~0.8.0", "jquery.tablesorter": "~2.15.13", "treema": "~0.0.1", "bootstrap": "~3.1.1" ->>>>>>> master }, "overrides": { "backbone": { @@ -60,10 +56,9 @@ "underscore.string": { "main": "lib/underscore.string.js" }, -<<<<<<< HEAD "jsondiffpatch": { "main": ["build/bundle-full.js", "build/formatters.js", "src/formatters/html.css"] -======= + }, "jquery.tablesorter": { "main": [ "js/jquery.tablesorter.js", @@ -79,7 +74,6 @@ "./dist/fonts/glyphicons-halflings-regular.ttf", "./dist/fonts/glyphicons-halflings-regular.woff" ] ->>>>>>> master } } } diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index 15c75b521..a19487191 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -38,12 +38,9 @@ LevelHandler = class LevelHandler extends Handler return @getLeaderboardFacebookFriends(req, res, args[0]) if args[1] is 'leaderboard_facebook_friends' return @getLeaderboardGPlusFriends(req, res, args[0]) if args[1] is 'leaderboard_gplus_friends' return @getHistogramData(req, res, args[0]) if args[1] is 'histogram_data' -<<<<<<< HEAD - super(arguments...) -======= return @checkExistence(req, res, args[0]) if args[1] is 'exists' return @sendNotFoundError(res) ->>>>>>> master + super(arguments...) fetchLevelByIDAndHandleErrors: (id, req, res, callback) -> @getDocumentForIdOrSlug id, (err, level) => diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index 0ef407690..258051db9 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -173,12 +173,9 @@ UserHandler = class UserHandler extends Handler return @getNamesByIds(req, res) if args[1] is 'names' return @nameToID(req, res, args[0]) if args[1] is 'nameToID' return @getLevelSessions(req, res, args[0]) if args[1] is 'level.sessions' -<<<<<<< HEAD - super(arguments...) -======= return @getCandidates(req, res) if args[1] is 'candidates' return @sendNotFoundError(res) ->>>>>>> master + super(arguments...) agreeToCLA: (req, res) -> return @sendUnauthorizedError(res) unless req.user From ba417630dc92fd1d299e9e63c24cd6c9965f93da Mon Sep 17 00:00:00 2001 From: Ruben Vereecken <rubenvereecken@gmail.com> Date: Fri, 11 Apr 2014 20:05:48 +0200 Subject: [PATCH 30/79] Validated Backbone Mediator is now a fully functioning bower component --- bower.json | 3 +- config.coffee | 4 +- vendor/scripts/backbone-mediator.js | 264 ------ vendor/scripts/tv4.js | 1150 --------------------------- 4 files changed, 4 insertions(+), 1417 deletions(-) delete mode 100644 vendor/scripts/backbone-mediator.js delete mode 100644 vendor/scripts/tv4.js diff --git a/bower.json b/bower.json index 4580acd32..f721d361f 100644 --- a/bower.json +++ b/bower.json @@ -37,7 +37,8 @@ "firebase": "~1.0.2", "catiline": "~2.9.3", "d3": "~3.4.4", - "nanoscroller": "~0.8.0" + "nanoscroller": "~0.8.0", + "validated-backbone-mediator": "~0.1.3" }, "overrides": { "backbone": { diff --git a/config.coffee b/config.coffee index 0da72ff00..ae68d6b70 100644 --- a/config.coffee +++ b/config.coffee @@ -62,8 +62,8 @@ exports.config = 'vendor/scripts/soundjs-NEXT.combined.js' 'vendor/scripts/tweenjs-NEXT.combined.js' 'vendor/scripts/movieclip-NEXT.min.js' - - 'vendor/scripts/tv4.js' + # Validated Backbone Mediator dependencies + 'bower_components/tv4/tv4.js' # Aether before box2d for some strange Object.defineProperty thing 'bower_components/aether/build/aether.js' diff --git a/vendor/scripts/backbone-mediator.js b/vendor/scripts/backbone-mediator.js deleted file mode 100644 index cea4132db..000000000 --- a/vendor/scripts/backbone-mediator.js +++ /dev/null @@ -1,264 +0,0 @@ -/** - * |-------------------| - * | Backbone-Mediator | - * |-------------------| - * Backbone-Mediator is freely distributable under the MIT license. - * - * <a href="https://github.com/chalbert/Backbone-Mediator">More details & documentation</a> - * - * @author Nicolas Gilbert - * @author Ruben Vereecken - * - * @requires _ - * @requires Backbone - * @requires tv4 - */ -(function (factory) { - 'use strict'; - - if (typeof define === 'function' && define.amd) { - define(['underscore', 'backbone'], factory); - } else { - factory(_, Backbone); - } - -})(function (_, Backbone) { - 'use strict'; - - /** - * @static - */ - var channels = {}, - Subscriber, - /** @borrows Backbone.View#delegateEvents */ - delegateEvents = Backbone.View.prototype.delegateEvents, - /** @borrows Backbone.View#delegateEvents */ - undelegateEvents = Backbone.View.prototype.undelegateEvents; - - /** - * @class - */ - Backbone.Mediator = { - tv4: window['tv4'].freshApi(), - - validationEnabled: true, - - defSchemas: {}, - - channelSchemas: {}, - - unvalidatedChannels: [], - - addChannelSchema: function (channel, schema) { - if (schema && Object.keys(schema).length) - this.channelSchemas[channel] = schema; - }, - - addDefSchema: function (schema) { - this.tv4.addSchema(schema); - }, - - addChannelSchemas: function (schemas) { - for (var channel in schemas) { - var schema = schemas[channel]; - if (schema && Object.keys(schema).length) - this.channelSchemas[channel] = schema; - } - }, - - addDefSchemas: function (schemas) { - for (var key in schemas) { - this.tv4.addSchema(schemas[key]); - } - }, - - /** - * Sets up the tv4 validator. - */ - setUpValidator: function () { - this.tv4 = window['tv4'].freshApi(); - }, - - setValidationEnabled: function (enabled) { - this.validationEnabled = enabled; - }, - - /** - * Subscribe to a channel - * - * @param channel - */ - subscribe: function (channel, subscription, context, once) { - if (!channels[channel]) channels[channel] = []; - if (!(channel in this.defSchemas) && !_.contains(this.unvalidatedChannels, channel)) { - this.unvalidatedChannels.push(channel); - console.warn("Missing schema for channel '" + channel + "'."); - } - channels[channel].push({fn: subscription, context: context || this, once: once}); - }, - - /** - * Trigger all callbacks for a channel - * - * @param channel - * @params N Extra parametter to pass to handler - */ - publish: function (channel, arg) { - if (!channels[channel]) return; - - if (channel in this.defSchemas) { - if (this.validationEnabled) { - var valid = this.tv4.validate(arg, this.channelSchemas[channel]); - if (!valid) { - console.error("Dropping publication because of validation error:", this.tv4.error); - return; - } else if (this.tv4.missing.length) { - console.warn("Missing schema reference to " + this.tv4.missing[0]); - } - } - } else if (!_.contains(this.unvalidatedChannels, channel)) { - this.unvalidatedChannels.push(channel); - console.warn("Missing schema for channel '" + channel + "'."); - } - - var subscription; - - for (var i = 0; i < channels[channel].length; i++) { - subscription = channels[channel][i]; - subscription.fn.call(subscription.context, arg); - if (subscription.once) { - Backbone.Mediator.unsubscribe(channel, subscription.fn, subscription.context); - i--; - } - } - }, - - /** - * Cancel subscription - * - * @param channel - * @param fn - * @param context - */ - - unsubscribe: function (channel, fn, context) { - if (!channels[channel]) return; - - var subscription; - for (var i = 0; i < channels[channel].length; i++) { - subscription = channels[channel][i]; - if (subscription.fn === fn && subscription.context === context) { - channels[channel].splice(i, 1); - i--; - } - } - }, - - /** - * Subscribing to one event only - * - * @param channel - * @param subscription - * @param context - */ - subscribeOnce: function (channel, subscription, context) { - Backbone.Mediator.subscribe(channel, subscription, context, true); - } - - }; - - /** - * Allow to define convention-based subscriptions - * as an 'subscriptions' hash on a view. Subscriptions - * can then be easily setup and cleaned. - * - * @class - */ - - - Subscriber = { - - /** - * Extend delegateEvents() to set subscriptions - */ - delegateEvents: function () { - delegateEvents.apply(this, arguments); - this.setSubscriptions(); - }, - - /** - * Extend undelegateEvents() to unset subscriptions - */ - undelegateEvents: function () { - undelegateEvents.apply(this, arguments); - this.unsetSubscriptions(); - }, - - /** @property {Object} List of subscriptions, to be defined */ - subscriptions: {}, - - /** - * Subscribe to each subscription - * @param {Object} [subscriptions] An optional hash of subscription to add - */ - - setSubscriptions: function (subscriptions) { - if (subscriptions) _.extend(this.subscriptions || {}, subscriptions); - subscriptions = subscriptions || this.subscriptions; - if (!subscriptions || _.isEmpty(subscriptions)) return; - // Just to be sure we don't set duplicate - this.unsetSubscriptions(subscriptions); - - _.each(subscriptions, function (subscription, channel) { - var once; - if (subscription.$once) { - subscription = subscription.$once; - once = true; - } - if (_.isString(subscription)) { - subscription = this[subscription]; - } - Backbone.Mediator.subscribe(channel, subscription, this, once); - }, this); - }, - - /** - * Unsubscribe to each subscription - * @param {Object} [subscriptions] An optional hash of subscription to remove - */ - unsetSubscriptions: function (subscriptions) { - subscriptions = subscriptions || this.subscriptions; - if (!subscriptions || _.isEmpty(subscriptions)) return; - _.each(subscriptions, function (subscription, channel) { - if (_.isString(subscription)) { - subscription = this[subscription]; - } - Backbone.Mediator.unsubscribe(channel, subscription.$once || subscription, this); - }, this); - } - }; - - /** - * @lends Backbone.View.prototype - */ - _.extend(Backbone.View.prototype, Subscriber); - - /** - * @lends Backbone.Mediator - */ - _.extend(Backbone.Mediator, { - /** - * Shortcut for publish - * @function - */ - pub: Backbone.Mediator.publish, - /** - * Shortcut for subscribe - * @function - */ - sub: Backbone.Mediator.subscribe - }); - - return Backbone; - -}); diff --git a/vendor/scripts/tv4.js b/vendor/scripts/tv4.js deleted file mode 100644 index bae299f94..000000000 --- a/vendor/scripts/tv4.js +++ /dev/null @@ -1,1150 +0,0 @@ -/* -Author: Geraint Luff and others -Year: 2013 - -This code is released into the "public domain" by its author(s). Anybody may use, alter and distribute the code without restriction. The author makes no guarantees, and takes no liability of any kind for use of this code. - -If you find a bug or make an improvement, it would be courteous to let the author know, but it is not compulsory. -*/ -(function (global) { -'use strict'; - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FObject%2Fkeys -if (!Object.keys) { - Object.keys = (function () { - var hasOwnProperty = Object.prototype.hasOwnProperty, - hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'), - dontEnums = [ - 'toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor' - ], - dontEnumsLength = dontEnums.length; - - return function (obj) { - if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) { - throw new TypeError('Object.keys called on non-object'); - } - - var result = []; - - for (var prop in obj) { - if (hasOwnProperty.call(obj, prop)) { - result.push(prop); - } - } - - if (hasDontEnumBug) { - for (var i=0; i < dontEnumsLength; i++) { - if (hasOwnProperty.call(obj, dontEnums[i])) { - result.push(dontEnums[i]); - } - } - } - return result; - }; - })(); -} -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create -if (!Object.create) { - Object.create = (function(){ - function F(){} - - return function(o){ - if (arguments.length !== 1) { - throw new Error('Object.create implementation only accepts one parameter.'); - } - F.prototype = o; - return new F(); - }; - })(); -} -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FArray%2FisArray -if(!Array.isArray) { - Array.isArray = function (vArg) { - return Object.prototype.toString.call(vArg) === "[object Array]"; - }; -} -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FArray%2FindexOf -if (!Array.prototype.indexOf) { - Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { - if (this === null) { - throw new TypeError(); - } - var t = Object(this); - var len = t.length >>> 0; - - if (len === 0) { - return -1; - } - var n = 0; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n !== n) { // shortcut for verifying if it's NaN - n = 0; - } else if (n !== 0 && n !== Infinity && n !== -Infinity) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - } - if (n >= len) { - return -1; - } - var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); - for (; k < len; k++) { - if (k in t && t[k] === searchElement) { - return k; - } - } - return -1; - }; -} - -// Grungey Object.isFrozen hack -if (!Object.isFrozen) { - Object.isFrozen = function (obj) { - var key = "tv4_test_frozen_key"; - while (obj.hasOwnProperty(key)) { - key += Math.random(); - } - try { - obj[key] = true; - delete obj[key]; - return false; - } catch (e) { - return true; - } - }; -} -var ValidatorContext = function ValidatorContext(parent, collectMultiple, errorMessages, checkRecursive) { - this.missing = []; - this.missingMap = {}; - this.formatValidators = parent ? Object.create(parent.formatValidators) : {}; - this.schemas = parent ? Object.create(parent.schemas) : {}; - this.collectMultiple = collectMultiple; - this.errors = []; - this.handleError = collectMultiple ? this.collectError : this.returnError; - if (checkRecursive) { - this.checkRecursive = true; - this.scanned = []; - this.scannedFrozen = []; - this.scannedFrozenSchemas = []; - this.key = 'tv4_validation_id'; - } - this.errorMessages = errorMessages; -}; -ValidatorContext.prototype.createError = function (code, messageParams, dataPath, schemaPath, subErrors) { - var messageTemplate = this.errorMessages[code] || ErrorMessagesDefault[code]; - if (typeof messageTemplate !== 'string') { - return new ValidationError(code, "Unknown error code " + code + ": " + JSON.stringify(messageParams), dataPath, schemaPath, subErrors); - } - // Adapted from Crockford's supplant() - var message = messageTemplate.replace(/\{([^{}]*)\}/g, function (whole, varName) { - var subValue = messageParams[varName]; - return typeof subValue === 'string' || typeof subValue === 'number' ? subValue : whole; - }); - return new ValidationError(code, message, dataPath, schemaPath, subErrors); -}; -ValidatorContext.prototype.returnError = function (error) { - return error; -}; -ValidatorContext.prototype.collectError = function (error) { - if (error) { - this.errors.push(error); - } - return null; -}; -ValidatorContext.prototype.prefixErrors = function (startIndex, dataPath, schemaPath) { - for (var i = startIndex; i < this.errors.length; i++) { - this.errors[i] = this.errors[i].prefixWith(dataPath, schemaPath); - } - return this; -}; - -ValidatorContext.prototype.addFormat = function (format, validator) { - if (typeof format === 'object') { - for (var key in format) { - this.addFormat(key, format[key]); - } - return this; - } - this.formatValidators[format] = validator; -}; -ValidatorContext.prototype.getSchema = function (url) { - var schema; - if (this.schemas[url] !== undefined) { - schema = this.schemas[url]; - return schema; - } - var baseUrl = url; - var fragment = ""; - if (url.indexOf('#') !== -1) { - fragment = url.substring(url.indexOf("#") + 1); - baseUrl = url.substring(0, url.indexOf("#")); - } - if (typeof this.schemas[baseUrl] === 'object') { - schema = this.schemas[baseUrl]; - var pointerPath = decodeURIComponent(fragment); - if (pointerPath === "") { - return schema; - } else if (pointerPath.charAt(0) !== "/") { - return undefined; - } - var parts = pointerPath.split("/").slice(1); - for (var i = 0; i < parts.length; i++) { - var component = parts[i].replace("~1", "/").replace("~0", "~"); - if (schema[component] === undefined) { - schema = undefined; - break; - } - schema = schema[component]; - } - if (schema !== undefined) { - return schema; - } - } - if (this.missing[baseUrl] === undefined) { - this.missing.push(baseUrl); - this.missing[baseUrl] = baseUrl; - this.missingMap[baseUrl] = baseUrl; - } -}; -ValidatorContext.prototype.searchSchemas = function (schema, url) { - if (schema === undefined || schema === null) { return; } - if (typeof schema.id === "string") { - if (isTrustedUrl(url, schema.id)) { - if (this.schemas[schema.id] === undefined) { - this.schemas[schema.id] = schema; - } - } - } - if (typeof schema === "object") { - for (var key in schema) { - if (key !== "enum") { - if (typeof schema[key] === "object") { - this.searchSchemas(schema[key], url); - } else if (key === "$ref") { - var uri = getDocumentUri(schema[key]); - if (uri && this.schemas[uri] === undefined && this.missingMap[uri] === undefined) { - this.missingMap[uri] = uri; - } - } - } - } - } -}; -ValidatorContext.prototype.addSchema = function (url, schema) { - //overload - if (typeof schema === 'undefined') { - if (typeof url === 'object' && typeof url.id === 'string') { - schema = url; - url = schema.id; - } - else { - return; - } - } - if (url = getDocumentUri(url) + "#") { - // Remove empty fragment - url = getDocumentUri(url); - } - this.schemas[url] = schema; - delete this.missingMap[url]; - normSchema(schema, url); - this.searchSchemas(schema, url); -}; - -ValidatorContext.prototype.getSchemaMap = function () { - var map = {}; - for (var key in this.schemas) { - map[key] = this.schemas[key]; - } - return map; -}; - -ValidatorContext.prototype.getSchemaUris = function (filterRegExp) { - var list = []; - for (var key in this.schemas) { - if (!filterRegExp || filterRegExp.test(key)) { - list.push(key); - } - } - return list; -}; - -ValidatorContext.prototype.getMissingUris = function (filterRegExp) { - var list = []; - for (var key in this.missingMap) { - if (!filterRegExp || filterRegExp.test(key)) { - list.push(key); - } - } - return list; -}; - -ValidatorContext.prototype.dropSchemas = function () { - this.schemas = {}; - this.reset(); -}; -ValidatorContext.prototype.reset = function () { - this.missing = []; - this.missingMap = {}; - this.errors = []; -}; - -ValidatorContext.prototype.validateAll = function (data, schema, dataPathParts, schemaPathParts) { - var topLevel; - if (schema['$ref'] !== undefined) { - schema = this.getSchema(schema['$ref']); - if (!schema) { - return null; - } - } - - if (this.checkRecursive && (typeof data) === 'object') { - topLevel = !this.scanned.length; - if (data[this.key] && data[this.key].indexOf(schema) !== -1) { return null; } - var frozenIndex; - if (Object.isFrozen(data)) { - frozenIndex = this.scannedFrozen.indexOf(data); - if (frozenIndex !== -1 && this.scannedFrozenSchemas[frozenIndex].indexOf(schema) !== -1) { return null; } - } - this.scanned.push(data); - if (Object.isFrozen(data)) { - if (frozenIndex === -1) { - frozenIndex = this.scannedFrozen.length; - this.scannedFrozen.push(data); - this.scannedFrozenSchemas.push([]); - } - this.scannedFrozenSchemas[frozenIndex].push(schema); - } else { - if (!data[this.key]) { - try { - Object.defineProperty(data, this.key, { - value: [], - configurable: true - }); - } catch (e) { - //IE 7/8 workaround - data[this.key] = []; - } - } - data[this.key].push(schema); - } - } - - var errorCount = this.errors.length; - var error = this.validateBasic(data, schema) - || this.validateNumeric(data, schema) - || this.validateString(data, schema) - || this.validateArray(data, schema) - || this.validateObject(data, schema) - || this.validateCombinations(data, schema) - || this.validateFormat(data, schema) - || null; - - if (topLevel) { - while (this.scanned.length) { - var item = this.scanned.pop(); - delete item[this.key]; - } - this.scannedFrozen = []; - this.scannedFrozenSchemas = []; - } - - if (error || errorCount !== this.errors.length) { - while ((dataPathParts && dataPathParts.length) || (schemaPathParts && schemaPathParts.length)) { - var dataPart = (dataPathParts && dataPathParts.length) ? "" + dataPathParts.pop() : null; - var schemaPart = (schemaPathParts && schemaPathParts.length) ? "" + schemaPathParts.pop() : null; - if (error) { - error = error.prefixWith(dataPart, schemaPart); - } - this.prefixErrors(errorCount, dataPart, schemaPart); - } - } - - return this.handleError(error); -}; -ValidatorContext.prototype.validateFormat = function (data, schema) { - if (typeof schema.format !== 'string' || !this.formatValidators[schema.format]) { - return null; - } - var errorMessage = this.formatValidators[schema.format].call(null, data, schema); - if (typeof errorMessage === 'string' || typeof errorMessage === 'number') { - return this.createError(ErrorCodes.FORMAT_CUSTOM, {message: errorMessage}).prefixWith(null, "format"); - } else if (errorMessage && typeof errorMessage === 'object') { - return this.createError(ErrorCodes.FORMAT_CUSTOM, {message: errorMessage.message || "?"}, errorMessage.dataPath || null, errorMessage.schemaPath || "/format"); - } - return null; -}; - -function recursiveCompare(A, B) { - if (A === B) { - return true; - } - if (typeof A === "object" && typeof B === "object") { - if (Array.isArray(A) !== Array.isArray(B)) { - return false; - } else if (Array.isArray(A)) { - if (A.length !== B.length) { - return false; - } - for (var i = 0; i < A.length; i++) { - if (!recursiveCompare(A[i], B[i])) { - return false; - } - } - } else { - var key; - for (key in A) { - if (B[key] === undefined && A[key] !== undefined) { - return false; - } - } - for (key in B) { - if (A[key] === undefined && B[key] !== undefined) { - return false; - } - } - for (key in A) { - if (!recursiveCompare(A[key], B[key])) { - return false; - } - } - } - return true; - } - return false; -} - -ValidatorContext.prototype.validateBasic = function validateBasic(data, schema) { - var error; - if (error = this.validateType(data, schema)) { - return error.prefixWith(null, "type"); - } - if (error = this.validateEnum(data, schema)) { - return error.prefixWith(null, "type"); - } - return null; -}; - -ValidatorContext.prototype.validateType = function validateType(data, schema) { - if (schema.type === undefined) { - return null; - } - var dataType = typeof data; - if (data === null) { - dataType = "null"; - } else if (Array.isArray(data)) { - dataType = "array"; - } - var allowedTypes = schema.type; - if (typeof allowedTypes !== "object") { - allowedTypes = [allowedTypes]; - } - - for (var i = 0; i < allowedTypes.length; i++) { - var type = allowedTypes[i]; - if (type === dataType || (type === "integer" && dataType === "number" && (data % 1 === 0))) { - return null; - } - } - return this.createError(ErrorCodes.INVALID_TYPE, {type: dataType, expected: allowedTypes.join("/")}); -}; - -ValidatorContext.prototype.validateEnum = function validateEnum(data, schema) { - if (schema["enum"] === undefined) { - return null; - } - for (var i = 0; i < schema["enum"].length; i++) { - var enumVal = schema["enum"][i]; - if (recursiveCompare(data, enumVal)) { - return null; - } - } - return this.createError(ErrorCodes.ENUM_MISMATCH, {value: (typeof JSON !== 'undefined') ? JSON.stringify(data) : data}); -}; - -ValidatorContext.prototype.validateNumeric = function validateNumeric(data, schema) { - return this.validateMultipleOf(data, schema) - || this.validateMinMax(data, schema) - || null; -}; - -ValidatorContext.prototype.validateMultipleOf = function validateMultipleOf(data, schema) { - var multipleOf = schema.multipleOf || schema.divisibleBy; - if (multipleOf === undefined) { - return null; - } - if (typeof data === "number") { - if (data % multipleOf !== 0) { - return this.createError(ErrorCodes.NUMBER_MULTIPLE_OF, {value: data, multipleOf: multipleOf}); - } - } - return null; -}; - -ValidatorContext.prototype.validateMinMax = function validateMinMax(data, schema) { - if (typeof data !== "number") { - return null; - } - if (schema.minimum !== undefined) { - if (data < schema.minimum) { - return this.createError(ErrorCodes.NUMBER_MINIMUM, {value: data, minimum: schema.minimum}).prefixWith(null, "minimum"); - } - if (schema.exclusiveMinimum && data === schema.minimum) { - return this.createError(ErrorCodes.NUMBER_MINIMUM_EXCLUSIVE, {value: data, minimum: schema.minimum}).prefixWith(null, "exclusiveMinimum"); - } - } - if (schema.maximum !== undefined) { - if (data > schema.maximum) { - return this.createError(ErrorCodes.NUMBER_MAXIMUM, {value: data, maximum: schema.maximum}).prefixWith(null, "maximum"); - } - if (schema.exclusiveMaximum && data === schema.maximum) { - return this.createError(ErrorCodes.NUMBER_MAXIMUM_EXCLUSIVE, {value: data, maximum: schema.maximum}).prefixWith(null, "exclusiveMaximum"); - } - } - return null; -}; - -ValidatorContext.prototype.validateString = function validateString(data, schema) { - return this.validateStringLength(data, schema) - || this.validateStringPattern(data, schema) - || null; -}; - -ValidatorContext.prototype.validateStringLength = function validateStringLength(data, schema) { - if (typeof data !== "string") { - return null; - } - if (schema.minLength !== undefined) { - if (data.length < schema.minLength) { - return this.createError(ErrorCodes.STRING_LENGTH_SHORT, {length: data.length, minimum: schema.minLength}).prefixWith(null, "minLength"); - } - } - if (schema.maxLength !== undefined) { - if (data.length > schema.maxLength) { - return this.createError(ErrorCodes.STRING_LENGTH_LONG, {length: data.length, maximum: schema.maxLength}).prefixWith(null, "maxLength"); - } - } - return null; -}; - -ValidatorContext.prototype.validateStringPattern = function validateStringPattern(data, schema) { - if (typeof data !== "string" || schema.pattern === undefined) { - return null; - } - var regexp = new RegExp(schema.pattern); - if (!regexp.test(data)) { - return this.createError(ErrorCodes.STRING_PATTERN, {pattern: schema.pattern}).prefixWith(null, "pattern"); - } - return null; -}; -ValidatorContext.prototype.validateArray = function validateArray(data, schema) { - if (!Array.isArray(data)) { - return null; - } - return this.validateArrayLength(data, schema) - || this.validateArrayUniqueItems(data, schema) - || this.validateArrayItems(data, schema) - || null; -}; - -ValidatorContext.prototype.validateArrayLength = function validateArrayLength(data, schema) { - var error; - if (schema.minItems !== undefined) { - if (data.length < schema.minItems) { - error = (this.createError(ErrorCodes.ARRAY_LENGTH_SHORT, {length: data.length, minimum: schema.minItems})).prefixWith(null, "minItems"); - if (this.handleError(error)) { - return error; - } - } - } - if (schema.maxItems !== undefined) { - if (data.length > schema.maxItems) { - error = (this.createError(ErrorCodes.ARRAY_LENGTH_LONG, {length: data.length, maximum: schema.maxItems})).prefixWith(null, "maxItems"); - if (this.handleError(error)) { - return error; - } - } - } - return null; -}; - -ValidatorContext.prototype.validateArrayUniqueItems = function validateArrayUniqueItems(data, schema) { - if (schema.uniqueItems) { - for (var i = 0; i < data.length; i++) { - for (var j = i + 1; j < data.length; j++) { - if (recursiveCompare(data[i], data[j])) { - var error = (this.createError(ErrorCodes.ARRAY_UNIQUE, {match1: i, match2: j})).prefixWith(null, "uniqueItems"); - if (this.handleError(error)) { - return error; - } - } - } - } - } - return null; -}; - -ValidatorContext.prototype.validateArrayItems = function validateArrayItems(data, schema) { - if (schema.items === undefined) { - return null; - } - var error, i; - if (Array.isArray(schema.items)) { - for (i = 0; i < data.length; i++) { - if (i < schema.items.length) { - if (error = this.validateAll(data[i], schema.items[i], [i], ["items", i])) { - return error; - } - } else if (schema.additionalItems !== undefined) { - if (typeof schema.additionalItems === "boolean") { - if (!schema.additionalItems) { - error = (this.createError(ErrorCodes.ARRAY_ADDITIONAL_ITEMS, {})).prefixWith("" + i, "additionalItems"); - if (this.handleError(error)) { - return error; - } - } - } else if (error = this.validateAll(data[i], schema.additionalItems, [i], ["additionalItems"])) { - return error; - } - } - } - } else { - for (i = 0; i < data.length; i++) { - if (error = this.validateAll(data[i], schema.items, [i], ["items"])) { - return error; - } - } - } - return null; -}; - -ValidatorContext.prototype.validateObject = function validateObject(data, schema) { - if (typeof data !== "object" || data === null || Array.isArray(data)) { - return null; - } - return this.validateObjectMinMaxProperties(data, schema) - || this.validateObjectRequiredProperties(data, schema) - || this.validateObjectProperties(data, schema) - || this.validateObjectDependencies(data, schema) - || null; -}; - -ValidatorContext.prototype.validateObjectMinMaxProperties = function validateObjectMinMaxProperties(data, schema) { - var keys = Object.keys(data); - var error; - if (schema.minProperties !== undefined) { - if (keys.length < schema.minProperties) { - error = this.createError(ErrorCodes.OBJECT_PROPERTIES_MINIMUM, {propertyCount: keys.length, minimum: schema.minProperties}).prefixWith(null, "minProperties"); - if (this.handleError(error)) { - return error; - } - } - } - if (schema.maxProperties !== undefined) { - if (keys.length > schema.maxProperties) { - error = this.createError(ErrorCodes.OBJECT_PROPERTIES_MAXIMUM, {propertyCount: keys.length, maximum: schema.maxProperties}).prefixWith(null, "maxProperties"); - if (this.handleError(error)) { - return error; - } - } - } - return null; -}; - -ValidatorContext.prototype.validateObjectRequiredProperties = function validateObjectRequiredProperties(data, schema) { - if (schema.required !== undefined) { - for (var i = 0; i < schema.required.length; i++) { - var key = schema.required[i]; - if (data[key] === undefined) { - var error = this.createError(ErrorCodes.OBJECT_REQUIRED, {key: key}).prefixWith(null, "" + i).prefixWith(null, "required"); - if (this.handleError(error)) { - return error; - } - } - } - } - return null; -}; - -ValidatorContext.prototype.validateObjectProperties = function validateObjectProperties(data, schema) { - var error; - for (var key in data) { - var foundMatch = false; - if (schema.properties !== undefined && schema.properties[key] !== undefined) { - foundMatch = true; - if (error = this.validateAll(data[key], schema.properties[key], [key], ["properties", key])) { - return error; - } - } - if (schema.patternProperties !== undefined) { - for (var patternKey in schema.patternProperties) { - var regexp = new RegExp(patternKey); - if (regexp.test(key)) { - foundMatch = true; - if (error = this.validateAll(data[key], schema.patternProperties[patternKey], [key], ["patternProperties", patternKey])) { - return error; - } - } - } - } - if (!foundMatch && schema.additionalProperties !== undefined) { - if (typeof schema.additionalProperties === "boolean") { - if (!schema.additionalProperties) { - error = this.createError(ErrorCodes.OBJECT_ADDITIONAL_PROPERTIES, {}).prefixWith(key, "additionalProperties"); - if (this.handleError(error)) { - return error; - } - } - } else { - if (error = this.validateAll(data[key], schema.additionalProperties, [key], ["additionalProperties"])) { - return error; - } - } - } - } - return null; -}; - -ValidatorContext.prototype.validateObjectDependencies = function validateObjectDependencies(data, schema) { - var error; - if (schema.dependencies !== undefined) { - for (var depKey in schema.dependencies) { - if (data[depKey] !== undefined) { - var dep = schema.dependencies[depKey]; - if (typeof dep === "string") { - if (data[dep] === undefined) { - error = this.createError(ErrorCodes.OBJECT_DEPENDENCY_KEY, {key: depKey, missing: dep}).prefixWith(null, depKey).prefixWith(null, "dependencies"); - if (this.handleError(error)) { - return error; - } - } - } else if (Array.isArray(dep)) { - for (var i = 0; i < dep.length; i++) { - var requiredKey = dep[i]; - if (data[requiredKey] === undefined) { - error = this.createError(ErrorCodes.OBJECT_DEPENDENCY_KEY, {key: depKey, missing: requiredKey}).prefixWith(null, "" + i).prefixWith(null, depKey).prefixWith(null, "dependencies"); - if (this.handleError(error)) { - return error; - } - } - } - } else { - if (error = this.validateAll(data, dep, [], ["dependencies", depKey])) { - return error; - } - } - } - } - } - return null; -}; - -ValidatorContext.prototype.validateCombinations = function validateCombinations(data, schema) { - return this.validateAllOf(data, schema) - || this.validateAnyOf(data, schema) - || this.validateOneOf(data, schema) - || this.validateNot(data, schema) - || null; -}; - -ValidatorContext.prototype.validateAllOf = function validateAllOf(data, schema) { - if (schema.allOf === undefined) { - return null; - } - var error; - for (var i = 0; i < schema.allOf.length; i++) { - var subSchema = schema.allOf[i]; - if (error = this.validateAll(data, subSchema, [], ["allOf", i])) { - return error; - } - } - return null; -}; - -ValidatorContext.prototype.validateAnyOf = function validateAnyOf(data, schema) { - if (schema.anyOf === undefined) { - return null; - } - var errors = []; - var startErrorCount = this.errors.length; - for (var i = 0; i < schema.anyOf.length; i++) { - var subSchema = schema.anyOf[i]; - - var errorCount = this.errors.length; - var error = this.validateAll(data, subSchema, [], ["anyOf", i]); - - if (error === null && errorCount === this.errors.length) { - this.errors = this.errors.slice(0, startErrorCount); - return null; - } - if (error) { - errors.push(error.prefixWith(null, "" + i).prefixWith(null, "anyOf")); - } - } - errors = errors.concat(this.errors.slice(startErrorCount)); - this.errors = this.errors.slice(0, startErrorCount); - return this.createError(ErrorCodes.ANY_OF_MISSING, {}, "", "/anyOf", errors); -}; - -ValidatorContext.prototype.validateOneOf = function validateOneOf(data, schema) { - if (schema.oneOf === undefined) { - return null; - } - var validIndex = null; - var errors = []; - var startErrorCount = this.errors.length; - for (var i = 0; i < schema.oneOf.length; i++) { - var subSchema = schema.oneOf[i]; - - var errorCount = this.errors.length; - var error = this.validateAll(data, subSchema, [], ["oneOf", i]); - - if (error === null && errorCount === this.errors.length) { - if (validIndex === null) { - validIndex = i; - } else { - this.errors = this.errors.slice(0, startErrorCount); - return this.createError(ErrorCodes.ONE_OF_MULTIPLE, {index1: validIndex, index2: i}, "", "/oneOf"); - } - } else if (error) { - errors.push(error.prefixWith(null, "" + i).prefixWith(null, "oneOf")); - } - } - if (validIndex === null) { - errors = errors.concat(this.errors.slice(startErrorCount)); - this.errors = this.errors.slice(0, startErrorCount); - return this.createError(ErrorCodes.ONE_OF_MISSING, {}, "", "/oneOf", errors); - } else { - this.errors = this.errors.slice(0, startErrorCount); - } - return null; -}; - -ValidatorContext.prototype.validateNot = function validateNot(data, schema) { - if (schema.not === undefined) { - return null; - } - var oldErrorCount = this.errors.length; - var error = this.validateAll(data, schema.not); - var notErrors = this.errors.slice(oldErrorCount); - this.errors = this.errors.slice(0, oldErrorCount); - if (error === null && notErrors.length === 0) { - return this.createError(ErrorCodes.NOT_PASSED, {}, "", "/not"); - } - return null; -}; - -// parseURI() and resolveUrl() are from https://gist.github.com/1088850 -// - released as public domain by author ("Yaffle") - see comments on gist - -function parseURI(url) { - var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/); - // authority = '//' + user + ':' + pass '@' + hostname + ':' port - return (m ? { - href : m[0] || '', - protocol : m[1] || '', - authority: m[2] || '', - host : m[3] || '', - hostname : m[4] || '', - port : m[5] || '', - pathname : m[6] || '', - search : m[7] || '', - hash : m[8] || '' - } : null); -} - -function resolveUrl(base, href) {// RFC 3986 - - function removeDotSegments(input) { - var output = []; - input.replace(/^(\.\.?(\/|$))+/, '') - .replace(/\/(\.(\/|$))+/g, '/') - .replace(/\/\.\.$/, '/../') - .replace(/\/?[^\/]*/g, function (p) { - if (p === '/..') { - output.pop(); - } else { - output.push(p); - } - }); - return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : ''); - } - - href = parseURI(href || ''); - base = parseURI(base || ''); - - return !href || !base ? null : (href.protocol || base.protocol) + - (href.protocol || href.authority ? href.authority : base.authority) + - removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) + - (href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) + - href.hash; -} - -function getDocumentUri(uri) { - return uri.split('#')[0]; -} -function normSchema(schema, baseUri) { - if (schema === undefined || schema === null) { return; } - if (baseUri === undefined) { - baseUri = schema.id; - } else if (typeof schema.id === "string") { - baseUri = resolveUrl(baseUri, schema.id); - schema.id = baseUri; - } - if (typeof schema === "object") { - if (Array.isArray(schema)) { - for (var i = 0; i < schema.length; i++) { - normSchema(schema[i], baseUri); - } - } else if (typeof schema['$ref'] === "string") { - schema['$ref'] = resolveUrl(baseUri, schema['$ref']); - } else { - for (var key in schema) { - if (key !== "enum") { - normSchema(schema[key], baseUri); - } - } - } - } -} - -var ErrorCodes = { - INVALID_TYPE: 0, - ENUM_MISMATCH: 1, - ANY_OF_MISSING: 10, - ONE_OF_MISSING: 11, - ONE_OF_MULTIPLE: 12, - NOT_PASSED: 13, - // Numeric errors - NUMBER_MULTIPLE_OF: 100, - NUMBER_MINIMUM: 101, - NUMBER_MINIMUM_EXCLUSIVE: 102, - NUMBER_MAXIMUM: 103, - NUMBER_MAXIMUM_EXCLUSIVE: 104, - // String errors - STRING_LENGTH_SHORT: 200, - STRING_LENGTH_LONG: 201, - STRING_PATTERN: 202, - // Object errors - OBJECT_PROPERTIES_MINIMUM: 300, - OBJECT_PROPERTIES_MAXIMUM: 301, - OBJECT_REQUIRED: 302, - OBJECT_ADDITIONAL_PROPERTIES: 303, - OBJECT_DEPENDENCY_KEY: 304, - // Array errors - ARRAY_LENGTH_SHORT: 400, - ARRAY_LENGTH_LONG: 401, - ARRAY_UNIQUE: 402, - ARRAY_ADDITIONAL_ITEMS: 403, - // Format errors - FORMAT_CUSTOM: 500 -}; -var ErrorMessagesDefault = { - INVALID_TYPE: "invalid type: {type} (expected {expected})", - ENUM_MISMATCH: "No enum match for: {value}", - ANY_OF_MISSING: "Data does not match any schemas from \"anyOf\"", - ONE_OF_MISSING: "Data does not match any schemas from \"oneOf\"", - ONE_OF_MULTIPLE: "Data is valid against more than one schema from \"oneOf\": indices {index1} and {index2}", - NOT_PASSED: "Data matches schema from \"not\"", - // Numeric errors - NUMBER_MULTIPLE_OF: "Value {value} is not a multiple of {multipleOf}", - NUMBER_MINIMUM: "Value {value} is less than minimum {minimum}", - NUMBER_MINIMUM_EXCLUSIVE: "Value {value} is equal to exclusive minimum {minimum}", - NUMBER_MAXIMUM: "Value {value} is greater than maximum {maximum}", - NUMBER_MAXIMUM_EXCLUSIVE: "Value {value} is equal to exclusive maximum {maximum}", - // String errors - STRING_LENGTH_SHORT: "String is too short ({length} chars), minimum {minimum}", - STRING_LENGTH_LONG: "String is too long ({length} chars), maximum {maximum}", - STRING_PATTERN: "String does not match pattern: {pattern}", - // Object errors - OBJECT_PROPERTIES_MINIMUM: "Too few properties defined ({propertyCount}), minimum {minimum}", - OBJECT_PROPERTIES_MAXIMUM: "Too many properties defined ({propertyCount}), maximum {maximum}", - OBJECT_REQUIRED: "Missing required property: {key}", - OBJECT_ADDITIONAL_PROPERTIES: "Additional properties not allowed", - OBJECT_DEPENDENCY_KEY: "Dependency failed - key must exist: {missing} (due to key: {key})", - // Array errors - ARRAY_LENGTH_SHORT: "Array is too short ({length}), minimum {minimum}", - ARRAY_LENGTH_LONG: "Array is too long ({length}), maximum {maximum}", - ARRAY_UNIQUE: "Array items are not unique (indices {match1} and {match2})", - ARRAY_ADDITIONAL_ITEMS: "Additional items not allowed", - // Format errors - FORMAT_CUSTOM: "Format validation failed ({message})" -}; - -function ValidationError(code, message, dataPath, schemaPath, subErrors) { - if (code === undefined) { - throw new Error ("No code supplied for error: "+ message); - } - this.code = code; - this.message = message; - this.dataPath = dataPath || ""; - this.schemaPath = schemaPath || ""; - this.subErrors = subErrors || null; -} -ValidationError.prototype = new Error(); -ValidationError.prototype.prefixWith = function (dataPrefix, schemaPrefix) { - if (dataPrefix !== null) { - dataPrefix = dataPrefix.replace("~", "~0").replace("/", "~1"); - this.dataPath = "/" + dataPrefix + this.dataPath; - } - if (schemaPrefix !== null) { - schemaPrefix = schemaPrefix.replace("~", "~0").replace("/", "~1"); - this.schemaPath = "/" + schemaPrefix + this.schemaPath; - } - if (this.subErrors !== null) { - for (var i = 0; i < this.subErrors.length; i++) { - this.subErrors[i].prefixWith(dataPrefix, schemaPrefix); - } - } - return this; -}; - -function isTrustedUrl(baseUrl, testUrl) { - if(testUrl.substring(0, baseUrl.length) === baseUrl){ - var remainder = testUrl.substring(baseUrl.length); - if ((testUrl.length > 0 && testUrl.charAt(baseUrl.length - 1) === "/") - || remainder.charAt(0) === "#" - || remainder.charAt(0) === "?") { - return true; - } - } - return false; -} - -var languages = {}; -function createApi(language) { - var globalContext = new ValidatorContext(); - var currentLanguage = language || 'en'; - var api = { - addFormat: function () { - globalContext.addFormat.apply(globalContext, arguments); - }, - language: function (code) { - if (!code) { - return currentLanguage; - } - if (!languages[code]) { - code = code.split('-')[0]; // fall back to base language - } - if (languages[code]) { - currentLanguage = code; - return code; // so you can tell if fall-back has happened - } - return false; - }, - addLanguage: function (code, messageMap) { - var key; - for (key in ErrorCodes) { - if (messageMap[key] && !messageMap[ErrorCodes[key]]) { - messageMap[ErrorCodes[key]] = messageMap[key]; - } - } - var rootCode = code.split('-')[0]; - if (!languages[rootCode]) { // use for base language if not yet defined - languages[code] = messageMap; - languages[rootCode] = messageMap; - } else { - languages[code] = Object.create(languages[rootCode]); - for (key in messageMap) { - if (typeof languages[rootCode][key] === 'undefined') { - languages[rootCode][key] = messageMap[key]; - } - languages[code][key] = messageMap[key]; - } - } - return this; - }, - freshApi: function (language) { - var result = createApi(); - if (language) { - result.language(language); - } - return result; - }, - validate: function (data, schema, checkRecursive) { - var context = new ValidatorContext(globalContext, false, languages[currentLanguage], checkRecursive); - if (typeof schema === "string") { - schema = {"$ref": schema}; - } - context.addSchema("", schema); - var error = context.validateAll(data, schema); - this.error = error; - this.missing = context.missing; - this.valid = (error === null); - return this.valid; - }, - validateResult: function () { - var result = {}; - this.validate.apply(result, arguments); - return result; - }, - validateMultiple: function (data, schema, checkRecursive) { - var context = new ValidatorContext(globalContext, true, languages[currentLanguage], checkRecursive); - if (typeof schema === "string") { - schema = {"$ref": schema}; - } - context.addSchema("", schema); - context.validateAll(data, schema); - var result = {}; - result.errors = context.errors; - result.missing = context.missing; - result.valid = (result.errors.length === 0); - return result; - }, - addSchema: function () { - return globalContext.addSchema.apply(globalContext, arguments); - }, - getSchema: function () { - return globalContext.getSchema.apply(globalContext, arguments); - }, - getSchemaMap: function () { - return globalContext.getSchemaMap.apply(globalContext, arguments); - }, - getSchemaUris: function () { - return globalContext.getSchemaUris.apply(globalContext, arguments); - }, - getMissingUris: function () { - return globalContext.getMissingUris.apply(globalContext, arguments); - }, - dropSchemas: function () { - globalContext.dropSchemas.apply(globalContext, arguments); - }, - reset: function () { - globalContext.reset(); - this.error = null; - this.missing = []; - this.valid = true; - }, - missing: [], - error: null, - valid: true, - normSchema: normSchema, - resolveUrl: resolveUrl, - getDocumentUri: getDocumentUri, - errorCodes: ErrorCodes - }; - return api; -} - -var tv4 = createApi(); -tv4.addLanguage('en-gb', ErrorMessagesDefault); - -//legacy property -tv4.tv4 = tv4; - -if (typeof module !== 'undefined' && module.exports){ - module.exports = tv4; -} -else { - global.tv4 = tv4; -} - -})(this); - -//@ sourceMappingURL=tv4.js.map \ No newline at end of file From a07457acacd24719568e5abecff2843f59ec97bb Mon Sep 17 00:00:00 2001 From: Ruben Vereecken <rubenvereecken@gmail.com> Date: Fri, 11 Apr 2014 20:09:50 +0200 Subject: [PATCH 31/79] Finished minor refactorings --- app/initialize.coffee | 20 ++++---- app/schemas/subscriptions/level.coffee | 66 -------------------------- app/schemas/subscriptions/play.coffee | 2 +- 3 files changed, 11 insertions(+), 77 deletions(-) delete mode 100644 app/schemas/subscriptions/level.coffee diff --git a/app/initialize.coffee b/app/initialize.coffee index aab10839e..1bd399e9d 100644 --- a/app/initialize.coffee +++ b/app/initialize.coffee @@ -2,16 +2,16 @@ app = require 'application' channelSchemas = 'app': require './schemas/subscriptions/app' - #'bus': require './schemas/subscriptions/bus' - #'editor': require './schemas/subscriptions/editor' - #'errors': require './schemas/subscriptions/errors' - #'level': require './schemas/subscriptions/level' - #'misc': require './schemas/subscriptions/misc' - #'play': require './schemas/subscriptions/play' - #'surface': require './schemas/subscriptions/surface' - #'tome': require './schemas/subscriptions/tome' - #'user': require './schemas/subscriptions/user' - #'world': require './schemas/subscriptions/world' + 'bus': require './schemas/subscriptions/bus' + 'editor': require './schemas/subscriptions/editor' + 'errors': require './schemas/subscriptions/errors' + 'level': require './schemas/subscriptions/level' + 'misc': require './schemas/subscriptions/misc' + 'play': require './schemas/subscriptions/play' + 'surface': require './schemas/subscriptions/surface' + 'tome': require './schemas/subscriptions/tome' + 'user': require './schemas/subscriptions/user' + 'world': require './schemas/subscriptions/world' definitionSchemas = 'bus': require './schemas/definitions/bus' diff --git a/app/schemas/subscriptions/level.coffee b/app/schemas/subscriptions/level.coffee deleted file mode 100644 index 8d3d691ef..000000000 --- a/app/schemas/subscriptions/level.coffee +++ /dev/null @@ -1,66 +0,0 @@ -module.exports = - # TODO location is debatable - "echo-self-wizard-sprite": - {} # TODO schema - - "level:session-will-save": - {} # TODO schema - - "level-loader:progress-changed": - {} # TODO schema - - "level:shift-space-pressed": - {} # TODO schema - - "level:escape-pressed": - {} # TODO schema - - "level-enable-controls": - {} # TODO schema - - "level-set-letterbox": - {} # TODO schema - - "level:started": - {} # TODO schema - - "level-set-debug": - {} # TODO schema - - "level-set-grid": - {} # TODO schema - - "tome:cast-spell": - {} # TODO schema - - "level:restarted": - {} # TODO schema - - "level-set-volume": - {} # TODO schema - - "level-set-time": - {} # TODO schema - - "level-select-sprite": - {} # TODO schema - - "level-set-playing": - {} # TODO schema - - "level:team-set": - {} # TODO schema - - "level:docs-hidden": - {} # TODO schema - - "level:victory-hidden": - {} # TODO schema - - - - # TODO location is debatable - "goal-manager:new-goal-states": - {} # TODO schema - - diff --git a/app/schemas/subscriptions/play.coffee b/app/schemas/subscriptions/play.coffee index a9e41b27f..356f06a36 100644 --- a/app/schemas/subscriptions/play.coffee +++ b/app/schemas/subscriptions/play.coffee @@ -1,5 +1,5 @@ module.exports = - # TODO There should be a better way to subdivide these channels + # TODO There should be a better way to divide these channels into smaller ones # TODO location is debatable "echo-self-wizard-sprite": From 6d7a819defc0f8020fd9abc389d99c87db7ddb36 Mon Sep 17 00:00:00 2001 From: Alexei Nikitin <mr-a1@yandex.ru> Date: Fri, 11 Apr 2014 23:24:25 +0400 Subject: [PATCH 32/79] RU l10n for windows-script-installer --- .../coco-dev-setup/batch/localisation/fr.coco | 89 ----------------- .../batch/localisation/languages.coco | 2 +- .../coco-dev-setup/batch/localisation/ru.coco | 96 +++++++++++++++++++ 3 files changed, 97 insertions(+), 90 deletions(-) delete mode 100755 scripts/windows/coco-dev-setup/batch/localisation/fr.coco create mode 100644 scripts/windows/coco-dev-setup/batch/localisation/ru.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr.coco b/scripts/windows/coco-dev-setup/batch/localisation/fr.coco deleted file mode 100755 index d2a0d67ae..000000000 --- a/scripts/windows/coco-dev-setup/batch/localisation/fr.coco +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1" ?> -<variables> - <global> - <native>français</native> - <description>French</description> - <intro>From now on we'll send our feedback in English!</intro> - </global> - <install> - <system> - <bit>-bit computer detected.</bit> - <prefix>The operating system</prefix> - <sufix>was detected.</sufix> - <xp>We don't support Windows XP, installation cancelled.</xp> - </system> - <process> - <sks>Have you already installed all the software needed for CodeCombat?</sks> - <skq>We recommand that you reply negative in case you're not sure.</skq> - <skc>Skipping the installation of the software...</skc> - <s1>CodeCombat couldn't be developed without third-party software.</s1> - <s2>That's why you'll need to install this software,</s2> - <s3>in order to start contributing to our community.</s3> - <s4>Cancel the installation if you already have the application.</s4> - <winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath> - <prefix>Do you already have the latest version of</prefix> - <sufix>installed?</sufix> - <downloading>is downloading...</downloading> - <installing>is installing...</installing> - <unzipping>is unzipping...</unzipping> - <cleaning>is cleaning...</cleaning> - <mongodbpath>Please define the full path where mongodb should be installed</mongodbpath> - </process> - </install> - <github> - <intro> - <opensource>CodeCombat is opensource, like you already know.</opensource> - <online>All our sourcecode can be found online at Github.</online> - <manual>You can choose to do the entire Git setup yourself.</manual> - <norec>However we recommend that you instead let us handle it instead.</norec> - </intro> - <skip> - <question>Do you want to do the Local Git setup manually yourself?</question> - <consequence>Make sure you have correctly setup your repository before processing.</consequence> - <donotclose>Do not close this window please.</donotclose> - <wait>When you're ready, press any key to continue...</wait> - </skip> - <process> - <path>Please give the full path of your CodeCombat git repository: </path> - <checkout>Please enter the full path where you want to install your CodeCombat environment</checkout> - <bashi>This installation requires Git Bash.</bashi> - <bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64> - <bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32> - <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> - <ssh>Do you want to checkout the repository via ssh?</ssh> - </process> - </github> - <switch> - <install>The installation of your local environment was succesfull!</install> - <close>You can now close this setup.</close> - <open>After that, you should open the configuration setup to automaticly configure your environment...</open> - </switch> - <npm> - <install>Installing bower, brunch, nodemon and sendwithus...</install> - <binstall>Installing bower packages...</binstall> - <sass>Installing sass...</sass> - <npm>Installing npm...</npm> - <brnch>Starting brunch....</brnch> - <mongodb>Setting up a MongoDB database for you...</mongodb> - <db>Downloading the last version of the CodeCombat database...</db> - <script>Preparing the automatic startup script for you...</script> - <close>Don't close!</close> - </npm> - <error> - <path>That path already exists, are you sure you want to overwrite it?</path> - <exist>That path doesn't exist. Please try again...</exist> - </error> - <end> - <succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull> - <thankyou>Thank you already for your contribution and see you soon.</thankyou> - <readme>Do you want to read the README for more information?</readme> - </end> - <start> - <s1>From now on you can start the dev. environment at</s1> - <s2>the touch of a single mouse click.</s2> - <s3> 1) Just double click</s3> - <s4> and let the environment start up.</s4> - <s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5> - <s6>That's it, you're now ready to start working on CodeCombat!</s6> - </start> -</variables> \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/languages.coco b/scripts/windows/coco-dev-setup/batch/localisation/languages.coco index a98092066..2f3e2fe0d 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/languages.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/languages.coco @@ -1,6 +1,6 @@ en +ru nl de -fr zh-HANT zh-HANS \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/localisation/ru.coco b/scripts/windows/coco-dev-setup/batch/localisation/ru.coco new file mode 100644 index 000000000..37e9d0b2f --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/localisation/ru.coco @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<variables> + <global> + <native>�������</native> + <description>Russian</description> + <intro>C ������� ������� �� ����� �������� �� �������!</intro> + </global> + <install> + <system> + <bit>-������ ��������� ���������.</bit> + <prefix>���������� ������������ �������</prefix> + <sufix>.</sufix> + <xp>�� �� ������������ Windows XP, ��������� ��������.</xp> + </system> + <process> + <sks>�� ��� ���������� �� ����������� �����������, ����������� ��� CodeCombat?</sks> + <skq>�� ����������� �������� ������������, ���� �� �� �������.</skq> + <skc>������� ��������� ������������ �����������...</skc> + <s1>CodeCombat �� ��� �� ���� ���������� ��� ���������� ������������ �����������.</s1> + <s2>��� ������ �� ������ ������ ���������� ��� ����������� �����������</s2> + <s3>��� ����, ����� ������ ������� ����� � ���� ����������.</s3> + <s4>�������� ���������, ���� � ��� ��� ���� ����������.</s4> + <winpath>��������� � ������ �����, ������� ��������� ���������� � Windows PATH, ���� ����� ��������.</winpath> + <prefix>� ��� ��� ���� ��������� ������</prefix> + <sufix>?</sufix> + <downloading>�����������...</downloading> + <installing>���������������...</installing> + <unzipping>���������������...</unzipping> + <cleaning>���������...</cleaning> + <mongodbpath>����������, ���������� ������ ����, ���� ������ ���� ���������� MongoDB</mongodbpath> + </process> + </install> + <github> + <intro> + <opensource>�������� ��� CodeCombat ������, ��� �� ��� ������.</opensource> + <online>���� ��� �������� ��� ����� ���� ������ ������ � Github.</online> + <manual>�� ������ ������� ������� ��������������� ��������� Git.</manual> + <norec>������ �� �����������, ������ �����, �������� ���������� ���.</norec> + </intro> + <skip> + <question>�� ������ �������� ��������� Local Git ������� ��������������?</question> + <consequence>���������, ��� �� ��������� ��������� ����������� ����� �����������.</consequence> + <donotclose>�� ���������� ��� ����, ����������.</donotclose> + <wait>����� �� ������ ������, ������� ����� ������� ��� �����������...</wait> + </skip> + <process> + <path>����������, ������� ������ ���� �� ������ CodeCombat ����������� git: </path> + <checkout>����������, ������� ������ ����, ���� �� ������ ���������� ����� CodeCombat</checkout> + <bashi>������ ��������� ������� Git Bash.</bashi> + <bashp64>Git bash �� ��������� ���������� � 'C:\Program Files (x86)\Git'.</bashp64> + <bashp32>Git bash �� ��������� ���������� � 'C:\Program Files\Git'.</bashp32> + <bashq>����������, ������� ������ ����, ���� ���������� git bash ��� ������ ������� Enter, ���� �� ��������� � ����� �� ���������</bashq> + <ssh>�� ������ ��������� ����������� ����� ssh?</ssh> + </process> + <config> + <intro>�� ������ ���� ������� ���� CodeCombat �� ����� �������� GitHub...</intro> + <info>����������, ������� ���� ������ github, ����� ��������� ��������� �����������.</info> + <username>��� ������������: </username> + <password>������: </password> + <process>�������... ��� ��������� ������ ���������� �����������...</process> + </config> + </github> + <switch> + <install>��������� ����� ��������� ����� ������� ���������!</install> + <close>������ �� ������ ������� ������ ����������.</close> + <open>����� ����� �� ������ ������� ���������� �������� ��� �������������� ������������ ����� �����...</open> + </switch> + <npm> + <install>��������� bower, brunch, nodemon � sendwithus...</install> + <binstall>��������� ������� bower...</binstall> + <sass>��������� sass...</sass> + <npm>��������� npm...</npm> + <brnch>������ brunch....</brnch> + <mongodb>��������� ���� ������ MongoDB...</mongodb> + <db>���������� ��������� ������ ���� ������ CodeCombat...</db> + <script>���������� ��������������� ������� ������� ��� ���...</script> + <close>�� ����������!</close> + </npm> + <error> + <path>���� ���� ��� ����������, �� �������, ��� ������ ������������ ���?</path> + <exist>���� ���� �� ����������. ����������, ���������� ��� ���...</exist> + </error> + <end> + <succesfull>��������� ����� ������������ CodeCombat ������� ���������.</succesfull> + <thankyou>������� ������� �� ��� ����� � �� ������ �������.</thankyou> + <readme>�� ������ ��������� README ��� ��������� �������������� ����������?</readme> + </end> + <start> + <s1>� ����� ������� �� ������ ��������� ����� ������������</s1> + <s2>� ������� ������ ����.</s2> + <s3> 1) ������ ��������</s3> + <s4> � ����� ����� �����������.</s4> + <s5> 2) ������ ������ �������� 'localhost:3000' � ����� ������� ��������.</s5> + <s6>��� � ��, ������ �� ������ ���������� � ������ ��� CodeCombat!</s6> + </start> +</variables> \ No newline at end of file From d4abbd8ab303d9b1d3a28aa18b708d796950d02e Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 12:44:54 -0700 Subject: [PATCH 33/79] Merge branch 'mediator' of https://github.com/rubenvereecken/codecombat into rubenvereecken-mediator Conflicts: bower.json --- bower.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/bower.json b/bower.json index d336061d4..0c55d76af 100644 --- a/bower.json +++ b/bower.json @@ -38,13 +38,10 @@ "catiline": "~2.9.3", "d3": "~3.4.4", "nanoscroller": "~0.8.0", -<<<<<<< HEAD "jquery.tablesorter": "~2.15.13", "treema": "~0.0.1", - "bootstrap": "~3.1.1" -======= + "bootstrap": "~3.1.1", "validated-backbone-mediator": "~0.1.3" ->>>>>>> a07457acacd24719568e5abecff2843f59ec97bb }, "overrides": { "backbone": { From ae65f07e7ed1f55698f5232554458947293bc927 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 12:49:44 -0700 Subject: [PATCH 34/79] Added some i18n and improved employer page. --- app/locale/en.coffee | 35 +++++++++-- app/styles/employers.sass | 11 ++++ app/templates/account/job_profile.jade | 4 +- app/templates/account/profile.jade | 22 ++++--- app/templates/employers.jade | 65 ++++++-------------- app/templates/modal/job_profile_contact.jade | 2 +- app/views/employers_view.coffee | 9 +-- app/views/kinds/CocoView.coffee | 3 +- app/views/modal/employer_signup_modal.coffee | 7 +++ server/users/user_handler.coffee | 4 +- 10 files changed, 93 insertions(+), 69 deletions(-) create mode 100644 app/views/modal/employer_signup_modal.coffee diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 68b5fec67..f96d7de60 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -116,7 +116,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr forum_suffix: " instead." send: "Send Feedback" contact_candidate: "Contact Candidate" - recruitment_reminder: "Use this form to get in touch with candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary for any full-time candidate you hire who stays 90 days, but that part-timers, remote employees, contractors, and interns are free." + recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Help translate CodeCombat!" @@ -151,6 +151,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr wizard_tab: "Wizard" password_tab: "Password" emails_tab: "Emails" + job_profile_tab: "Job Profile!!!" admin: "Admin" wizard_color: "Wizard Clothes Color" new_password: "New Password" @@ -168,11 +169,37 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr error_saving: "Error Saving" saved: "Changes Saved" password_mismatch: "Password does not match." + job_profile: "Job Profile!!!" + job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks.!!!" + job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job.!!!" account_profile: - edit_settings: "Edit Settings" - profile_for_prefix: "Profile for " - profile_for_suffix: "" + edit_settings: "Edit Settings!!!" + profile_for_prefix: "Profile for !!!" + profile_for_suffix: "!!!" + approved: "Approved!!!" + not_approved: "Not Approved!!!" + looking_for: "Looking for:!!!" + last_updated: "Last updated:!!!" + contact: "Contact!!!" + work_experience: "Work Experience!!!" + education: "Education!!!" + our_notes: "Our Notes!!!" + projects: "Projects!!!" + + employers: + want_to_hire_our_players: "Want to hire expert CodeCombat players?" + contact_george: "Contact George to see our candidates" + candidates_count_prefix: "We currently have " + candidates_count_many: "many" + candidates_count_suffix: "highly skilled and vetted developers looking for work." + candidate_name: "Name" + candidate_location: "Location" + candidate_looking_for: "Looking For" + candidate_role: "Role" + candidate_top_skills: "Top Skills" + candidate_years_experience: "Yrs Exp" + candidate_last_updated: "Last Updated" play_level: level_load_error: "Level could not be loaded: " diff --git a/app/styles/employers.sass b/app/styles/employers.sass index 2d61d81fa..6e64b44a0 100644 --- a/app/styles/employers.sass +++ b/app/styles/employers.sass @@ -7,6 +7,10 @@ cursor: pointer &:hover color: black + + &:first-child + // Make sure that "Developer #56" doesn't wrap onto second row + min-width: 110px .tablesorter-headerAsc background-color: #cfc @@ -16,3 +20,10 @@ tr cursor: pointer + + code + background-color: rgb(220, 220, 220) + color: #555 + margin: 2px 0 + display: inline-block + text-transform: lowercase diff --git a/app/templates/account/job_profile.jade b/app/templates/account/job_profile.jade index a5eff46d3..491ea8b9c 100644 --- a/app/templates/account/job_profile.jade +++ b/app/templates/account/job_profile.jade @@ -1,8 +1,8 @@ h3(data-i18n="account_settings.job_profile") Job Profile if me.get('jobProfileApproved') - p.lead(data-i18n="account_settings.job_profile_approved") Your job profile has been approved by CodeCombat. Hungry employers will see it until you mark it inactive or it is stale for two months. + p.lead(data-i18n="account_settings.job_profile_approved") Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks. else - p.lead(data-i18n="account_settings.job_profile_explanation") Hi! Fill this out, and if we think we can find you a software developer job, we will get in touch to approve your profile. + p.lead(data-i18n="account_settings.job_profile_explanation") Hi! Fill this out, and we will get in touch about finding you a software developer job. #job-profile-treema \ No newline at end of file diff --git a/app/templates/account/profile.jade b/app/templates/account/profile.jade index 5ef74256e..6fee4c8af 100644 --- a/app/templates/account/profile.jade +++ b/app/templates/account/profile.jade @@ -36,10 +36,16 @@ block content div= profile.city + ', ' + profile.country div= profile.visa - div Looking for: #{profile.lookingFor} - div Last updated #{moment(profile.updated).fromNow()} + div + span(data-i18n="account_profile.looking_for") Looking for: + | #{profile.lookingFor} + div + span(data-i18n="account_profile.last_updated") Last updated: + | #{moment(profile.updated).fromNow()} - button#contact-candidate.btn.btn-large.btn-inverse.flat-button Contact #{profile.name.split(' ')[0]} + button#contact-candidate.btn.btn-large.btn-inverse.flat-button + span(data-i18n="account_profile.contact") Contact + | #{profile.name.split(' ')[0]} .middle-column.full-height-column h3= profile.name @@ -53,7 +59,7 @@ block content if profile.work.length h3.experience-header img.header-icon(src="/images/pages/account/profile/work.png", alt="") - | Work Experience + span(data-i18n="account_profile.work_experience") Work Experience each job in profile.work div.duration.pull-right= job.duration | #{job.role} at #{job.employer} @@ -62,14 +68,14 @@ block content if profile.education.length h3.experience-header img.header-icon(src="/images/pages/account/profile/education.png", alt="") - | Education + span(data-i18n="account_profile.work_experience") Education each school in profile.education div.duration.pull-right= school.duration | #{school.degree} at #{school.school} .clearfix if user.get('jobProfileNotes') || me.isAdmin() - h3.experience-header Our Notes + h3.experience-header(data-i18n="account_profile.our_notes") Our Notes - var notes = user.get('jobProfileNotes') || ''; if me.isAdmin() textarea#job-profile-notes!= notes @@ -78,7 +84,7 @@ block content .right-column.full-height-column if profile.projects.length - h3 Projects + h3(data-i18n="account_profile.projects") Projects ul.projects each project in profile.projects li @@ -97,4 +103,4 @@ block content img.profile-photo(src=user.getPhotoURL(256)) h2 TODO - p Public user profiles are not ready yet. \ No newline at end of file + p Public user profiles are not ready yet. If you are seeing this, we probably have a bug leading to a broken link. \ No newline at end of file diff --git a/app/templates/employers.jade b/app/templates/employers.jade index d242a7d77..efeb59429 100644 --- a/app/templates/employers.jade +++ b/app/templates/employers.jade @@ -2,48 +2,30 @@ extends /templates/base block content - .row + h1(data-i18n="employers.want_to_hire_our_players") Want to hire expert CodeCombat players? - .col-md-6 - - h2 CodeCombat for Employers - - p.lead Want to hire expert CodeCombat players? - - p - | CodeCombat doesn't just have beginners. We also have expert software developers who play our - a(href="http://blog.codecombat.com/beat-this-level-get-a-programming-job") developer challenge levels - | . If your company is seeking technical talent, then we'd be happy to help place candidates with you. - - p We were actually overwhelmed by how many talented developers rushed to site, crushed our version of the algorithm in the Gridmancer challenge, and were looking for job opportunities, especially in the SF Bay Area where CodeCombat is located. So if you're an employer, now's a great time to get in touch and meet some amazing programmers. - - p If this sounds interesting, then let's get in touch, find out what you're looking for, talk about recruitment terms, and see what we can do for you. Don't worry–we are not your traditional recruiter. We're a tech company like you who happens to have a ton of great programmers looking to us for help with the job search. - - h3 - a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact Us + p + span(data-i18n="employers.candidates_count_prefix") We currently have + if candidates.length + | #{candidates.length} + else + span(data-i18n="employers.candidates_count_many") many + | + span(data-i18n="employers.candidates_count_suffix") highly skilled and vetted developers looking for work. + h3 + a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/employer_signup", data-i18n="employers.contact_george") Contact George to see our candidates - .span5 - - h2 Candidate Statistics - - h4 Resumes: 46 - h4 Ages: 16 - 45 - h4 Experience: 0 - 30 years - h4 Skill: from interns and entry level to senior developers and management - h4 Technologies: just about everything - h4 Countries: USA, Canada, Australia, and many more - if candidates.length table.table.table-condensed.table-hover.table-responsive.tablesorter thead tr - th Name - th Location - th Looking For - th Top 5 Skills - th Yrs Exp - th Last Updated - th Current Job + th(data-i18n="general.name") Name + th(data-i18n="employers.candidate_location") Location + th(data-i18n="employers.candidate_looking_for") Looking For + th(data-i18n="employers.candidate_role") Role + th(data-i18n="employers.candidate_top_skills") Top Skills + th(data-i18n="employers.candidate_years_experience") Yrs Exp + th(data-i18n="employers.candidate_last_updated") Last Updated if me.isAdmin() th ✓? @@ -64,20 +46,13 @@ block content else td= profile.country td= profile.lookingFor + td= profile.jobTitle td - each skill in profile.skills.slice(0, 5) + each skill in profile.skills.slice(0, 10) code= skill span td= profile.experience td= moment(profile.updated).fromNow() - if authorized - if profile.work.length - td= profile.work[0].role + ' at ' + profile.work[0].employer - else - td - else - td - em Employer sign-up required. if me.isAdmin() if candidate.get('jobProfileApproved') td ✓ diff --git a/app/templates/modal/job_profile_contact.jade b/app/templates/modal/job_profile_contact.jade index 87120f033..33a02d34d 100644 --- a/app/templates/modal/job_profile_contact.jade +++ b/app/templates/modal/job_profile_contact.jade @@ -4,7 +4,7 @@ block modal-header-content h3(data-i18n="contact.contact_candidate") Contact Candidate block modal-body-content - p(data-i18n="contact.recruitment_reminder") Use this form to get in touch with candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary for any full-time candidate you hire who stays 90 days, but that part-timers, remote employees, contractors, and interns are free. + p(data-i18n="contact.recruitment_reminder") Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns. .form .form-group label.control-label(for="contact-email", data-i18n="general.email") Email diff --git a/app/views/employers_view.coffee b/app/views/employers_view.coffee index a43bbf70a..744db1954 100644 --- a/app/views/employers_view.coffee +++ b/app/views/employers_view.coffee @@ -3,8 +3,7 @@ template = require 'templates/employers' app = require 'application' User = require 'models/User' CocoCollection = require 'models/CocoCollection' -employerSignupTemplate = require 'templates/modal/employer_signup_modal' -ModalView = require 'views/kinds/ModalView' +EmployerSignupView = require 'views/modal/employer_signup_modal' class CandidatesCollection extends CocoCollection url: '/db/user/x/candidates' @@ -81,10 +80,8 @@ module.exports = class EmployersView extends View onCandidateClicked: (e) -> id = $(e.target).closest('tr').data('candidate-id') - if id + if not id url = "/account/profile/#{id}" app.router.navigate url, {trigger: true} else - employerSignupModal = new ModalView() - employerSignupModal.template = employerSignupTemplate - @openModalView employerSignupModal + @openModalView new EmployerSignupView diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index 01f236154..ed9ad844a 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -210,6 +210,7 @@ module.exports = class CocoView extends Backbone.View return unless elem.data('toggle') is 'coco-modal' target = elem.data('target') view = application.router.getView(target, '_modal') # could set up a system for loading cached modals, if told to + console.log "got target", target, "which gave view", view @openModalView(view) openModalView: (modalView, softly=false) -> @@ -227,7 +228,7 @@ module.exports = class CocoView extends Backbone.View $('#modal-wrapper .modal').modal(modalOptions).on 'hidden.bs.modal', @modalClosed window.currentModal = modalView @getRootView().stopListeningToShortcuts(true) - # setTimeout -> + # setTimeout -> # $('.modal').nanoScroller({contentClass:'modal-dialog'}) # , 1000 diff --git a/app/views/modal/employer_signup_modal.coffee b/app/views/modal/employer_signup_modal.coffee new file mode 100644 index 000000000..de66c007d --- /dev/null +++ b/app/views/modal/employer_signup_modal.coffee @@ -0,0 +1,7 @@ +View = require 'views/kinds/ModalView' +template = require 'templates/modal/employer_signup_modal' + +module.exports = class EmployerSignupView extends View + id: "employer-signup" + template: template + closeButton: true diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index cd78dad9e..e176e7a41 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -232,9 +232,9 @@ UserHandler = class UserHandler extends Handler obj = _.pick document.toObject(), fields obj.photoURL ||= obj.jobProfile.photoURL if authorized obj.photoURL ||= @buildGravatarURL document if authorized - subfields = ['country', 'city', 'lookingFor', 'skills', 'experience', 'updated'] + subfields = ['country', 'city', 'lookingFor', 'jobTitle', 'skills', 'experience', 'updated'] if authorized - subfields = subfields.concat ['name', 'work'] + subfields = subfields.concat ['name'] obj.jobProfile = _.pick obj.jobProfile, subfields obj From cce2fe315308cf689a1438a687832bd2764a110d Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 13:18:05 -0700 Subject: [PATCH 35/79] Removed an import that no longer exists. --- app/initialize.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/app/initialize.coffee b/app/initialize.coffee index 1bd399e9d..50f880e78 100644 --- a/app/initialize.coffee +++ b/app/initialize.coffee @@ -5,7 +5,6 @@ channelSchemas = 'bus': require './schemas/subscriptions/bus' 'editor': require './schemas/subscriptions/editor' 'errors': require './schemas/subscriptions/errors' - 'level': require './schemas/subscriptions/level' 'misc': require './schemas/subscriptions/misc' 'play': require './schemas/subscriptions/play' 'surface': require './schemas/subscriptions/surface' From 5ccdf680db1ce400952457e3e0265dfc19e88568 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 13:19:38 -0700 Subject: [PATCH 36/79] Updated all i18n tags. --- app/locale/ar.coffee | 52 ++++++++++++++++++++++++----------- app/locale/bg.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ca.coffee | 52 ++++++++++++++++++++++++----------- app/locale/cs.coffee | 52 ++++++++++++++++++++++++----------- app/locale/da.coffee | 52 ++++++++++++++++++++++++----------- app/locale/de.coffee | 52 ++++++++++++++++++++++++----------- app/locale/el.coffee | 52 ++++++++++++++++++++++++----------- app/locale/en-AU.coffee | 52 ++++++++++++++++++++++++----------- app/locale/en-GB.coffee | 52 ++++++++++++++++++++++++----------- app/locale/en-US.coffee | 52 ++++++++++++++++++++++++----------- app/locale/en.coffee | 32 ++++++++++----------- app/locale/es-419.coffee | 52 ++++++++++++++++++++++++----------- app/locale/es-ES.coffee | 52 ++++++++++++++++++++++++----------- app/locale/es.coffee | 52 ++++++++++++++++++++++++----------- app/locale/fa.coffee | 52 ++++++++++++++++++++++++----------- app/locale/fi.coffee | 52 ++++++++++++++++++++++++----------- app/locale/fr.coffee | 52 ++++++++++++++++++++++++----------- app/locale/he.coffee | 52 ++++++++++++++++++++++++----------- app/locale/hi.coffee | 52 ++++++++++++++++++++++++----------- app/locale/hu.coffee | 52 ++++++++++++++++++++++++----------- app/locale/id.coffee | 52 ++++++++++++++++++++++++----------- app/locale/it.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ja.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ko.coffee | 52 ++++++++++++++++++++++++----------- app/locale/lt.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ms.coffee | 52 ++++++++++++++++++++++++----------- app/locale/nb.coffee | 52 ++++++++++++++++++++++++----------- app/locale/nl-BE.coffee | 52 ++++++++++++++++++++++++----------- app/locale/nl-NL.coffee | 52 ++++++++++++++++++++++++----------- app/locale/nl.coffee | 52 ++++++++++++++++++++++++----------- app/locale/nn.coffee | 52 ++++++++++++++++++++++++----------- app/locale/no.coffee | 52 ++++++++++++++++++++++++----------- app/locale/pl.coffee | 52 ++++++++++++++++++++++++----------- app/locale/pt-BR.coffee | 52 ++++++++++++++++++++++++----------- app/locale/pt-PT.coffee | 52 ++++++++++++++++++++++++----------- app/locale/pt.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ro.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ru.coffee | 48 ++++++++++++++++++++++---------- app/locale/sk.coffee | 52 ++++++++++++++++++++++++----------- app/locale/sl.coffee | 52 ++++++++++++++++++++++++----------- app/locale/sr.coffee | 52 ++++++++++++++++++++++++----------- app/locale/sv.coffee | 52 ++++++++++++++++++++++++----------- app/locale/th.coffee | 52 ++++++++++++++++++++++++----------- app/locale/tr.coffee | 50 +++++++++++++++++++++++---------- app/locale/uk.coffee | 52 ++++++++++++++++++++++++----------- app/locale/ur.coffee | 52 ++++++++++++++++++++++++----------- app/locale/vi.coffee | 52 ++++++++++++++++++++++++----------- app/locale/zh-HANS.coffee | 58 ++++++++++++++++++++++++++------------- app/locale/zh-HANT.coffee | 52 ++++++++++++++++++++++++----------- app/locale/zh.coffee | 52 ++++++++++++++++++++++++----------- 50 files changed, 1780 insertions(+), 800 deletions(-) diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee index bd0a77209..7cee431b0 100644 --- a/app/locale/ar.coffee +++ b/app/locale/ar.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi loading: "تحميل..." saving: "...جاري الحفض" sending: "ارسال..." +# send: "Send" cancel: "الغي" save: "احفض" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee index 391639bcf..fead6beb4 100644 --- a/app/locale/bg.coffee +++ b/app/locale/bg.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "български език", englishDescri loading: "Зареждане..." saving: "Записване..." sending: "Изпращане..." +# send: "Send" cancel: "Отказ" save: "Запис" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "български език", englishDescri # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "български език", englishDescri # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "български език", englishDescri # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "български език", englishDescri # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Промени настройките" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" - user_not_found: "Няма намерен потребител. Провери URL-а?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Нивото не може да бъде заредено: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "български език", englishDescri results: "Резултати" description: "Описание" or: "или" +# subject: "Subject" email: "Email" # password: "Password" message: "Съобщение" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "български език", englishDescri # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee index eaf9116ec..a7888b253 100644 --- a/app/locale/ca.coffee +++ b/app/locale/ca.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr loading: "Carregant..." saving: "Guardant..." sending: "Enviant..." +# send: "Send" cancel: "Cancel·lant" save: "Guardar" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr forum_page: "el nostre fòrum" forum_suffix: " sinó" send: "Enviar comentari" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee index 2dd5cd882..805e6d424 100644 --- a/app/locale/cs.coffee +++ b/app/locale/cs.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr loading: "Načítání..." saving: "Ukládání..." sending: "Odesílání..." +# send: "Send" cancel: "Zrušit" save: "Uložit" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr forum_page: "naše fórum" forum_suffix: "." send: "Odeslat připomínku" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Pomozte přeložit CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr wizard_tab: "Kouzelník" password_tab: "Heslo" emails_tab: "Emaily" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Zvolte kterou Gravatar fotografii použít" - gravatar_add_photos: "Přidat náhledy a fotografie do Gravatar účtu pro zvolení obrázku" - gravatar_add_more_photos: "Přidat do vašeho Gravatar účtu další fotografie." wizard_color: "Barva Kouzelníkova oblečení" new_password: "Nové heslo" new_password_verify: "Potvrdit" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr error_saving: "Chyba při ukládání" saved: "Změny uloženy" password_mismatch: "Hesla nesouhlasí." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Editovat Nastavení" profile_for_prefix: "Profil pro " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Uživatel nenalezen. Zkontrolujte adresu URL?" - gravatar_not_found_mine: "Nenalezli jsme profil asociovaný s:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Přihlásit se " - gravatar_signup_suffix: " k nastavení!" - gravatar_not_found_other: "Bohužel, neexistuje profil asociovaný s touto emailovou adresou." - gravatar_contact: "Kontakt" - gravatar_websites: "Weby" - gravatar_accounts: "Jak zobrazeno na" - gravatar_profile_link: "Účet Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Úroveň se nepodařilo otevřít: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr results: "Výsledky" description: "Popis" or: "nebo" +# subject: "Subject" email: "Email" # password: "Password" message: "Zpráva" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/da.coffee b/app/locale/da.coffee index cd8443101..6605605ba 100644 --- a/app/locale/da.coffee +++ b/app/locale/da.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans loading: "Henter..." saving: "Gemmer..." sending: "Sender..." +# send: "Send" cancel: "Annuller" save: "Gem" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans forum_page: "vores forum" forum_suffix: " istedet." send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Hjælp med at oversætte CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # group: "Group" clothes: "Påklædning" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans wizard_tab: "Troldmand" password_tab: "Password" emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Vælg hvilket Gravatar-billede du vil bruge" - gravatar_add_photos: "Tilføj thumbnails og billeder til en Gravatar-konto for din email for at kunne vælge et billede." - gravatar_add_more_photos: "Tilføj flere billeder til din Gravatar-konto for at tilgå dem her." wizard_color: "Farve på Troldmandstøj" new_password: "Nyt Password" new_password_verify: "Bekræft" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans error_saving: "Fejl under Gemning" saved: "Ændringer Gemt" password_mismatch: "Password matcher ikke." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Redigér Indstillinger" profile_for_prefix: "Profil for " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Ingen bruger fundet. Tjek URL'en?" - gravatar_not_found_mine: "Vi kunne ikke finde din profil associeret med:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Opret dig hos " - gravatar_signup_suffix: " for at påbegynde" - gravatar_not_found_other: "Hov, der er ingen profil associeret med denne persons e-mail konto" - gravatar_contact: "Kontakt" - gravatar_websites: "Gravatar hjemmesider" - gravatar_accounts: "Som set på" - gravatar_profile_link: "Fuld Gravatar Profil" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Banen kunne ikke indlæses: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans results: "resultater" description: "beskrivelse" or: "eller" +# subject: "Subject" email: "e-mail" # password: "Password" message: "Besked" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/de.coffee b/app/locale/de.coffee index 2be46fde3..a6c4e5c32 100644 --- a/app/locale/de.coffee +++ b/app/locale/de.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra loading: "Lade..." saving: "Speichere..." sending: "Übertrage..." +# send: "Send" cancel: "Abbrechen" save: "Speichern" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra forum_page: "unser Forum" forum_suffix: "." send: "Sende Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Hilf CodeCombat zu übersetzen!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra # group: "Group" clothes: "Kleidung" trim: "Applikationen" -# team: "Cloud" + cloud: "Wolke" +# team: "Team" spell: "Zauber" boots: "Stiefel" hue: "Farbton" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra wizard_tab: "Zauberer" password_tab: "Passwort" emails_tab: "Emails" +# job_profile_tab: "Job Profile" admin: "Admin" - gravatar_select: "Wähle ein Gravatar Bild aus" - gravatar_add_photos: "Füge Vorschaubilder und Fotos zu Deinem Gravatar Account (für Deine Email) hinzu, um ein Bild auswählen zu können" - gravatar_add_more_photos: "Füge mehr Fotos bei deinem Gravatar Account hinzu, um hier mehr Bilder wählen zu können" wizard_color: "Die Farbe der Kleidung des Zauberers" new_password: "Neues Passwort" new_password_verify: "Passwort verifizieren" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra error_saving: "Fehler beim Speichern" saved: "Änderungen gespeichert" password_mismatch: "Passwörter stimmen nicht überein." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Einstellungen ändern" profile_for_prefix: "Profil von " profile_for_suffix: "" - profile: "Profil" - user_not_found: "Kein Nutzer gefunden. URL überprüft?" - gravatar_not_found_mine: "Wir konnten dein Profil nicht finden, das mit folgender Email Adresse verbunden ist:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Melde dich an unter " - gravatar_signup_suffix: " um los zu legen!" - gravatar_not_found_other: "Leider ist kein Profil mit der Email Adresse verknüpft." - gravatar_contact: "Kontakt" - gravatar_websites: "Websites" - gravatar_accounts: "Gesehen auf" - gravatar_profile_link: "Gravatar Profil" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Level konnte nicht geladen werden: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra results: "Ergebnisse" description: "Beschreibung" or: "oder" +# subject: "Subject" email: "Email" password: "Passwort" message: "Nachricht" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/el.coffee b/app/locale/el.coffee index a81560d71..036c419dd 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre loading: "Φορτώνει..." saving: "Γίνεται αποθήκευση" sending: "Αποστολή ..." +# send: "Send" cancel: "Ακύρωση" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre forum_page: "το φόρουμ μας" # forum_suffix: " instead." send: "Αποστολή σχολίων" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Βοηθήστε στην μετάφραση CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre wizard_tab: "Μάγος" password_tab: "Κωδικός" emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Επέλεξε φωτογραφία \"Gravatar\" για να χρησιμοποιήσεις" - gravatar_add_photos: "Πρόσθεσε μικρογραφίες και φωτογραφίες σε έναν λογαριασμό \"Gravatar\" για το email σου διάλεξε μια φωτογραφία" - gravatar_add_more_photos: "Προσθέστε περισσότερες φωτογραφίες στο Gravatar λογαριασμό σας για να αποκτήσετε πρόσβαση σε αυτά από εδώ." wizard_color: "Χρώμα ρούχων του Μάγου" new_password: "Καινούργιος Κωδικός" new_password_verify: " Επαλήθευση Κωδικού" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre error_saving: "Σφάλμα αποθήκευσης" saved: "Οι αλλαγές αποθηκεύτηκαν" password_mismatch: "Οι κωδικοί δεν ταιριάζουν" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Επεξεργασία ρυθμίσεων" profile_for_prefix: "Προφίλ για " # profile_for_suffix: "" - profile: "Προφίλ" -# user_not_found: "No user found. Check the URL?" - gravatar_not_found_mine: " Δε μπορέσαμε να βρούμε το προφίλ σας που σχετίζετε με:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Εγγραφή στο " -# gravatar_signup_suffix: " to get set up!" - gravatar_not_found_other: "Αλίμονο, δεν υπάρχει προφίλ που σχετίζεται με αυτή τη διεύθυνση ηλεκτρονικού ταχυδρομείου του προσώπου αυτού." - gravatar_contact: "Επικοινωνία" - gravatar_websites: "Ιστοσελίδες" - gravatar_accounts: "Όπως φαίνεται στην" - gravatar_profile_link: "Πλήρη προφίλ \"Gravatar\"" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Το επίπεδο δεν μπόρεσε να φορτωθεί: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee index 5d4a44905..1b0c18045 100644 --- a/app/locale/en-AU.coffee +++ b/app/locale/en-AU.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." # diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee index 6e6525122..04e01b564 100644 --- a/app/locale/en-GB.coffee +++ b/app/locale/en-GB.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." # diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee index d776c1410..18673ed07 100644 --- a/app/locale/en-US.coffee +++ b/app/locale/en-US.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." # diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/en.coffee b/app/locale/en.coffee index f96d7de60..bc141749b 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -151,7 +151,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr wizard_tab: "Wizard" password_tab: "Password" emails_tab: "Emails" - job_profile_tab: "Job Profile!!!" + job_profile_tab: "Job Profile" admin: "Admin" wizard_color: "Wizard Clothes Color" new_password: "New Password" @@ -169,23 +169,23 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr error_saving: "Error Saving" saved: "Changes Saved" password_mismatch: "Password does not match." - job_profile: "Job Profile!!!" - job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks.!!!" - job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job.!!!" + job_profile: "Job Profile" + job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." + job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: - edit_settings: "Edit Settings!!!" - profile_for_prefix: "Profile for !!!" - profile_for_suffix: "!!!" - approved: "Approved!!!" - not_approved: "Not Approved!!!" - looking_for: "Looking for:!!!" - last_updated: "Last updated:!!!" - contact: "Contact!!!" - work_experience: "Work Experience!!!" - education: "Education!!!" - our_notes: "Our Notes!!!" - projects: "Projects!!!" + edit_settings: "Edit Settings" + profile_for_prefix: "Profile for " + profile_for_suffix: "" + approved: "Approved" + not_approved: "Not Approved" + looking_for: "Looking for:" + last_updated: "Last updated:" + contact: "Contact" + work_experience: "Work Experience" + education: "Education" + our_notes: "Our Notes" + projects: "Projects" employers: want_to_hire_our_players: "Want to hire expert CodeCombat players?" diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index 865db72e2..24e96e018 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip loading: "Cargando..." saving: "Guardando..." sending: "Enviando..." +# send: "Send" cancel: "Cancelar" save: "Guardar" create: "Crear" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip forum_page: "nuestro foro" forum_suffix: "en su lugar." send: "Enviar Comentario" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "¡Ayuda a traducir CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # group: "Group" clothes: "Ropa" # trim: "Trim" -# team: "Cloud" + cloud: "Nube" +# team: "Team" # spell: "Spell" boots: "Botas" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip wizard_tab: "Hechicero" password_tab: "Contraseña" emails_tab: "Correos" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Seleccione que foto de Gravatar usar" - gravatar_add_photos: "Añadir imágenes en miniatura y fotos a una cuenta de Gravatar para su correo electrónico para elegir una imagen." - gravatar_add_more_photos: "Añada más fotos a su cuenta de Gravatar para accederlas aquí." wizard_color: "Color de Ropas del Hechicero" new_password: "Nueva Contraseña" new_password_verify: "Verificar" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip error_saving: "Error al Guardar" saved: "Cambios Guardados" password_mismatch: "La contraseña no coincide." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Editar Configuración" profile_for_prefix: "Perfil para " profile_for_suffix: "" - profile: "Perfil" - user_not_found: "Usuario no encontrado. ¿URL correcta?" - gravatar_not_found_mine: "No hemos podido encontrar tu perfil asociado con " - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registratre en" - gravatar_signup_suffix: "¡Para ponerte en marcha!" - gravatar_not_found_other: "Por desgracia, no hay ningún perfil asociado con la dirección de correo electrónico de esta persona." - gravatar_contact: "Contacto" - gravatar_websites: "Sitios Web" - gravatar_accounts: "Como puede verse en" - gravatar_profile_link: "Perfil Gravatar Completo" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "El nivel no puede ser cargado: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee index cf48c7363..267cd5d5e 100644 --- a/app/locale/es-ES.coffee +++ b/app/locale/es-ES.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis loading: "Cargando..." saving: "Guardando..." sending: "Enviando..." +# send: "Send" cancel: "Cancelar" save: "Guardar" create: "Crear" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis forum_page: "nuestro foro" forum_suffix: " en su lugar." send: "Envía tu comentario" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "¡Ayuda a traducir CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # group: "Group" clothes: "Ropa" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" spell: "Hechizo" boots: "Botas" hue: "Matiz" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis wizard_tab: "Mago" password_tab: "Contraseña" emails_tab: "Correos electrónicos" +# job_profile_tab: "Job Profile" admin: "Admin" - gravatar_select: "Selecciona una foto de Gravatar para usar" - gravatar_add_photos: "Añade fotos a la cuenta de Gravatar asociada a tu correo electrónico para elegir la imagen." - gravatar_add_more_photos: "Añade más fotos a tu cuenta de Gravatar para tener acceso a ellas aquí." wizard_color: "Color de la ropa del Mago" new_password: "Nueva contraseña" new_password_verify: "Verificar" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis error_saving: "Error al guardar" saved: "Cambios guardados" password_mismatch: "La contraseña no coincide" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Ajustes" profile_for_prefix: "Perfil de " profile_for_suffix: "" - profile: "Perfil" - user_not_found: "No se encontró al usuario. ¿Comprueba la URL?" - gravatar_not_found_mine: "No podemos encontrar el perfil asociado con:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "¡Suscribete a " - gravatar_signup_suffix: " para ponerte en marcha!" - gravatar_not_found_other: "Vaya, no hay un perfil asociado a la dirección de correo electrónico de esta persona." - gravatar_contact: "Contacto" - gravatar_websites: "Paginas web" - gravatar_accounts: "Como se ve en" - gravatar_profile_link: "Perfil de Gravatar completo" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "No se pudo cargar el nivel: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis results: "Resultados" description: "Descripción" or: "o" +# subject: "Subject" email: "Correo electrónico" # password: "Password" message: "Mensaje" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/es.coffee b/app/locale/es.coffee index 04805e508..141907ffd 100644 --- a/app/locale/es.coffee +++ b/app/locale/es.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t loading: "Cargando..." saving: "Guardando..." sending: "Enviando..." +# send: "Send" cancel: "Cancelar" save: "Guardar" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t forum_page: "nuestro foro" forum_suffix: " en su lugar." send: "Enviar Comentario" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "¡Ayuda a traducir CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # group: "Group" clothes: "Ropa" trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" spell: "Spell" boots: "Botas" hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t wizard_tab: "Hechicero" password_tab: "Contraseña" emails_tab: "Correos" +# job_profile_tab: "Job Profile" admin: "Administrador" - gravatar_select: "Seleccione que foto de Gravatar usar" - gravatar_add_photos: "Añadir imágenes en miniatura y fotos a una cuenta de Gravatar para su correo electrónico para elegir una imagen." - gravatar_add_more_photos: "Añada más fotos a su cuenta de Gravatar para accederlas aquí." wizard_color: "Color de Ropas del Hechicero" new_password: "Nueva Contraseña" new_password_verify: "Verificar" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t error_saving: "Error al guardar" saved: "Cambios guardados" password_mismatch: "La contraseña no coincide" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Editar Ajustes" profile_for_prefix: "Perfil de " # profile_for_suffix: "" - profile: "Perfil" - user_not_found: "No se encontró al usuario. ¿Comprueba la URL?" - gravatar_not_found_mine: "No podemos encontrar el prefil asociado con:" -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Suscribete " - gravatar_signup_suffix: " para ponerte en marcha!" - gravatar_not_found_other: "Vaya, no hay un perfil asociado a la dirección de correo electrónico de esta persona." - gravatar_contact: "Contacto" - gravatar_websites: "Paginas web" - gravatar_accounts: "Como puedes ver" - gravatar_profile_link: "Prefil de Gravatar completo" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "No se pudo cargar el nivel: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t results: "Resultados" description: "Descripción" or: "o" +# subject: "Subject" email: "Email" password: "Contraseña" message: "Mensaje" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee index 73625e65b..dd83f940b 100644 --- a/app/locale/fa.coffee +++ b/app/locale/fa.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", loading: "...در حال بارگذاری" saving: "...در حال ذخیره سازی" sending: "...در حال ارسال" +# send: "Send" cancel: "لغو" save: "ذخیره " # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", forum_page: "فاروم ما" forum_suffix: " به جای" send: "ارسال بازخورد" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "کمک به ترجمه کمبت کد!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", wizard_tab: "جادو" password_tab: "کلمه عبور" emails_tab: "ایمیل ها" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: " استفاده شود Gravatar انتخاب کنید کدام تصویر" - gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # results: "Results" # description: "Description" or: "یا" +# subject: "Subject" email: "ایمیل" # password: "Password" message: "پیام" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index 4b083e092..0c90e6fad 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index d1befe1a2..1c8bae6dd 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t loading: "Chargement..." saving: "Sauvegarde..." sending: "Envoi..." +# send: "Send" cancel: "Annuler" save: "Sauvegarder" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t forum_page: "notre forum" forum_suffix: " à la place." send: "Envoyer un commentaire" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Aidez à traduire CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t # group: "Group" clothes: "Vêtements" trim: "Tailleur" -# team: "Cloud" + cloud: "Nuage" +# team: "Team" spell: "Sort" boots: "Bottes" hue: "Teinte" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t wizard_tab: "Magicien" password_tab: "Mot de passe" emails_tab: "Emails" +# job_profile_tab: "Job Profile" admin: "Admin" - gravatar_select: "Sélectionnez la photo Gravatar à utiliser" - gravatar_add_photos: "Ajouter des vignettes et des photos sur un compte Gravatar pour votre e-mail pour choisir une image." - gravatar_add_more_photos: "Ajouter plus de photos à votre compte Gravatar pour y accéder ici." wizard_color: "Couleur des vêtements du Magicien" new_password: "Nouveau mot de passe" new_password_verify: "Vérifier" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "français", englishDescription: "French", t error_saving: "Problème d'enregistrement" saved: "Changements sauvegardés" password_mismatch: "Le mot de passe ne correspond pas." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Éditer les préférences" profile_for_prefix: "Profil pour " profile_for_suffix: "" - profile: "Profil" - user_not_found: "Aucun utilisateur trouvé. Vérifier l'URL?" - gravatar_not_found_mine: "Nous n'avons pas pu trouver votre profil associé à: " - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "S'incrire à " - gravatar_signup_suffix: " pour commencer !" - gravatar_not_found_other: "Hélas, il n'y a pas de profil associé à l'adresse électronique de cette personne." - gravatar_contact: "Contact" - gravatar_websites: "Sites" - gravatar_accounts: "As Seen On" - gravatar_profile_link: "Profil Gravatar complet" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Le niveau ne peut pas être chargé: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t results: "Résultats" description: "Description" or: "ou" +# subject: "Subject" email: "Email" password: "Mot de passe" message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "français", englishDescription: "French", t # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/he.coffee b/app/locale/he.coffee index 610a1fb9c..acef8bd72 100644 --- a/app/locale/he.coffee +++ b/app/locale/he.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", loading: "...טוען" saving: "...שומר" sending: "...שולח" +# send: "Send" cancel: "ביטול" save: "שמור" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", forum_page: "פורום שלנו" forum_suffix: " במקום." send: "שלח אימייל" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "עזור לתרגם את CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # group: "Group" clothes: "בגדים" trim: "קישוט" -# team: "Cloud" + cloud: "ענן" +# team: "Team" spell: "כישוף" boots: "מגפיים" hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", wizard_tab: "קוסם" password_tab: "סיסמה" emails_tab: "אימיילים" +# job_profile_tab: "Job Profile" admin: "אדמין" - gravatar_select: "תבחר באיזו תמונת גרבטר אתה רוצה להישתמש" - gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." - gravatar_add_more_photos: "תוסיף עוד תמונות לחשבון הגרבטר שלך כדי להסיג אותם כאן." wizard_color: "צבע הקוסם" new_password: "סיסמה חדשה" new_password_verify: "חזור על הסיסמה שנית" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", error_saving: "בעיה בשמירה" saved: "השינויים נשמרו" password_mismatch: "סיסמאות לא זהות" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "ערוך הגדרות" profile_for_prefix: "פרופיל ל" profile_for_suffix: "" - profile: "פרופיל" - user_not_found: "משתמש לא נמצא. בדקת את הURL?" - gravatar_not_found_mine: "לא הצלחנו למצא חשבון גרבטר המותאם עם: " - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "הירשם ב" - gravatar_signup_suffix: "כדי לקבל תמונת חשבון" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee index 93dd93d84..5888b5b7d 100644 --- a/app/locale/hi.coffee +++ b/app/locale/hi.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index 1b22813cd..3a10608b9 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t loading: "Töltés..." saving: "Mentés..." sending: "Küldés..." +# send: "Send" cancel: "Mégse" save: "Mentés" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t forum_page: "fórumban" forum_suffix: " is." send: "Visszajelzés küldése" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Segítsd lefordítani a CodeCombat-ot!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # group: "Group" clothes: "Öltözetek" # trim: "Trim" -# team: "Cloud" + cloud: "Felhő" +# team: "Team" spell: "Varázslat" boots: "Lábbelik" hue: "Árnyalat" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t wizard_tab: "Varázsló" password_tab: "Jelszó" emails_tab: "Levelek" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Válassz egy Gravatar képet!" - gravatar_add_photos: "Adj képeket a Gravatar fiókodhoz" - gravatar_add_more_photos: "Adj több képet a Gravatar fiókodhoz, hogy itt is elérd őket" wizard_color: "Varázslód színe" new_password: "Új jelszó" new_password_verify: "Új jelszó megismétlése" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t error_saving: "Hiba a mentés során" saved: "Változtatások elmentve" password_mismatch: "A jelszavak nem egyeznek." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Beállítások szerkesztése" # profile_for_prefix: "Profile for " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Nincs ilyen felhasználó! Jó az URL?" - gravatar_not_found_mine: "Nem találtunk profilt ezzel a címmel:" -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Regisztrálj az " - gravatar_signup_suffix: " oldalon!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." - gravatar_contact: "Kapcsolat" - gravatar_websites: "Weboldalak" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "A pályát nem sikerült betölteni: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/id.coffee b/app/locale/id.coffee index ec64791c8..949de21a9 100644 --- a/app/locale/id.coffee +++ b/app/locale/id.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/it.coffee b/app/locale/it.coffee index 058f90109..c7598577e 100644 --- a/app/locale/it.coffee +++ b/app/locale/it.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t loading: "Caricamento in corso..." saving: "Salvataggio in corso..." sending: "Invio in corso..." +# send: "Send" cancel: "Annulla" save: "Salva" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t forum_page: "il nostro forum" forum_suffix: " invece." send: "Invia feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Aiutaci a tradurre CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # group: "Group" clothes: "Abbigliamento" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t wizard_tab: "Stregone" password_tab: "Password" emails_tab: "Email" +# job_profile_tab: "Job Profile" admin: "Amministratore" - gravatar_select: "Seleziona quale foto di Gravatar usare" - gravatar_add_photos: "Aggiungi delle miniature e delle immagini all'account di Gravatar per la tua email per scegliere un'immagine." - gravatar_add_more_photos: "Aggiungi più foto al tuo account di Gravatar per vederle qui." wizard_color: "Colore dei vestiti da Stregone" new_password: "Nuova password" new_password_verify: "Verifica" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t error_saving: "Errore durante il salvataggio" saved: "Modifiche salvate" password_mismatch: "La password non corrisponde." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Modifica impostazioni" profile_for_prefix: "Profilo di " profile_for_suffix: "" - profile: "Profilo" - user_not_found: "Utente non trovato. Controlla l'URL" - gravatar_not_found_mine: "Non abbiamo trovato un profilo associato a:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Iscriviti su " - gravatar_signup_suffix: " per impostare tutto!" - gravatar_not_found_other: "A quanto pare non c'è un profilo associato con l'indirizzo email di questa persona." - gravatar_contact: "Contatto" - gravatar_websites: "Siti web" - gravatar_accounts: "Come su" - gravatar_profile_link: "Profilo Gravatar completo" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Il livello non può essere caricato: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t results: "Risultati" description: "Descrizione" or: "o" +# subject: "Subject" email: "Email" password: "Password" message: "Messaggio" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index 3bc5a3a91..31da04d92 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", loading: "ロード中" saving: "保存中..." sending: "送信中..." +# send: "Send" cancel: "キャンセル" save: "保存" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", forum_page: "こちらのフォーラム" forum_suffix: " でお願いします。" send: "フィードバックを送信" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "CodeCombatを翻訳しましょう!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", wizard_tab: "魔法使い" password_tab: "パスワード" emails_tab: "メール" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Gravatar" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." wizard_color: "ウィザードの色" new_password: "新パスワード" new_password_verify: "新パスワードを再入力" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", error_saving: "セーブ中にエラーが発生しました" saved: "変更しました" password_mismatch: "パスワードが違います" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "設定" # profile_for_prefix: "Profile for " profile_for_suffix: "のプロフィール" - profile: "プロフィール" - user_not_found: "ユーザーが見つかりません。URLを間違って入力していないか確認してください。" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" - gravatar_not_found_email_suffix: " のメールアドレスは Gravatar で見つけることができませんでした。" -# gravatar_signup_prefix: "Sign up at " - gravatar_signup_suffix: " を登録" - gravatar_not_found_other: "このメールアドレスには プロフィールが関連付けられていません。" -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "レベルがロード出来ませんでした: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee index 28e143ba3..cc318f9f5 100644 --- a/app/locale/ko.coffee +++ b/app/locale/ko.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t loading: "로딩중입니다..." saving: "저장중입니다..." sending: "보내는 중입니다..." +# send: "Send" cancel: "취소" save: "저장" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t forum_page: "포럼" forum_suffix: " 대신에." send: "의견 보내기" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "코드 컴뱃 번역을 도와주세요!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # group: "Group" clothes: "옷" trim: "장식" -# team: "Cloud" + cloud: "구름" +# team: "Team" spell: "마법" boots: "장화" hue: "색조" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t wizard_tab: "마법사" password_tab: "비밀번호" emails_tab: "이메일" +# job_profile_tab: "Job Profile" admin: "관리자" - gravatar_select: "사용하기 위한 Gravatar를 선택해 주세요" - gravatar_add_photos: "이미지를 선택하기 위해서는 우선 Gravatar 계정에 썸네일이나 이미지를 추가하여 주세요" - gravatar_add_more_photos: "코드컴뱃에서 더 많은 이미지를 추가하려면 우선 당신의 Gravatar 계정에 좀 더 많은 이미지를 추가해 주세요" wizard_color: "마법사 옷 색깔" new_password: "새 비밀번호" new_password_verify: "확인(다시한번 입력해주세요)" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t error_saving: "오류 저장" saved: "변경사항 저장 완료" password_mismatch: "비밀번호가 일치하지 않습니다." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "설정사항 변경" profile_for_prefix: "프로필 " profile_for_suffix: "" - profile: "프로필" - user_not_found: "유저를 찾을 수 없습니다 URL은 체크 하셨죠?" - gravatar_not_found_mine: "죄송하지만 귀하의 이메일 주소를 찾을 수 없습니다 :" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "등록" - gravatar_signup_suffix: " 등록하세요" - gravatar_not_found_other: "이 사람의 이메일 주소와 관련된 어떤것도 찾을 수 없습니다." - gravatar_contact: "연락처" - gravatar_websites: "웹사이트" - gravatar_accounts: "보이는대로" - gravatar_profile_link: "전체 Gravatar 프로필" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "레벨 로딩 실패 : " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t results: "결과들" description: "설명" or: "또한" +# subject: "Subject" email: "이메일" password: "비밀번호" message: "메시지" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee index d425d2a6a..2e685fa50 100644 --- a/app/locale/lt.coffee +++ b/app/locale/lt.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee index 1c23871c2..ecb324a61 100644 --- a/app/locale/ms.coffee +++ b/app/locale/ms.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa loading: "Pemuatan..." saving: "Menyimpan data..." sending: "Menghantar maklumat.." +# send: "Send" cancel: "Batal" save: "Simpan data" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa forum_page: "forum kami" # forum_suffix: " instead." send: "Hantar Maklumbalas" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Kami perlu menterjemahkan CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # wizard_tab: "Wizard" password_tab: "Kata-laluan" emails_tab: "Kesemua E-mel" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Pilih mana gambar Gravatar photo digunakan" - gravatar_add_photos: "Tambah thumbnail and gambar-gambar kepada akaun Gravatar untuk emel anda untuk pilih imej." - gravatar_add_more_photos: "Tambah lebih gambar kepada akaun Gravatar dan aksess dari sana." # wizard_color: "Wizard Clothes Color" new_password: "Kata-laluan baru" new_password_verify: "Verifikasi" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa error_saving: "Masalah menyimpan" saved: "Pengubahsuian disimpan" password_mismatch: "Kata-laluan tidak sama." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: # edit_settings: "Edit Settings" profile_for_prefix: "Profil untuk " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Pengguna tiada. Semak kembali URL?" - gravatar_not_found_mine: "Kami tidak dapat mencari profil anda yang mengenai dengan:" -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Daftar di " - gravatar_signup_suffix: " untuk mula!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." - gravatar_contact: "Hubungi" - gravatar_websites: "Lelaman" - gravatar_accounts: "Juga didapati di" - gravatar_profile_link: "Profil Penuh Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa results: "Keputusan-keputusan" description: "Deskripsi" or: "atau" +# subject: "Subject" email: "Emel" password: "Kata Laluan" message: "Mesej" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee index 319a143da..22a81f4e4 100644 --- a/app/locale/nb.coffee +++ b/app/locale/nb.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg loading: "Laster..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" cancel: "Avbryt" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg forum_page: "forumet vårt" forum_suffix: " i steden." send: "Send Tilbakemelding" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Hjelp med oversettelse av CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg wizard_tab: "Trollmann" password_tab: "Passord" emails_tab: "Epost" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Velg hvilket Gravatar bilde du ønsker å bruke" - gravatar_add_photos: "Legg til miniatyrbilder og bildertil en Gravatar konto for at du skal kunne velge et bilde for din epost." - gravatar_add_more_photos: "Legg til flere bilder til din Gravatar konto for å kunne aksessere dem her." wizard_color: "Farge på Trollmannens Klær" new_password: "Nytt Passord" new_password_verify: "Verifiser" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg error_saving: "Lagring Feilet" saved: "Endringer Lagret" password_mismatch: "Passordene er ikke like." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Rediger Innstillinger" profile_for_prefix: "Profil for " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Ingen bruker funnet. Sjekk URL'en?" - gravatar_not_found_mine: "Vi kunne ikke finne din profil assosiert med:" -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registre det på " - gravatar_signup_suffix: " for å sette opp!" - gravatar_not_found_other: "Akk, det er ingen profil assosiert med denne personens epost adresse." - gravatar_contact: "Kontakt" - gravatar_websites: "Websider" - gravatar_accounts: "Som Sett På" - gravatar_profile_link: "Full Gravatar Profil" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Nivået kunne ikke bli lastet: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # results: "Results" # description: "Description" or: "eller" +# subject: "Subject" email: "Epost" # password: "Password" message: "Melding" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index 3435b5154..d340f7c8e 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: loading: "Aan het laden..." saving: "Opslaan..." sending: "Verzenden..." +# send: "Send" cancel: "Annuleren" save: "Opslagen" create: "Creëer" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: forum_page: "ons forum" forum_suffix: "." send: "Feedback Verzonden" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Help CodeCombat vertalen!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # group: "Group" clothes: "Kleren" trim: "Trim" -# team: "Cloud" + cloud: "Wolk" +# team: "Team" spell: "Spreuk" boots: "Laarzen" hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: wizard_tab: "Tovenaar" password_tab: "Wachtwoord" emails_tab: "Emails" +# job_profile_tab: "Job Profile" admin: "Administrator" - gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken" - gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen." - gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken." wizard_color: "Tovenaar Kleding Kleur" new_password: "Nieuw Wachtwoord" new_password_verify: "Verifieer" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: error_saving: "Fout Tijdens Het Opslaan" saved: "Aanpassingen Opgeslagen" password_mismatch: "Het wachtwoord komt niet overeen." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Instellingen Aanpassen" profile_for_prefix: "Profiel voor " profile_for_suffix: "" - profile: "Profiel" - user_not_found: "Geen gebruiker gevonden. Controleer de URL?" - gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registreer op " - gravatar_signup_suffix: " om alles in orde te maken!" - gravatar_not_found_other: "Helaas, er is geen profiel geassocieerd met dit e-mail adres." - gravatar_contact: "Contact" - gravatar_websites: "Websites" - gravatar_accounts: "Zoals Gezien Op" - gravatar_profile_link: "Volledig Gravatar Profiel" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Level kon niet geladen worden: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: results: "Resultaten" description: "Beschrijving" or: "of" +# subject: "Subject" email: "Email" password: "Wachtwoord" message: "Bericht" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index 44538b479..24fa06202 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription loading: "Aan het laden..." saving: "Opslaan..." sending: "Verzenden..." +# send: "Send" cancel: "Annuleren" save: "Opslagen" create: "Creëer" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription forum_page: "ons forum" forum_suffix: "." send: "Feedback Verzonden" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Help CodeCombat vertalen!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription # group: "Group" clothes: "Kleren" trim: "Trim" -# team: "Cloud" + cloud: "Wolk" +# team: "Team" spell: "Spreuk" boots: "Laarzen" hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription wizard_tab: "Tovenaar" password_tab: "Wachtwoord" emails_tab: "Emails" +# job_profile_tab: "Job Profile" admin: "Administrator" - gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken" - gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen." - gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken." wizard_color: "Tovenaar Kleding Kleur" new_password: "Nieuw Wachtwoord" new_password_verify: "Verifieer" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription error_saving: "Fout Tijdens Het Opslaan" saved: "Aanpassingen Opgeslagen" password_mismatch: "Het wachtwoord komt niet overeen." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Instellingen Aanpassen" profile_for_prefix: "Profiel voor " profile_for_suffix: "" - profile: "Profiel" - user_not_found: "Geen gebruiker gevonden. Controleer de URL?" - gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registreer op " - gravatar_signup_suffix: " om alles in orde te maken!" - gravatar_not_found_other: "Helaas, er is geen profiel geassocieerd met dit e-mail adres." - gravatar_contact: "Contact" - gravatar_websites: "Websites" - gravatar_accounts: "Zoals Gezien Op" - gravatar_profile_link: "Volledig Gravatar Profiel" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Level kon niet geladen worden: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription results: "Resultaten" description: "Beschrijving" or: "of" +# subject: "Subject" email: "Email" password: "Wachtwoord" message: "Bericht" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index 6746d2f9e..2916a370f 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t loading: "Aan het laden..." saving: "Opslaan..." sending: "Verzenden..." +# send: "Send" cancel: "Annuleren" save: "Opslagen" create: "Creëer" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t forum_page: "ons forum" forum_suffix: "." send: "Feedback Verzonden" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Help CodeCombat vertalen!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t # group: "Group" clothes: "Kleren" trim: "Trim" -# team: "Cloud" + cloud: "Wolk" +# team: "Team" spell: "Spreuk" boots: "Laarzen" hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t wizard_tab: "Tovenaar" password_tab: "Wachtwoord" emails_tab: "Emails" +# job_profile_tab: "Job Profile" admin: "Administrator" - gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken" - gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen." - gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken." wizard_color: "Tovenaar Kleding Kleur" new_password: "Nieuw Wachtwoord" new_password_verify: "Verifieer" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t error_saving: "Fout Tijdens Het Opslaan" saved: "Aanpassingen Opgeslagen" password_mismatch: "Het wachtwoord komt niet overeen." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Instellingen Aanpassen" profile_for_prefix: "Profiel voor " profile_for_suffix: "" - profile: "Profiel" - user_not_found: "Geen gebruiker gevonden. Controleer de URL?" - gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registreer op " - gravatar_signup_suffix: " om alles in orde te maken!" - gravatar_not_found_other: "Helaas, er is geen profiel geassocieerd met dit e-mail adres." - gravatar_contact: "Contact" - gravatar_websites: "Websites" - gravatar_accounts: "Zoals Gezien Op" - gravatar_profile_link: "Volledig Gravatar Profiel" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Level kon niet geladen worden: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t results: "Resultaten" description: "Beschrijving" or: "of" +# subject: "Subject" email: "Email" password: "Wachtwoord" message: "Bericht" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee index de5d6404e..e5d1f651b 100644 --- a/app/locale/nn.coffee +++ b/app/locale/nn.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/no.coffee b/app/locale/no.coffee index bc46eae53..37606b74a 100644 --- a/app/locale/no.coffee +++ b/app/locale/no.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr loading: "Laster..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" cancel: "Avbryt" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr forum_page: "forumet vårt" forum_suffix: " i steden." send: "Send Tilbakemelding" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Hjelp med oversettelse av CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr wizard_tab: "Trollmann" password_tab: "Passord" emails_tab: "Epost" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Velg hvilket Gravatar bilde du ønsker å bruke" - gravatar_add_photos: "Legg til miniatyrbilder og bildertil en Gravatar konto for at du skal kunne velge et bilde for din epost." - gravatar_add_more_photos: "Legg til flere bilder til din Gravatar konto for å kunne aksessere dem her." wizard_color: "Farge på Trollmannens Klær" new_password: "Nytt Passord" new_password_verify: "Verifiser" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr error_saving: "Lagring Feilet" saved: "Endringer Lagret" password_mismatch: "Passordene er ikke like." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Rediger Innstillinger" profile_for_prefix: "Profil for " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Ingen bruker funnet. Sjekk URL'en?" - gravatar_not_found_mine: "Vi kunne ikke finne din profil assosiert med:" -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registre det på " - gravatar_signup_suffix: " for å sette opp!" - gravatar_not_found_other: "Akk, det er ingen profil assosiert med denne personens epost adresse." - gravatar_contact: "Kontakt" - gravatar_websites: "Websider" - gravatar_accounts: "Som Sett På" - gravatar_profile_link: "Full Gravatar Profil" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Nivået kunne ikke bli lastet: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # results: "Results" # description: "Description" or: "eller" +# subject: "Subject" email: "Epost" # password: "Password" message: "Melding" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee index b71912fad..ca2cce66d 100644 --- a/app/locale/pl.coffee +++ b/app/locale/pl.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish loading: "Ładowanie..." saving: "Zapisywanie..." sending: "Wysyłanie…" +# send: "Send" cancel: "Anuluj" save: "Zapisz" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish forum_page: "naszego forum" forum_suffix: "." send: "Wyślij wiadomość" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Pomóż w tłumaczeniu CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish # group: "Group" clothes: "Ubrania" trim: "Dodatki" -# team: "Cloud" + cloud: "Chmura" +# team: "Team" spell: "Zaklęcie" boots: "Buty" hue: "Odcień" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish wizard_tab: "Czarodziej" password_tab: "Hasło" emails_tab: "Powiadomienia" +# job_profile_tab: "Job Profile" admin: "Administrator" - gravatar_select: "Wybierz fotografię z Gravatar" - gravatar_add_photos: "Dodaj zdjęcia i miniatury do swojego konta Gravatar, by móc wybrać zdjęcie." - gravatar_add_more_photos: "Dodaj więcej zdjęć do swojego konta Gravatar, by móc ich użyć." wizard_color: "Kolor ubrań czarodzieja" new_password: "Nowe hasło" new_password_verify: "Zweryfikuj" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish error_saving: "Błąd zapisywania" saved: "Zmiany zapisane" password_mismatch: "Hasła róznią się od siebie" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Edytuj ustawienia" profile_for_prefix: "Profil" profile_for_suffix: "" - profile: "Profil" - user_not_found: "Nie znaleziono użytkownika. Sprawdź odnośnik URL." - gravatar_not_found_mine: "Nie udało nam się znaleźć profilu powiązanego z:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Utwórz konto w " - gravatar_signup_suffix: ", aby rozpocząć!" - gravatar_not_found_other: "Niestety, nie ma profilu powiązanego z tym adresem email." - gravatar_contact: "Kontakt" - gravatar_websites: "Strony WWW" -# gravatar_accounts: "As Seen On" - gravatar_profile_link: "Profil Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Nie udało się wczytać poziomu: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish results: "Wyniki" description: "Opis" or: "lub" +# subject: "Subject" email: "Email" password: "Hasło" message: "Wiadomość" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee index 024f65b50..6994e239a 100644 --- a/app/locale/pt-BR.coffee +++ b/app/locale/pt-BR.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: loading: "Carregando..." saving: "Salvando..." sending: "Enviando..." +# send: "Send" cancel: "Cancelar" save: "Salvar" create: "Criar" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: forum_page: "nosso fórum" forum_suffix: " ao invés disso." send: "Enviar opinião" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Ajude a traduzir o CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: # group: "Group" clothes: "Roupas" trim: "Aparar" -# team: "Cloud" + cloud: "Nuvem" +# team: "Team" spell: "Feitiço" boots: "Boots" hue: "Matiz" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: wizard_tab: "Feiticeiro" password_tab: "Senha" emails_tab: "Emails" +# job_profile_tab: "Job Profile" admin: "Admin" - gravatar_select: "Selecione qual foto do Gravatar usar" - gravatar_add_photos: "Adicione miniaturas e fotos a uma conta do Gravatar ligada ao seu email para poder escolher uma imagem." - gravatar_add_more_photos: "Adicione mais fotos à sua conta do Gravatar para acessá-las aqui." wizard_color: "Cor das Roupas do Feiticeiro" new_password: "Nova Senha" new_password_verify: "Confirmação" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: error_saving: "Erro no salvamento" saved: "Alterações Salvas" password_mismatch: "As senhas não estão iguais" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Editar as configurações" profile_for_prefix: "Perfil de " profile_for_suffix: "" - profile: "Perfil" - user_not_found: "Nenhum usuário encontrado. Checou o endereço de internet?" - gravatar_not_found_mine: "Não conseguimos encontrar o perfil que está associado a:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Crie uma conta no " - gravatar_signup_suffix: " para poder configurar!" - gravatar_not_found_other: "Infelizmente, não há perfil associado ao endereço de e-mail dessa pessoa." - gravatar_contact: "Contate-nos" - gravatar_websites: "Websites" - gravatar_accounts: "Como visto no" - gravatar_profile_link: "Perfil Completo do Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "O estágio não pôde ser carregado: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: results: "Resultados" description: "Descrição" or: "ou" +# subject: "Subject" email: "Email" password: "Senha" message: "Mensagem" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index ccb16c0aa..f8af8dc83 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P loading: "A carregar..." saving: "A guardar..." sending: "A enviar..." +# send: "Send" cancel: "Cancelar" save: "Guardar" create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P forum_page: "nosso fórum" forum_suffix: " como alternativa." send: "Enviar Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Ajuda a traduzir o CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P # group: "Group" clothes: "Roupas" trim: "Pormenores" -# team: "Cloud" + cloud: "Nuvem" +# team: "Team" spell: "Feitiço" boots: "Botas" hue: "Matiz" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P wizard_tab: "Feiticeiro" password_tab: "Palavra-passe" emails_tab: "E-mails" +# job_profile_tab: "Job Profile" admin: "Admin" - gravatar_select: "Seleciona qual fotografia Gravatar a usar" - gravatar_add_photos: "Adiciona miniaturas e fotografias a uma conta Gravatar com o teu email para escolheres uma imagem." - gravatar_add_more_photos: "Adiciona mais fotografias à tua conta Gravatar para as acederes aqui." wizard_color: "Cor das roupas do feiticeiro" new_password: "Nova palavra-passe" new_password_verify: "Verificar" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P error_saving: "Erro ao guardar" saved: "Alterações guardadas" password_mismatch: "As palavras-passe não coincidem." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Editar Definições" profile_for_prefix: "Perfil de " profile_for_suffix: "" - profile: "Perfil" - user_not_found: "Nenhum utilizador encontrado. Verifica o URL?" - gravatar_not_found_mine: "Não conseguimos encontrar o teu perfil associado com:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Regista-te no " - gravatar_signup_suffix: " para começares!" - gravatar_not_found_other: "Infelizmente, não existe nenhum perfil associado ao endereço de e-mail desta pessoa." - gravatar_contact: "Contacto" - gravatar_websites: "Websites" - gravatar_accounts: "Como visto no" - gravatar_profile_link: "Perfil Gravatar completo" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "O nível não pôde ser carregado: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P results: "Resultados" description: "Descrição" or: "ou" +# subject: "Subject" email: "E-mail" password: "Palavra-passe" message: "Mensagem" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee index 6079ffa76..92863b48e 100644 --- a/app/locale/pt.coffee +++ b/app/locale/pt.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues loading: "Carregando..." # saving: "Saving..." sending: "Enviando..." +# send: "Send" cancel: "Cancelar" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues forum_page: "nosso fórum" forum_suffix: " ao invés disso." send: "Enviar opinião" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Ajude a traduzir o CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues wizard_tab: "Feiticeiro" password_tab: "Senha" emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Selecione qual foto do Gravatar usar" - gravatar_add_photos: "Adicione miniaturas e fotos a uma conta do Gravatar ligada ao seu email para poder escolher uma imagem." - gravatar_add_more_photos: "Adicione mais fotos à sua conta do Gravatar para acessá-las aqui." wizard_color: "Cor das Roupas do Feiticeiro" new_password: "Nova Senha" new_password_verify: "Confirmação" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues error_saving: "Erro no salvamento" saved: "Alterações Salvas" password_mismatch: "As senhas não estão iguais" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Editar as configurações" profile_for_prefix: "Perfil de " # profile_for_suffix: "" - profile: "Perfil" - user_not_found: "Nenhum usuário encontrado. Checou o endereço de internet?" - gravatar_not_found_mine: "Não conseguimos encontrar o perfil que está associado a:" -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Crie uma conta no " - gravatar_signup_suffix: " para poder configurar!" - gravatar_not_found_other: "Infelizmente, não há perfil associado ao endereço de e-mail dessa pessoa." - gravatar_contact: "Contate-nos" - gravatar_websites: "Websites" - gravatar_accounts: "Como visto no" - gravatar_profile_link: "Perfil Completo do Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "O estágio não pôde ser carregado: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # results: "Results" # description: "Description" or: "ou" +# subject: "Subject" email: "Email" # password: "Password" message: "Mensagem" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee index b1ace00ce..3e1d70a11 100644 --- a/app/locale/ro.coffee +++ b/app/locale/ro.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman loading: "Se incarcă..." saving: "Se salvează..." sending: "Se trimite..." +# send: "Send" cancel: "Anulează" save: "Salvează" create: "Crează" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman forum_page: "forumul nostru" forum_suffix: " în schimb." send: "Trimite Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Ajută-ne să traducem CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # group: "Group" clothes: "Haine" trim: "Margine" -# team: "Cloud" + cloud: "Nor" +# team: "Team" spell: "Vrajă" boots: "Încălțăminte" hue: "Culoare" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman wizard_tab: "Wizard" password_tab: "Parolă" emails_tab: "Email-uri" +# job_profile_tab: "Job Profile" admin: "Admin" - gravatar_select: "Selectează ce poză Gravatar vrei să foloșesti" - gravatar_add_photos: "Adaugă thumbnails și poze la un cont Gravatar pentru email-ul tău pentru a alege o imagine." - gravatar_add_more_photos: "Adaugă mai multe poze la contul tău Gravatar pentru a le accesa aici." wizard_color: "Culoare haine pentru Wizard" new_password: "Parolă nouă" new_password_verify: "Verifică" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman error_saving: "Salvare erori" saved: "Modificări salvate" password_mismatch: "Parola nu se potrivește." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Modifică setările" profile_for_prefix: "Profil pentru " profile_for_suffix: "" - profile: "Profil" - user_not_found: "Utilizator negăsit. Verifică URL-ul??" - gravatar_not_found_mine: "N-am putut găsi profilul asociat cu:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Înscrie-te la " - gravatar_signup_suffix: " pentru a fi gata!" - gravatar_not_found_other: "Din păcate nu este asociat nici un profil cu această adresă de email." - gravatar_contact: "Contact" - gravatar_websites: "Website-uri" - gravatar_accounts: "Așa cum apare la" - gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Nivelul nu a putut fi încărcat: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman results: "Resultate" description: "Descriere" or: "sau" +# subject: "Subject" email: "Email" password: "Parolă" message: "Mesaj" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 74de99777..8b7a05e89 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi loading: "Загрузка..." saving: "Сохранение..." sending: "Отправка..." +# send: "Send" cancel: "Отмена" save: "Сохранить" create: "Создать" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi forum_page: "наш форум" forum_suffix: "." send: "Отправить отзыв" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Помогите перевести CodeCombat!" @@ -131,6 +134,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi group: "Группа" clothes: "Одежда" trim: "Отделка" +# cloud: "Cloud" team: "Облако" spell: "Заклинание" boots: "Обувь" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi wizard_tab: "Волшебник" password_tab: "Пароль" emails_tab: "Email-адреса" +# job_profile_tab: "Job Profile" admin: "Админ" - gravatar_select: "Выберите, какое фото с Gravatar использовать" - gravatar_add_photos: "Чтобы выбрать изображение, добавьте фото и уменьшенные изображения в ваш Gravatar-аккаунт." - gravatar_add_more_photos: "Добавьте больше фото к вашему аккаунту в Gravatar, чтобы использовать их здесь." wizard_color: "Цвет одежды волшебника" new_password: "Новый пароль" new_password_verify: "Подтверждение пароля" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi error_saving: "Ошибка сохранения" saved: "Изменения сохранены" password_mismatch: "Пароли не совпадают." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Изменить настройки" profile_for_prefix: "Профиль для " profile_for_suffix: "" - profile: "Профиль" - user_not_found: "Пользователь не найден. Пожалуйста, проверьте URL." - gravatar_not_found_mine: "Мы не можем найти профиль, связанный с" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Зарегистрируйтесь на " - gravatar_signup_suffix: ", чтобы настроить профиль." - gravatar_not_found_other: "Нет профиля, связанного с почтой данного пользователя." - gravatar_contact: "Контакты" - gravatar_websites: "Сайты" - gravatar_accounts: "Как показано на" - gravatar_profile_link: "Полный профиль на Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Уровень не может быть загружен: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi results: "Результаты" description: "Описание" or: "или" +# subject: "Subject" email: "Email" password: "Пароль" message: "Сообщение" @@ -643,3 +661,5 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi gplus_friends: "Друзья G+" gplus_friend_sessions: "Сессии друзей G+" leaderboard: "таблица лидеров" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee index 0f10471ee..311450353 100644 --- a/app/locale/sk.coffee +++ b/app/locale/sk.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", loading: "Načítava sa..." saving: "Ukladá sa..." sending: "Odosiela sa..." +# send: "Send" cancel: "Zruš" save: "Ulož" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", forum_page: "naše fórum" forum_suffix: "." send: "Poslať odozvu" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # group: "Group" clothes: "Róba" trim: "Lem" -# team: "Cloud" + cloud: "Obláčik" +# team: "Team" spell: "Kúzlo" boots: "Čižmy" hue: "Odtieň" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", wizard_tab: "Kúzelník" password_tab: "Heslo" emails_tab: "E-maily" +# job_profile_tab: "Job Profile" admin: "Spravovať" - gravatar_select: " Vyber ktorú fotografiu z Gravataru použit" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." wizard_color: "Farba kúzelníckej róby" new_password: "Nové heslo" new_password_verify: "Overenie" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", error_saving: "Chyba pri ukladaní" saved: "Zmeny uložené" password_mismatch: "Heslá nesedia." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # results: "Results" # description: "Description" or: "alebo" +# subject: "Subject" email: "Email" # password: "Password" message: "Správa" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee index 2459161ef..f5117a52a 100644 --- a/app/locale/sl.coffee +++ b/app/locale/sl.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee index 2a9d65638..834ed73c8 100644 --- a/app/locale/sr.coffee +++ b/app/locale/sr.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian loading: "Учитавање" saving: "Чување..." sending: "Шаље се..." +# send: "Send" cancel: "Откажи" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian forum_page: "наш форум." # forum_suffix: " instead." send: "Пошаљи повратну информацију" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Помози нам у превођењу CodeCombat-а!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian wizard_tab: "Чаробњак" password_tab: "Шифра" emails_tab: "Мејлови" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Изабери Граватар фотографију " - gravatar_add_photos: "Додај сличице и фотографије за Граватар налог за свој мејл да изабереш слику." - gravatar_add_more_photos: "Додај још слика на свој Граватар налог да би им приступио овде." wizard_color: "Боја Одеће Чаробњака" new_password: "Нова Шифра" new_password_verify: "Потврди" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian error_saving: "Чување грешке..." saved: "Измене су сачуване" password_mismatch: "Шифре се не слажу." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Измени подешавања" profile_for_prefix: "Налог за " # profile_for_suffix: "" - profile: "Налог" - user_not_found: "Корисник није пронађен. Проверите УРЛ?" - gravatar_not_found_mine: "Нисмо могли да пронађемо твој налог који је повезан са:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Упиши се на " - gravatar_signup_suffix: " да би се припремио!" - gravatar_not_found_other: "Нажалост, не постоји налог повезан са дотичном мејл адресом." - gravatar_contact: "Контакт" - gravatar_websites: "Веб сајтови" - gravatar_accounts: "Као што је виђено на" - gravatar_profile_link: "Цео Граватар налог" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Ниво није могао бити учитан: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # results: "Results" # description: "Description" or: "или" +# subject: "Subject" email: "Мејл" # password: "Password" message: "Порука" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee index cbf8ab1f1..7af1c1915 100644 --- a/app/locale/sv.coffee +++ b/app/locale/sv.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr loading: "Laddar..." saving: "Sparar..." sending: "Skickar..." +# send: "Send" cancel: "Avbryt" save: "Spara" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr forum_page: "vårt forum" forum_suffix: " istället." send: "Skicka Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Hjälp till att översätta CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # group: "Group" clothes: "Kläder" trim: "Dekorationer" -# team: "Cloud" + cloud: "Moln" +# team: "Team" spell: "Trollformel" boots: "Stövlar" hue: "Nyans" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr wizard_tab: "Trollkarl" password_tab: "Lösenord" emails_tab: "E-postadresser" +# job_profile_tab: "Job Profile" admin: "Administratör" - gravatar_select: "Välj ett Gravatar-foto att använda" - gravatar_add_photos: "Lägg till miniatyrbilder och fotografier i ett Gravatar-konto kopplat till din e-postadress för att välja profilbild." - gravatar_add_more_photos: "Lägg till mer fotografier till i ditt Gravatar-konto för att använda dem här." wizard_color: "Trollkarlens klädfärg" new_password: "Nytt lösenord" new_password_verify: "Verifiera" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr error_saving: "Ett fel uppstod när ändringarna skulle sparas" saved: "Ändringar sparade" password_mismatch: "De angivna lösenorden stämmer inte överens." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Ändra inställningar" profile_for_prefix: "Profil för " # profile_for_suffix: "" - profile: "Profil" - user_not_found: "Användaren du söker verkar inte finnas. Stämmer adressen?" - gravatar_not_found_mine: "Vi kunde inte hitta en profil associerad med: " -# gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Registrera dig på " - gravatar_signup_suffix: " för att komma igång!" - gravatar_not_found_other: "Tyvärr, det finns ingen profil associerad med den här personens e-postadress." - gravatar_contact: "Kontakt" - gravatar_websites: "Hemsidor" -# gravatar_accounts: "As Seen On" - gravatar_profile_link: "Hela Gravatar-profilen" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Nivån kunde inte laddas: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr results: "Resultat" description: "Beskrivning" or: "eller" +# subject: "Subject" email: "E-post" password: "Lösenord" message: "Meddelande" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/th.coffee b/app/locale/th.coffee index cfcfe79e1..fda48a549 100644 --- a/app/locale/th.coffee +++ b/app/locale/th.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra loading: "รอสักครู่..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" cancel: "ยกเลิก" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # wizard_tab: "Wizard" password_tab: "รหัสผ่าน" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" new_password: "รหัสผ่านใหม่" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra error_saving: "บันทึกผิดพลาด" saved: "เปลี่ยนรหัสผ่าน" password_mismatch: "รหัสผ่านไม่ถูกต้อง" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "แก้ไขการตั้งค่า" # profile_for_prefix: "Profile for " # profile_for_suffix: "" - profile: "ประวัติส่วนตัว" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." - gravatar_contact: "ติดต่อ" - gravatar_websites: "เว็บไซต์" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee index b99c6483e..6725086d5 100644 --- a/app/locale/tr.coffee +++ b/app/locale/tr.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t loading: "Yükleniyor..." saving: "Kaydediliyor..." sending: "Gönderiliyor..." +# send: "Send" cancel: "İptal" save: "Kaydet" create: "Oluştur" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t forum_page: "forumumuzu" forum_suffix: " kullanabilirsiniz." send: "Gönder" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "CodeCombat'in tercüme edilmesine yardımcı olabilirsiniz!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # group: "Group" clothes: "Kıyafet" trim: "Süs" -# team: "Cloud" + cloud: "Püs" +# team: "Team" spell: "Büyü" boots: "Çizme" hue: "Ton" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t wizard_tab: "Sihirbaz" password_tab: "Şifre" emails_tab: "E-postalar" +# job_profile_tab: "Job Profile" admin: "Yönetici" - gravatar_select: "Kullanılacak Gravatar fotoğrafını seçin" - gravatar_add_photos: "Burada resim olarak kullanmak için Gravatar hesabınıza buradaki e-posta adresinin aynısı olacak şekilde resim yükleyin." - gravatar_add_more_photos: "Burada kullanmak üzere Gravatar hesabınıza resim yükleyin." wizard_color: "Sihirbaz Kıyafeti Rengi" new_password: "Yeni Şifre" new_password_verify: "Teyit Et" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t error_saving: "Kayıt Esnasında Hata" saved: "Değişiklikler Kaydedildi" password_mismatch: "Şifreler Uyuşmuyor" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Ayarları Düzenle" # profile_for_prefix: "Profile for " profile_for_suffix: " Kullanıcısının Profili" - profile: "Profil" - user_not_found: "Kullanıcı bulunamadı. URL'den emin misiniz?" - gravatar_not_found_mine: "Şununla ilişkili profilinizi bulamadık:" - gravatar_not_found_email_suffix: "Profil resminizi düzenlemek için" - gravatar_signup_prefix: "Profil resminizi düzenlemek için" - gravatar_signup_suffix: "adresine kaydolmalısınız." - gravatar_not_found_other: "Ne yazık ki, bu kullanıcının e-postasıyla ilişkilendirilmiş bir e-posta adresi yok." - gravatar_contact: "İletişim" - gravatar_websites: "Web siteleri" - gravatar_accounts: "Görüldüğü Gibi" - gravatar_profile_link: "Tam Gravatar Profili" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Seviye yüklenemedi: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t results: "Sonuçlar" description: "Açıklama" or: "veya" +# subject: "Subject" email: "E-posta" password: "Şifre" message: "İleti" @@ -643,3 +661,5 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t gplus_friends: "G+ Arkadaşları" gplus_friend_sessions: "G+ Arkadaş Oturumları" leaderboard: "Sıralama" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee index 53fbc8186..611ce3c32 100644 --- a/app/locale/uk.coffee +++ b/app/locale/uk.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "українська мова", englishDesc loading: "Завантаження..." saving: "Збереження..." sending: "Надсилання..." +# send: "Send" cancel: "Відміна" save: "Зберегти" create: "Створити" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "українська мова", englishDesc forum_page: "наш форум" forum_suffix: "." send: "Надіслати фідбек" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Допоможіть перекласти CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "українська мова", englishDesc # group: "Group" clothes: "Одяг" trim: "Оздоблення" -# team: "Cloud" + cloud: "Хмаринка" +# team: "Team" spell: "Закляття" boots: "Черевики" hue: "Відтінок" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "українська мова", englishDesc wizard_tab: "Персонаж" password_tab: "Пароль" emails_tab: "Email-адреси" +# job_profile_tab: "Job Profile" admin: "Aдмін" - gravatar_select: "Оберіть, яке фото з Gravatar використовувати" - gravatar_add_photos: "Додайте фото та зменшені зображення до акаунта Gravatar, пов'язаного з вашою email-адресою, щоб обрати зображення" - gravatar_add_more_photos: "Додайти більше фото до вашого акаунта Gravatar, щоб вони були доступні тут." wizard_color: "Колір одягу персонажа" new_password: "Новий пароль" new_password_verify: "Підтвердження паролю" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "українська мова", englishDesc error_saving: "Помилка при збереженні" saved: "Зміни збережено" password_mismatch: "Паролі не збігаються." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Змінити налаштування" profile_for_prefix: "Профіль для " profile_for_suffix: "" - profile: "Профіль" - user_not_found: "Користувача не знайдено. Будь ласка, перевірте URL." - gravatar_not_found_mine: "Ми не можемо знайти ваш профіль, пов'язаний з:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Зареєструйтеся на " - gravatar_signup_suffix: " щоб продовжувати" - gravatar_not_found_other: "Нажаль, немає профіля, що пов'язаний з електронною адресою цієї людини." - gravatar_contact: "Контакти" - gravatar_websites: "Вебсайти" - gravatar_accounts: "Як показано на" - gravatar_profile_link: "Повний профіль Gravatar" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "Неможливо завантажити рівень: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "українська мова", englishDesc results: "Результати" description: "Опис" or: "чи" +# subject: "Subject" email: "Email" password: "Пароль" message: "Повідомлення" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "українська мова", englishDesc # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee index 9dca96bf4..d08ca0e0f 100644 --- a/app/locale/ur.coffee +++ b/app/locale/ur.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", loading: "Loading..." # saving: "Saving..." # sending: "Sending..." +# send: "Send" # cancel: "Cancel" # save: "Save" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # forum_page: "our forum" # forum_suffix: " instead." # send: "Send Feedback" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: # title: "Help translate CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee index 1e5e2fd12..4ae41f29d 100644 --- a/app/locale/vi.coffee +++ b/app/locale/vi.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn loading: "Tải..." saving: "Lưu..." sending: "Gởi..." +# send: "Send" cancel: "Hủy" save: "Lưu" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn forum_page: "Diễn đàn của chúng tôi" # forum_suffix: " instead." send: "Gởi phản hồi" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "Hãy giúp dịch thuật cho CodeCombat!" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn wizard_tab: "Wizard" password_tab: "Mật khẩu" emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "Chọn hình Gravatar để sử dụng" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." wizard_color: "Màu trang phục Wizard" new_password: "Mật khẩu mới" new_password_verify: "Xác nhận" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn error_saving: "Lỗi lưu" saved: "Thay đổi được lưu" password_mismatch: "Mật khẩu không khớp." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "Chỉnh sửa cài đặt" # profile_for_prefix: "Profile for " # profile_for_suffix: "" - profile: "Hồ sơ" - user_not_found: "Không có người sử dụng được tìm thấy. Kiểm tra URL?" - gravatar_not_found_mine: "Chúng tôi không thể tìm thấy hồ sơ của bạn được đính kèm theo:" - gravatar_not_found_email_suffix: "." - gravatar_signup_prefix: "Đăng ký tại " - gravatar_signup_suffix: " để thiết lập!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" - gravatar_websites: "Địa chỉ trang Web" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # results: "Results" # description: "Description" # or: "or" +# subject: "Subject" # email: "Email" # password: "Password" # message: "Message" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee index e751d3942..023933929 100644 --- a/app/locale/zh-HANS.coffee +++ b/app/locale/zh-HANS.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese loading: "读取中……" saving: "保存中……" sending: "发送中……" +# send: "Send" cancel: "取消" save: "保存" create: "创建" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese forum_page: "我们的论坛" forum_suffix: "" send: "反馈意见" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "帮助我们翻译 CodeCombat" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese # group: "Group" clothes: "衣服" trim: "条纹" -# team: "Cloud" + cloud: "云" +# team: "Team" spell: "魔法球" boots: "鞋子" hue: "颜色" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese wizard_tab: "巫师" password_tab: "密码" emails_tab: "邮件" +# job_profile_tab: "Job Profile" admin: "管理" - gravatar_select: "选择一张 Gravatar 图片" - gravatar_add_photos: "添加小图和图片到一个 Gravatar 账户供你选择。" - gravatar_add_more_photos: "去 Gravatar 添加图片, 然后回来这里查看。" wizard_color: "巫师 衣服 颜色" new_password: "新密码" new_password_verify: "核实" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese error_saving: "保存时出错" saved: "更改已保存" password_mismatch: "密码不匹配。" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "编辑设置" profile_for_prefix: "关于他的基本资料:" profile_for_suffix: "" - profile: "基本资料" - user_not_found: "没有找到用户。网址有错?" - gravatar_not_found_mine: "我们找不到他的基本资料:" - gravatar_not_found_email_suffix: "。" - gravatar_signup_prefix: "去注册 " - gravatar_signup_suffix: " 来设置!" - gravatar_not_found_other: "哎呀,没有与这个邮箱相关的资料。" - gravatar_contact: "联系" - gravatar_websites: "网站" - gravatar_accounts: "显示为" - gravatar_profile_link: "完善 Gravatar 资料" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "关卡不能载入: " @@ -256,7 +273,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese think_solution: "思考解决方法, 而不是问题." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" -# tip_debugging_program: "如果说调试修理 bug 的一种流程, 那么编程肯定是制造bug的流程f debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" +# tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" # tip_forums: "Head over to the forums and tell us what you think!" # tip_baby_coders: "In the future, even babies will be Archmages." # tip_morale_improves: "Loading will continue until morale improves." @@ -268,7 +285,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese tip_binary: "这个世界上只有 10 种人: 那些懂二进制的, 还有那些不懂二进制的." # tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" tip_no_try: "做. 或是不做. 这世上不存在'尝试'这种东西. - 尤达大师" -# tip_patience: "Patience you must have, young Padawan. - 尤达大师" +# tip_patience: "Patience you must have, young Padawan. - Yoda" tip_documented_bug: "一个写在文档里的漏洞不算漏洞, 那是个功能." tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" tip_talk_is_cheap: "多说无用, 亮出你的代码. - Linus Torvalds" @@ -343,8 +360,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese article_search_title: "在这里搜索物品" thang_search_title: "在这里搜索物品类型" level_search_title: "在这里搜索关卡" - read_only_warning: "注意: 你无法保存这里的编辑结果, 因为你没有以管理员身份登录." # signup_to_create: "Sign Up to Create a New Content" + read_only_warning: "注意: 你无法保存这里的编辑结果, 因为你没有以管理员身份登录." article: edit_btn_preview: "预览" @@ -362,6 +379,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese results: "结果" description: "描述" or: "或" +# subject: "Subject" email: "邮件" password: "密码" message: "信息" @@ -576,7 +594,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese please_login: "请在对奕之前先登录." my_matches: "我的对手" simulate: "模拟" -# simulation_explanation: "通过模拟游戏, 你可以把排名提的更快!" +# simulation_explanation: "By simulating games you can get your game ranked faster!" simulate_games: "模拟游戏!" # simulate_all: "RESET AND SIMULATE GAMES" # games_simulated_by: "Games simulated by you:" @@ -643,3 +661,5 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese gplus_friends: "G+ 朋友" # gplus_friend_sessions: "G+ Friend Sessions" leaderboard: "排行榜" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee index 1e1343f49..17efa98e0 100644 --- a/app/locale/zh-HANT.coffee +++ b/app/locale/zh-HANT.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese loading: "Loading..." saving: "儲存中..." sending: "發送中...." +# send: "Send" cancel: "取消" save: "存檔" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese forum_page: "論壇" forum_suffix: "討論。" send: "意見反饋" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "幫我們翻譯CodeCombat" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese wizard_tab: "巫師" password_tab: "密碼" emails_tab: "郵件" +# job_profile_tab: "Job Profile" # admin: "Admin" - gravatar_select: "選擇一個Gravatar" - gravatar_add_photos: "上傳頭像到Gravatar" -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." wizard_color: "巫師 衣服 顏色" new_password: "新密碼" new_password_verify: "確認密碼" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese error_saving: "保存時發生錯誤" saved: "修改已儲存" password_mismatch: "密碼不正確。" +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." account_profile: edit_settings: "帳號設定" profile_for_prefix: "關於" profile_for_suffix: "的基本資料" - profile: "基本資料" - user_not_found: "沒有找到用戶。檢查URL?" - gravatar_not_found_mine: "我們找不到有關" - gravatar_not_found_email_suffix: "的資料" - gravatar_signup_prefix: "請至" - gravatar_signup_suffix: " 註冊帳號" - gravatar_not_found_other: "哎呦,找不到這個地址的資料。" - gravatar_contact: "聯繫我們" - gravatar_websites: "網站" - gravatar_accounts: "顯示為" - gravatar_profile_link: "完善 Gravatar 資料" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" play_level: level_load_error: "載入關卡時發生錯誤: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # results: "Results" # description: "Description" or: "或" +# subject: "Subject" # email: "Email" # password: "Password" message: "訊息" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee index cdf8b0cbe..dcd0038a7 100644 --- a/app/locale/zh.coffee +++ b/app/locale/zh.coffee @@ -3,6 +3,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra loading: "加载中..." saving: "正在保存..." sending: "在发送中。。。" +# send: "Send" cancel: "退出" save: "保存" # create: "Create" @@ -114,6 +115,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra forum_page: "我们的论坛" # forum_suffix: " instead." send: "意见反馈" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." diplomat_suggestion: title: "帮我们翻译CodeCombat" @@ -131,7 +134,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # group: "Group" # clothes: "Clothes" # trim: "Trim" -# team: "Cloud" +# cloud: "Cloud" +# team: "Team" # spell: "Spell" # boots: "Boots" # hue: "Hue" @@ -147,10 +151,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # wizard_tab: "Wizard" # password_tab: "Password" # emails_tab: "Emails" +# job_profile_tab: "Job Profile" # admin: "Admin" -# gravatar_select: "Select which Gravatar photo to use" -# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image." -# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here." # wizard_color: "Wizard Clothes Color" # new_password: "New Password" # new_password_verify: "Verify" @@ -167,22 +169,37 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # error_saving: "Error Saving" # saved: "Changes Saved" # password_mismatch: "Password does not match." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." # account_profile: # edit_settings: "Edit Settings" # profile_for_prefix: "Profile for " # profile_for_suffix: "" -# profile: "Profile" -# user_not_found: "No user found. Check the URL?" -# gravatar_not_found_mine: "We couldn't find your profile associated with:" -# gravatar_not_found_email_suffix: "." -# gravatar_signup_prefix: "Sign up at " -# gravatar_signup_suffix: " to get set up!" -# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address." -# gravatar_contact: "Contact" -# gravatar_websites: "Websites" -# gravatar_accounts: "As Seen On" -# gravatar_profile_link: "Full Gravatar Profile" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" # play_level: # level_load_error: "Level could not be loaded: " @@ -362,6 +379,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # results: "Results" # description: "Description" or: "或" +# subject: "Subject" email: "邮箱" # password: "Password" message: "留言" @@ -642,4 +660,6 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # facebook_friend_sessions: "Facebook Friend Sessions" # gplus_friends: "G+ Friends" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "leaderboard" +# leaderboard: "Leaderboard" +# user_schema: "User Schema" +# user_profile: "User Profile" From 82b47f6c0f18196f405c9dcc749c949980a30e7f Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 13:37:39 -0700 Subject: [PATCH 37/79] Added i18n for #809. --- app/locale/en.coffee | 1 + app/templates/modal/signup.jade | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index bc141749b..8e65e4212 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -75,6 +75,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr creating: "Creating Account..." sign_up: "Sign Up" log_in: "log in with password" + social_signup: "Or, you can sign up through Facebook or G+:" home: slogan: "Learn to Code JavaScript by Playing a Game" diff --git a/app/templates/modal/signup.jade b/app/templates/modal/signup.jade index aa260ddda..db46c7e03 100644 --- a/app/templates/modal/signup.jade +++ b/app/templates/modal/signup.jade @@ -34,8 +34,7 @@ block modal-footer .modal-footer div button.btn.btn-primary.btn-large#signup-button(data-i18n="signup.sign_up") Sign Up - div.social-login-text. - Or you can login directly through Facebook or G+ + div.social-login-text(data-i18n="signup.social_signup") Or, you can sign up through Facebook or G+: .modal-footer.network-logins div From ce84437345b11518ddf59535567cd6d44527f61d Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 13:49:02 -0700 Subject: [PATCH 38/79] Updated treema version. --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 0c55d76af..be29667d4 100644 --- a/bower.json +++ b/bower.json @@ -39,7 +39,7 @@ "d3": "~3.4.4", "nanoscroller": "~0.8.0", "jquery.tablesorter": "~2.15.13", - "treema": "~0.0.1", + "treema": ">=0.0.1", "bootstrap": "~3.1.1", "validated-backbone-mediator": "~0.1.3" }, From 10bb17c38ab2edf5ea2ce3912cb16fe13f577e96 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 14:03:13 -0700 Subject: [PATCH 39/79] Added getThangByID method to Thang. Handled a few error corner cases with the time popup. --- app/lib/world/thang.coffee | 3 +++ app/views/play/level/playback_view.coffee | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/lib/world/thang.coffee b/app/lib/world/thang.coffee index 426e7541f..e7ed50f05 100644 --- a/app/lib/world/thang.coffee +++ b/app/lib/world/thang.coffee @@ -42,6 +42,9 @@ module.exports = class Thang setGoalState: (goalID, status) -> @world.setGoalState goalID, status + getThangByID: (id) -> + @world.getThangByID id + addComponents: (components...) -> # We don't need to keep the components around after attaching them, but we will keep their initial config for recreating Thangs @components ?= [] diff --git a/app/views/play/level/playback_view.coffee b/app/views/play/level/playback_view.coffee index 4a3e4d359..a79594429 100644 --- a/app/views/play/level/playback_view.coffee +++ b/app/views/play/level/playback_view.coffee @@ -151,7 +151,7 @@ module.exports = class PlaybackView extends View @newTime = 0 @currentTime = 0 - @timePopup = new HoverPopup unless @timePopup? + @timePopup ?= new HoverPopup #TODO: Why do we need defaultValues here at all? Fallback language has been set to 'en'... oO @@ -192,7 +192,7 @@ module.exports = class PlaybackView extends View @$progressScrubber.slider('disable', true) catch e #console.warn('error disabling scrubber') - @timePopup.disable() + @timePopup?.disable() $('#volume-button', @$el).removeClass('disabled') onEnableControls: (e) -> @@ -203,7 +203,7 @@ module.exports = class PlaybackView extends View @$progressScrubber.slider('enable', true) catch e #console.warn('error enabling scrubber') - @timePopup.enable() + @timePopup?.enable() onSetPlaying: (e) -> @playing = (e ? {}).playing ? true @@ -242,21 +242,21 @@ module.exports = class PlaybackView extends View @lastProgress = e.progress onProgressEnter: (e) -> - #Why it needs itself as parameter you ask? Ask Twitter instead.. - @timePopup.enter @timePopup + # Why it needs itself as parameter you ask? Ask Twitter instead. + @timePopup?.enter @timePopup onProgressLeave: (e) -> - @timePopup.leave @timePopup + @timePopup?.leave @timePopup onProgressHover: (e) -> timeRatio = @$progressScrubber.width() / @totalTime @newTime = e.offsetX / timeRatio @updatePopupContent() - @timePopup.onHover e + @timePopup?.onHover e - #Show it instantaniously if close enough to current time. - if Math.abs(@currentTime - @newTime) < 1 and not @timePopup.shown - @timePopup.show() unless @timePopup.shown + # Show it instantaneously if close enough to current time. + if @timePopup and Math.abs(@currentTime - @newTime) < 1 and not @timePopup.shown + @timePopup.show() updateProgress: (progress) -> $('.scrubber .progress-bar', @$el).css('width', "#{progress*100}%") From bbb9fb7a648525db6410121bbd052517085712f4 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 14:19:17 -0700 Subject: [PATCH 40/79] Added a patches view. --- app/collections/PatchesCollection.coffee | 10 +++++ app/lib/NameLoader.coffee | 17 ++++++++ app/styles/editor/patches.sass | 3 ++ app/templates/editor/patches.jade | 27 +++++++++++++ app/templates/editor/thang/edit.jade | 6 +++ app/views/editor/patches_view.coffee | 49 ++++++++++++++++++++++++ app/views/editor/thang/edit.coffee | 3 ++ app/views/kinds/CocoView.coffee | 11 ++++-- 8 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 app/collections/PatchesCollection.coffee create mode 100644 app/lib/NameLoader.coffee create mode 100644 app/styles/editor/patches.sass create mode 100644 app/templates/editor/patches.jade create mode 100644 app/views/editor/patches_view.coffee diff --git a/app/collections/PatchesCollection.coffee b/app/collections/PatchesCollection.coffee new file mode 100644 index 000000000..456db1e42 --- /dev/null +++ b/app/collections/PatchesCollection.coffee @@ -0,0 +1,10 @@ +PatchModel = require 'models/Patch' +CocoCollection = require 'models/CocoCollection' + +module.exports = class PatchesCollection extends CocoCollection + model: PatchModel + + initialize: (models, options, forModel, @status='pending') -> + super(arguments...) + @url = "#{forModel.urlRoot}/#{forModel.get('original')}/patches?status=#{@status}" + diff --git a/app/lib/NameLoader.coffee b/app/lib/NameLoader.coffee new file mode 100644 index 000000000..0dd798d80 --- /dev/null +++ b/app/lib/NameLoader.coffee @@ -0,0 +1,17 @@ +CocoClass = require 'lib/CocoClass' + +namesCache = {} + +class NameLoader extends CocoClass + loadNames: (ids) -> + toLoad = (id for id in ids when not namesCache[id]) + return false unless toLoad.length + jqxhr = $.ajax('/db/user/x/names', {type:'POST', data:{ids:toLoad}}) + jqxhr.done @loadedNames + + loadedNames: (newNames) => + _.extend namesCache, newNames + + getName: (id) -> namesCache[id] + +module.exports = new NameLoader() diff --git a/app/styles/editor/patches.sass b/app/styles/editor/patches.sass new file mode 100644 index 000000000..87c22728e --- /dev/null +++ b/app/styles/editor/patches.sass @@ -0,0 +1,3 @@ +.patches-view + .status-buttons + margin: 10px 0 diff --git a/app/templates/editor/patches.jade b/app/templates/editor/patches.jade new file mode 100644 index 000000000..ce3b1af84 --- /dev/null +++ b/app/templates/editor/patches.jade @@ -0,0 +1,27 @@ +.btn-group(data-toggle="buttons").status-buttons + label.btn.btn-default.pending + input(type="radio", name="status", value="pending") + | Pending + label.btn.btn-default.accepted + input(type="radio", name="status", value="accepted") + | Accepted + label.btn.btn-default.rejected + input(type="radio", name="status", value="rejected") + | Rejected + label.btn.btn-default.withdrawn + input(type="radio", name="status", value="withdrawn") + | Withdrawn + +if patches.loading + p Loading +else + table.table.table-condensed.table-bordered + tr + th Submitter + th Submitted + th Commit Message + for patch in patches + tr + td= patch.userName + td= moment(patch.get('created')).format('llll') + td= patch.get('commitMessage') diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index 556385873..04486aba1 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -27,6 +27,8 @@ block content a(href="#editor-thang-spritesheets-view", data-toggle="tab") Spritesheets li a(href="#editor-thang-colors-tab-view", data-toggle="tab")#color-tab Colors + li + a(href="#editor-thang-patches-view", data-toggle="tab")#patches-tab Patches div.tab-content div.tab-pane#editor-thang-colors-tab-view @@ -83,6 +85,10 @@ block content div.tab-pane#editor-thang-spritesheets-view div#spritesheets + + div.tab-pane#editor-thang-patches-view + + div.patches-view div#error-view diff --git a/app/views/editor/patches_view.coffee b/app/views/editor/patches_view.coffee new file mode 100644 index 000000000..abba96997 --- /dev/null +++ b/app/views/editor/patches_view.coffee @@ -0,0 +1,49 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/editor/patches' +PatchesCollection = require 'collections/PatchesCollection' +nameLoader = require 'lib/NameLoader' + +module.exports = class PatchesView extends CocoView + template: template + className: 'patches-view' + status: 'pending' + + events: + 'change .status-buttons': 'onStatusButtonsChanged' + + constructor: (@model, options) -> + super(options) + @initPatches() + + initPatches: -> + @startedLoading = false + @patches = new PatchesCollection([], {}, @model, @status) + @listenToOnce @patches, 'sync', @gotPatches + @addResourceToLoad @patches, 'patches' + + gotPatches: -> + ids = (p.get('creator') for p in @patches.models) + jqxhr = nameLoader.loadNames ids + if jqxhr then @addRequestToLoad(jqxhr, 'user_names', 'gotPatches') else @render() + + load: -> + return if @startedLoading + @patches.fetch() + @startedLoading = true + + getRenderData: -> + c = super() + patch.userName = nameLoader.getName(patch.get('creator')) for patch in @patches.models + c.patches = @patches.models + c.status + c + + afterRender: -> + @$el.find(".#{@status}").addClass 'active' + + onStatusButtonsChanged: (e) -> + @loaded = false + @status = $(e.target).val() + @initPatches() + @load() + @render() diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index af88bf030..67edc6978 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -9,6 +9,7 @@ View = require 'views/kinds/RootView' ThangComponentEditView = require 'views/editor/components/main' VersionHistoryView = require './versions_view' ColorsTabView = require './colors_tab_view' +PatchesView = require 'views/editor/patches_view' SaveVersionModal = require 'views/modal/save_version_modal' ErrorView = require '../../error_view' template = require 'templates/editor/thang/edit' @@ -35,6 +36,7 @@ module.exports = class ThangTypeEditView extends View 'click #end-button': 'endAnimation' 'click #history-button': 'showVersionHistory' 'click #save-button': 'openSaveModal' + 'click #patches-tab': -> @patchesView.load() subscriptions: 'save-new-version': 'saveNewThangType' @@ -92,6 +94,7 @@ module.exports = class ThangTypeEditView extends View @initSliders() @initComponents() @insertSubView(new ColorsTabView(@thangType)) + @patchesView = @insertSubView(new PatchesView(@thangType), @$el.find('.patches-view')) @showReadOnly() unless me.isAdmin() or @thangType.hasWriteAccess(me) initComponents: => diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index 360913182..b73685eb1 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -101,6 +101,7 @@ module.exports = class CocoView extends Backbone.View context.fbRef = context.pathname.replace(/[^a-zA-Z0-9+/=\-.:_]/g, '').slice(0, 40) or 'home' context.isMobile = @isMobile() context.isIE = @isIE() + context.moment = moment context afterRender: -> @@ -300,18 +301,22 @@ module.exports = class CocoView extends Backbone.View # Subviews insertSubView: (view, elToReplace=null) -> - @subviews[view.id].destroy() if view.id of @subviews + key = view.id or (view.constructor.name+classCount++) + key = _.string.underscored(key) + @subviews[key].destroy() if key of @subviews elToReplace ?= @$el.find('#'+view.id) elToReplace.after(view.el).remove() view.parent = @ view.render() view.afterInsert() - @subviews[view.id] = view + view.parentKey = key + @subviews[key] = view + view removeSubView: (view) -> view.$el.empty() + delete @subviews[view.parentKey] view.destroy() - delete @subviews[view.id] # Utilities From 722165b0ad4120e3259775d1b6973e21845d5e77 Mon Sep 17 00:00:00 2001 From: George Saines <gsaines@gmail.com> Date: Fri, 11 Apr 2014 14:51:21 -0700 Subject: [PATCH 41/79] adding ladder buttons and new load screen --- app/assets/images/level/loading_left_wing.png | Bin 419483 -> 172121 bytes .../images/level/loading_right_wing.png | Bin 420618 -> 164712 bytes app/assets/images/pages/play/easy_button.png | Bin 0 -> 19119 bytes app/assets/images/pages/play/hard_button.png | Bin 0 -> 26432 bytes .../pages/play/ladder/humans_ladder_easy.png | Bin 22579 -> 36837 bytes .../pages/play/ladder/humans_ladder_hard.png | Bin 24237 -> 22578 bytes .../play/ladder/humans_ladder_medium.png | Bin 18770 -> 34515 bytes .../play/ladder/humans_ladder_tutorial.png | Bin 22473 -> 36777 bytes .../pages/play/ladder/ogres_ladder_easy.png | Bin 23086 -> 22079 bytes .../pages/play/ladder/ogres_ladder_medium.png | Bin 23199 -> 39844 bytes .../play/ladder/ogres_ladder_tutorial.png | Bin 26542 -> 44177 bytes .../images/pages/play/medium_button.png | Bin 0 -> 19035 bytes .../images/pages/play/warmup_button.png | Bin 0 -> 19207 bytes 13 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/assets/images/pages/play/easy_button.png create mode 100644 app/assets/images/pages/play/hard_button.png create mode 100644 app/assets/images/pages/play/medium_button.png create mode 100644 app/assets/images/pages/play/warmup_button.png diff --git a/app/assets/images/level/loading_left_wing.png b/app/assets/images/level/loading_left_wing.png index 5b7ba04a71a7f2514843475202f0ef4c60f9a89b..42ec0336d3faeaa3611297bf0cf8b30aa991f6ac 100644 GIT binary patch literal 172121 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 literal 419483 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⩔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ξ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�Kg*iPM%-pzD8EkZ@GpC-I;3R{>Ul(ion#*Tc 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 diff --git a/app/assets/images/level/loading_right_wing.png b/app/assets/images/level/loading_right_wing.png index 7f7ff29daea00bb54fd3fb8e16f1b5c4a77b6c47..e9ace047fd630fc38371c8b6e361cd793ddc2c35 100644 GIT binary patch literal 164712 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⪻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 MN6T5?|NGnj0*-QA`Tzg` literal 420618 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	o6 z4DdON#vZr#Vx9_vb4UlK_pM7m<}Y4qFbhpG=lf(2D(sRRg5Kv*SF+Y#kb;e1Si~@) zO|{A7>;E6-H_<;2|MfMW<8lRwM{q{S8Kb{22p0hN%MzQ>5uR5qqwKlFesceNzVUbx zUZTy7Q|j)am36a6>en9PQMs3c!#Di#h{3VY4}Q4<0nTxG&qd~{2d>9yhJwUj=|;Dr zz`E6}ZQ<&=&R3#B7Wq`7{tWM0VLU)*hrs??MnwB=W<gZ+j+8)->4tDl?jz_D4a^Rw zI4*=fB1}-g@;jN6D#f;z2x@^uum)__)!R^v6r{y|yOZtT>_noR+D+5KGb{}fKtn;$ zRm~1i__s08Q`VfWE(Fjv8(>EQPkkaXn1rahhQf<3Ym_p_v`j49B-|PKTp{gKXO}EI z8Zw}lYso-aWu#cW!Z$O27sqI3*EZ3|kp<85GJTTN)NPSLY}oiO81%AMjVhKR629rS zlihV8rjRtgb%v%(Z&5ulQ!jC7-nPSbC8;1k8suodcPT6AwyIzp%5Q7nDX05&0Q2Zl zPHZ&!O_WFh4;Cup9YlL8(mG)qk1v(lh3u9>vjC{UeMO1@e-(A#bP|Pxjq@sylO@RM z_4&FSz7SwuDnHW~0%-xnlR=?i19pJ<2K9&#R^p|c?7_rN=X=48=Pb&pozS1jQjk+v z(Gf>b6|1l51zgYhvakpRhU*|rt_f>pS@3Taxz7nvp)?GHUYbM$BB7eUUQ|-H++1#d zc=;c_B=~e~rwdU((0TgNQtnZ2tDpUCB^`@G?r5hhtY0hYho$6-NW?*j+V&PRiTMG~ zL2iK4^ScnXE`eHS4T+><<HrK7eB^M@9fb4acnhaPG7~W$5{ou#vEd8af2Zyn_Wv3H zLV*~e@2X!MuUj&Z3bX^5BYuDq;1UbyNc&5oc^G0gaTRP@fMXmKx`%r<)d6v~Jwl`D z>~Nfd{ct_6_yii>BsH-MTLO`tD0~{Xxs&3vM+|l`qa%0;IAlhbTk*N<l3;x}x^^z# zLZ5LeM}S}Y-3#m4H@oF#&WM8*_MFg8aj_11dsYDLz3nCTXJmot0Gh<m>gxk3Y!x`_ zaQSvMHax+ydRsCO;wNwA6GtPnvI`SpMkz(q<6?Tvt7IdSAWMgsCb$q<7{e{N$ji>0 ziv(N0ZdcH^IJkh+*Ei^b_zm2DSehGt1Uc<SELVouhXFUG02G4K=`Kvg!-NYQBeUad z&OxEU$}hn#*yntlXMLE#9R3~994m4fJvMsQMxvyYTp-3xvWNVO^@<&(o;ipt`#AOe zCepcv4}CF_6%yYqVins-e#Ikqtd9EElZNPgW~f>Bk737m3WGyt<YlKHnJYUO4wsY( zk;r?a-iEc?t0W?D#lAB0f|+8I;Nl6;=85`kGhUFe@X249^hLa^KVc65n~N8dJtjDS zhj{Fgj3OR)))qQ&FC#0@2w8y=N1?20tpEMu1e8z^gEw8I-w8pvi-Od`#RjqokzP_$ zQAj{#)$&<)rGkt_6go^J4Ra6y;I?u_E@WrPCYn{Sk!=joI&_FKU0l7aEbiy4BkXeh z_;zNcE=l>1Bk6v3UNh$Lh+&ATG84)Y@!5}(RI#ZS4eJX?(mTZoiVh5L#_8mkHQBO- zgpqi`7<xF>XHNRf9>I8jHDP)KK2yq-TiB)=c2+0vBA>>%1#5pOddbQ5k96E`7hUAE zB0}hoeNmRho~*r|?PlDQJXxM7i3GD6T2R25u;Y5ksvXb(Gn{sGw!TL+%Orn@8*nG! z8&e6af0Z68{{OX~ra1Hr(IZ~juIoZr#am+B!5|K3$N_8GXy&c%nvOIG7wzk>S-U&* zWu>ggFzedR5D$gE6I6s_LgKh~x*{%q0K!f$;~~3CMFH#~`$@@C*dJZKu7(Si`)mRG zlg0#FY6-R3y8*lc5jC8fP;{Ll-*VDb@7CNgKt#Lr%*kPQ-lw)ktr=%%Gf}CD-Qbv_ zkT$U|N7=PI(FS6~tYBsPa%Esq(=`1j#FPDYeFtrg@>`im9_J6=v1~h)4$2w@sc|r5 zW#oahm{9ipPi@{mpcqrBWF}H6?pHY>hqBKUJg>o^*JVnXZMrQ6g0!RPbc432xtso$ zePy!tJH^&LOtWtH$oyny#SE}Yk;<<J6viRKonGDhwZg&Py<P?B2dpbn41uvjbfyLQ zM$59@`%{8JUx7wgC`|J$57X!7tF8&#Z;Bhp634d5!OJy2K!daU_aE~7lp~SRMKR~S zO@F`>Doc2bGi|MZ8Z)@R{<Eel4ahstcF#Nfls4~PTirNqL4iMTr>yzCxE}La=qMi_ z>nI!EgXO$lfO<iHnpwMkV3%_KiY_aRB8zt})igo8<)2XB(EhJc;^wLXha@a#{w+xQ zX!_&-koDD3QEy+oz`zX65CW1z3DN@6-Q7}>3IfvI-5@F59inu1DJ9+ACEX2g!27%R zz4cfu*Oz}>d!OB(z0W>=$MsV?;WA$NU2vYRx(P2EY!-jme!MO!;@CM`S0YH~ktoP9 zpaa|E)+)Cj7GzH;=;ZCIo&XC~HL$1t6v#r?3IsfSLV)L!jR@A?s^P^LeIcKV?iDX( z2?fW$Yh)t8(~*o95)2N@tSyE9GW(p?oUXbNOixd8S5WKm3Rgw@*qa!%$6F?|H0;1+ zu|2#B3!=dLu+sJd94fC-QF=>Hgg=t0#CfDF4^U^*Xwr|;eU5<oZ{b#+`GWqlY4oN; zXn_;`%=&F&wg}!M8v%&|pOn?guOo^a&<CGoXz@LvsCzP{)PAUPAJdx7jl5g5eW{`> zFM$F`KT=KbzjG~$TB3yER4Ep~zT2H=<TeT;NCVky`lvKWk`^;`$0AbuU}1d52@DAa z_k1JB_^y}j_f_HT3ydq?<LipN<Y}Gbr-+}H^4;0m?69%0mUBB8Ax~72c`e<R5(j$) zf{Qurk|_pHoVaI0_9|I{&0GJ8c5gGxN0G-B0WY|Mr_}!G2RF?AMoOf?6?q9sa#MV# z{Qv}2xQLe9$qW_stRTm;!|*9(470Q994{ddBcGh|UgqK;D0_o6Fa5+~TxV8fV-=V7 z8n7OMUhO`wPdv3+AR9s)jRjWrh2se3319R5vJLUyY20vYsv}$2|1P;wzl-^)*^yAK zuuL9=EouG}8T|#LOWL^lv>+a>)wfQAH*I102?Hx~suDZPN2m6O!#S#F($a#{JkF&1 z0*@jw71Ewn^Iznt^P^{9|Di)Ka(H!s+&J*1aP<Kb+DBWI7)oR!%4$pR6bk|RLY@oL z<<D?WIO6jUeaMAB!1U&Rqq*<R(R@AANZ!m?m9f6wJY+C@ZC=sS@Qk!5hZ%>VcJMow z4KLz~>O7t}v!bxzDorqtG{-?B+FJVDHWSOL&lXkq&H;;>qIG^_woj%xpy@QWh1D_* zeKWX_rte#MMrTBl=IcW6z=3ra;Naqimt^>5+$8NtKxd3gk}oF4)m?<D!f4=$e4K+I z8hNOjZj8st>WSPSKk`;J<tRBE1LYmQ?=#UQe;e#i)VIZqK<A%2L!2RBQDG>Ej@WP! zT)7>`vR1q@)fw+K-ul{o<U~Q7=Nz>3#~btr@wJZOmf>0Zfk+)B_|^d>tA<v)*4q?( z>95j3(~TD8fI~S5CxA&bZxoQR#tVLZ>5Ge5p@~d>?(dcDj_4HCfC6}Z>>c1OuMh_J zd#5Ppn{4z844_;g8xNZXZ=nQT5y7#3lVb!FV^2B}v0U@gB9fHmQ_7Kqu)z69j-o>g z2ITl>!>MZkdwIdV{I^0$w%2*=0zh8JYT-jnf5H-@?oD2)k98DMl<boh&OY!qlgN*R zlrxF1b<(oUu!pijfqkJiANsMI^h>4o-3bnxW0kvx@{A9#g4=<%Zx<pFV02pbn5MQ- zkCYi<E_-h%*C4%uCXSZ&Ek3<&QNIi@w}|0wByEY}zr)3t$+r@0L5PxElNr?(mCZI^ z-46srNt4%G+%Km`j^@nqgCn1BG;DNcD0SjN@2rS4XXrc-G}sN47P<q7zx;Lq<vAx3 zBe64c^>SOEq9cc(bQ%&zQT#R>k|C$8;#PmwGIh{HtM9)>^K1tiiabF$c7aesy@q&Y z+VXOsvbgfwgUf_VC5G?AkqY;5uJ`FaJQKyxd6@`?NB@Y3!vgFzf!v4=aoQV?PsO_0 zA0%?6aa?{GEH{AfWb4VN43^_rPriC@OgBf_(A1T{*J?+*dgy9q+NWC2M`o-R<T9Pr z6VX`YOLK~`wkLASsAOf5D14g-Y%cel_L-Jds|U$czV}N*+>_jnh);?4^)(52%Z2yD zm|JTpemZR>o*HYD*R^AS8@zM%(ZRi!=Yadgb0ZKs<OTfKmVV2e2I?>9()U_$#2?FG zWeFmB(k@+`@9sGp+weHxun&iAwMqwddzPevv}=MJp;xJbKK)rc`}4C^rM-tZK(0vK zvJVkNt`4!D2U><?JHM1*gYad1k?|4bR-Lh{5wlVAZcL?vP{#Q1t4B1Fz1xxKq6)*u z#Ss5ipt>fI!8gdOf85sM-;Z71)&U3Cxz!&EYMTFoiJ{?M=>N5<rs}6hWvWLHCq2um zw}W<+<d94RRT{_0;1<G@jFvyc{L2Wvw>_X-{F4qyIN1~mB*b!7^i!8siconmoX1;b zsbCL{R2sKt5&W8QXq)GDZY|mJI^Jbd;StgKNvMiMqRx3_>knX}juf086_bCNPFdWh zfCMA;;A8ENL|xvNls~terf+a!D@|<FN0O9ouL^LJhjw;NzB{UgfTZDjLP2;L`OSWp zKevKK@-ff_6uwR<RnLoV7riZaZks{U3GnHH#YBM(p8;~?bucXC_Ty0b!X;^ksFeWz z#@D)r|4N!L@&%LM;o~9skbUy}L?taYuyB3?YiG-L=3>NqlM2^#PuCl(!csPH!ukq7 zM=a^f>(^-+E+KsZa;iseJ)6XAc0{?pkvcv;cdAn4p~Ubz%3`|o*v>`SB9@rsJdvs5 zE~Z^TCVq*THUpkic*;g$WGg2NQ@XTLBBdlGdJ^mIjo?IAjlBCUFUd=EKIyaol8wP- z13D6WmxkY%OangsRIM@y%ms^ys``~vimI<)YsSXv*j_HB0jK_YJF35W_T=rb$~QvU zM%l!v`TfnM9-WiNu`PDU1JmI7h#Ox=`Fc8To_>RmM3dVr*sZs@`#ny^&3(gna&HN( zQjF3coE8vFyM@xdmo*DuH4}U!jR?W@C2&l=h&?;=fzC|)+jWTwH`<1?6JM_oDM*8v zXB!mmf1<HL^W84L&-U_vULG&^Y{NRpo10QQ8uQv+@QiT%pgq>_@TZDYQy3Gpv8$5h zVt}bj0(HnBQN+Hk%?<GFk}|-6F9AGhm$un|Fh-3ef$wSG3#!vAy>2B)jPa<E>)S!s zyi=`(p1}w>Trj%s4Uo9*Do1sV69XIJZ1uWSk%kT$S>urCYU%+{3=fGFS3Vy$uL4QC zz3tOW#0}W817IIpi44y;1d=N+J&5_$?UORuXhVw%KCu<(9G89gXJ5+am$(?5H1+0c zTuQ|67y)jc(;jVusE!n6&WgeDDI?WUu`uQNb#JsvSl9ZjwFzT!C09qq)Ktsl5$c|k zQfsv5q53CgU~t2&J8bMW*ZJMkb=7h`5Q_p$7{$hyT=3G;Tzx#9Ph_fcysU^2f4@YW z=X1O0XH(*m<|F2KT?^OhYH9BKYA7{lCfX*Mm{<kvGOvV@ysrV%yvFD2SHYd+hf(NY zXSFpEC7iD$5~RdAN)naeB?`P$5_t+5W~9WaCYUBfKF+1hT7v}zjyS@(Ep7MrvfVkf zsGML?<6ZWZfYzN=SxxWjUn&brXm|AX3R=rBC!NToW5=c@IKZqtlRwo}I^Qbr=0BJ^ zQzx|vt|%iS@*aVO4Q(kaxqHK*4rRjDCz(|GKthL&gnKP(e65$4wPf<eXh6~7$oAgp zSvwzTo<yw&WD&$@bOvqO2^r@rjBK8OcB;F*WGN&fw+^mv_!>?1ciAU?EVu&DEE|Q4 zh@;l{%M=!=v!VKj1<p(9tc)HS<wO{FkxKJ3N#?GJ@{PJZFVu_7w^Pp%JaLZuQ$cWU z_6-#?5)@M~F@6-#mtya}`O`Tp1%)h5tOA5#?uy~zeAvBagNsfgaP|7F`<o+^(O8Dn z?|yT)o=MzymbA{q>tWdkZa+=xaM1AL5ZBxgCN5Po?a8<?0x0cggP9D)@V9<vYCl6E zC63Si`lmDUrXnMtJ?XhBy3H+Vtr{xn9ut$l5ISj4WoDW>Kb)3AD2>$RynMm^_8hpt z?X0Jr9MpgIMP57m@Nr2muSjK0?$Z8~p?~0#YnVK#b4bM973t3Tp;y8nk$XVCMBv0- zL<tEkj?AX1YpD>MWIrf2DW23l73US!W~sS7p5*)79z;fQ_u*_nBi5Pq%x<1Er(9*b zzw5m{jcSCCmE#{MX7?v_5Y&i<j~=^u>_;(FtPMXXv8*gnZ5{FJvoZ7*3r{a|uwQNf zriwpO;DxeK@6M?B1)tyUU-?6A?D+#)X9=wv5wFM5f5yR}!3L+|BLBY0m8^c-7(TqQ z3XC&8+ME^`El%*vCg`cBS8%A2j(pV9%ath*$FrvtY8D^sOxV67EFBxkcnH>gxWKkw z&D%1)o7YTE!&ea&mQd%&L!k|k-AaE^iyF<KYlv62gK(kulK4G2fk}|B4K02`z<yA9 zCRo|ZfcRbK%VZSliQ;@=A-;6gdg#qPc<sRuF+kuDW+RJ+s{XM)H+L(n>2W5O?1+B% zMHh6-Nc;s&8V05@u_4^ouiy<s&coBEHUxCs;%-%}i2NT0HE5Dd^i(Q>Q@v6W_N4l7 zf98et#M4#u8}{M-G>Q;b`C}YEDDUa#yG-w~m##4Sc-!g~sLOve8cJkZRGh-TU{8o< zIVY83*}_23(!5h|9ocN!`^v6KJ74nBEMHqGvk%*5CfhYJmU?s}jJClYGl4;Q4VF0R zCIky(oFBQU57%W-_vwEgNq>90YQv}r#hk8)xl}G=PrVJM+8I1rB@x>5LhEFs59$n~ z8Ff@ujY8|zM#UPmqa$s_o_MIs|G$FShoV)VURKEvkmK|VjFZjXf<pxb_W*hKU9@E9 zhZEwrC`hC?0s_T1vD{i)OQ~z}Cj_#ABD7l&#Z@7l5JXKVqz6w&q&m)WZZf0ADPuLz zBp7EceW)(ZyNo4I|IK`VWYBNs1_wG!b2wU5l=FE=e%yV+*z&-`pWSIeS}e{<-yc9h zg7ZZq3K6k|V5-B%3LZ{iLs*ex?yo{wzgSzr`RCx<K7i#4@?<8RV`D3hWi^TTbPB~y z6gb3-e;F^K&W&<;Dhmg>tFTk|k|1JOw0_TqRY^<AS8us=An!w_O3potA|zp0+jw_P zK6CUfu;q99#_yd?@w*>sx2k&k2{>#-l(ltgG|MbvU+5^0luLT7O->~2EiV+6NqP}k zZGOSkcaJ!)vq<nh2hqB3UOS#>e<x0$<Y~ZJ7NyJ1kkqbd2Nr2Pl$?5xV_((8x4Muo z#nM(V0&3kcTOIe#G+i%PBULOMOLo%v+#eUJKHjo(JFSqX@eM5?5D;f*oM6&TwUc_r zOQ-4VP(<qBWpQD%=d^9&aiSxyu^_H_F4Q4^#_5UxkW6lbRNZDuR}cT@Ko6+bPnCbC ztF&w2$|tpZ&%CIPi>$${zv68`wi20sUx<aPVb1wZp(_vse5CsE+CnXBtObfEoVsst z4iEYX|FX&a3Bj^VwC8>S_fKTCfDpa>=gi~%3Bjo$VB82mdu&BWki~040};oup=ln? zzCoOqRx9-ak8lGK5gZG}jh2l8mW`$y`|~Z~7kjfpx0cOGBn^)wuAF~rEM`OrCx5)# zC3^241s?xg^=S>4V7^8q+{}RT*06<bBjmdY_*XqTj=%sZB^3J+WY)y6X#toDkyQyJ zQ*|I=oO1J>6m{<A_b$iG;^6|Gg0B3ys6#9|G?jzqK;PhDalsepixRg(kIb|3amXXK ztgjB2-8T?_9M<{t1?Z~8^hBnShVXQ)6CfIN0d61aJ^uf^PUe*!ui_dx9Xw(|tkPy& z_C&IaC`WJWjnh)LT`AG$29CK}^K8&zvkaPDeP;T>fwOLwV&=J@SzM;|P|Mu5P9(2n z?PAq?IXdyvKj+*7?`Tg+j(d7*w`-hQ1t{>rR1u-M3YK-1bTD;mucm~;5FC?S^GSd8 zH`F5$Y4H-u(n`Rw(jhpw=8D1w{`{|=9gTQsrlqeJQKTn1avU0H7MgQAP;&u=IP3R| zYLW?YQswa8iWd-pc81`d$9G}0pZ9q@i_hDLY(YQOmXuzD7o7A~dW|E>{vd8@JFfLs zZLE2F=OA0}At0#d(&Mdeky=q{X@YyHOP7w7Lai;ChB_Pya!TOjn4p({4$;djS3VPG zIS0pNSJ2eha?SqB_O?KXS%OdvuM*aswv|>*aCbdU^cP}aNMfcA^5}0A(+bb@!FT8? z?*<E-w{c?FaVX=&8fdN5%Y&d3r7sic3FtAD)Y;sv*IlSc#&cM;->$a*tgkgOo3c=4 zUKPr*UN-Uv!2Xk3;2@+vd*LTDW3)f@WO=o^byP2uL^`N0llaqqNagX*^(T#HHI7IW zWVyAf+#B<N3$K-axmsOX+?_NGfy^653W^-IDg%!>i8sSb5&)-paeL5f*p+_0N5=!( z+l(v1+52URSjU&s^MTAZFS|PPSC(XJKL|x(p>;rAC@xAz?s~MQfYZlnJNqKrFQ1i- zdCT;fmpPDu^tex5t}5e!mhrRBkD%?gyn?SEFNBlPJ*u~`t546qqC}20vOhM;9>0DP zi1+S4<plJ*>^r?S@3OuQ$%Sa)Pd}4vJY$3_%3Ko9l~b=V7Stp=w8@ekt3>{{d~&;; zLMK{v=*c#_=?iD!Cn{_lQyMKMpRdT9kIyh-ogsPleOSF3Fv|dWe{bf4?rVgs7wCWT z^};%1#uyP8_`i(H7t{M{aTZ?~yzy<Xjqr#-k8H{PwL8);E)w~wvx>RRw@dV#_s9P9 z<Xsvr82gD(Ym5JIxcD^3F26!1VG5F94c=gc0F(46cI&Ae3I#qfV_na@9bB%d<;fJw z-)VS(WZ~hFW3xU!2&7W=^I33lt(Q3&n}g6wPA^Nx$}90hdmG!yF3dUvx<-U5q(fB` zI>kPG3T;Y#h9$EWiOD%oKIcqJb4&Xs&b+McE5wv*Y2||8C*PW3x#Q(;xm};&t|TiQ zX@OdiDN9D1{YmACQkW98|Eif#<_u>@xU--*!|>P-ji=o@!wSbk+6|(m?v)ND?L3Q) z3jNJ5i3tnd-rtAW67$+G@tu9$y5O)O*3QO;R$T87o5uW!gSeZfIT6f5$QdBxAE%&N zfDvQxHti2Bz~`qQN*okF-7`}~atMS)0cxuiIz{`!CXf@L@e){pQEyC~4*jZ{-AJ!> zUvuB;rs{zoF)x~Z=%48HHY5BOsxA94y=g>&&qnv&kRUtH!**evczaaL_rhz#s)(Iu z&Yq5*z|an@qHNb&2KW5@g7J!G(~g+v?%`{d%aVnBgwIz~eQDgE*9hfdZ7)z_ybX8x zIn}v@3qI*Wv$`Kvx+#djr&$fX#+@7sB;Z<>#F~#{=W+RUb5-%J=j^OUqYeJmdUPof zM2%Mw&KC>qdsNh2*xuiwDh%fc`+q2s8o`vuGHMFJwJ;Td|Ex>fSS~ZUpJ$)PTubBj zxD3-qNfIj>dx_rEq^`B($p?Qxe%$Wz-3rI{e3oC8<xu!Y3#i-~%v}!@B68POCl4It zL{!!U&I<@QCCdM9;w{xLtKk)e4*lWtmF@5q?d+of`KoemEoVnv=v=ZT`B8vM#<yy0 zWnNeJNB%eJJR<%MWZO=PiI*yzhqjK-tBaOD!~PqA>*zHUd`RLyX~c|GnTrBg!bf?3 z%S|>eK7gB#YW1=|N9^hwnx_uxG>ykQD;7_gez3J2De-eVs0&Z`wDdZ-Q*Sw!yZO1$ z`jG|IywGNu6E#L21xcKq8Lp$go&s7TP<?}^qr=A$4XLp|c$e)%D@BPcPESLb4ON5u zQeu!WhVet)A-!+RQ+8m@@Q?3;elrs8%metu5_`opf{8({C2R`iOLv1#BmGNPt_NCr zZfhoUC4M2jML!$S4_XU~tgTm$Fu5;(kr6Z<1K%Y}_PLKhej_4(oT#)n`9qx`#ymam z5@w5Uf2AW%L!;bI_s2jX^0W*Kjd!UIh4)>J<QDOEj97U;#E~#K7RDbQ{z>(;_y4Pu z>AX{%AZy3p%OI;-H??=8JSoT^YWa-3qMes7Vt7d_D=U>aB+}A05DrfTy)tZx_q?tr z=C8XmJR&CdW@Bw}%K&6i>}!x<zpoO-#<87HbW(RIl~IuyKZ!>nlJrhB#kYMxsWw4c zm-<>7pQfwB=YV>Qca2+r1ak1zfzVkTYgiK$YeVux7K}FCe{}Ur=j>+Mw3K9(`okBc z6v(9MRPF9t6>xZ6RL-k6J6_Q=@0ak*&ibv4D9z5+n<}|I4oZ-i(-NgRUx>|~AApKJ zW>O;wzv4jU$}OLL$<5!)*1nw5%`fpZlN(-(h05-*DEhw7t!O*$qq>k9&C$eJHtT`J zmM#inM<^l`cD0%Z>b{z5YY>J&o=97seZJKC^a-O)CYtJy+5ZA5sSZ4!N6#T}W1_OM z+*6KiKV?y?Sfr8a)VRmJ+~oJcV5Qdov>tuY`Gj<5a>?0gkG|}{Z^IhDiW(osRAp-* zLSNqwr6Svh6a~q2q)kB^)B&Wt{iYpFjRlfqtrc=5==v+JwEvFfU64hpJZqT)oyBzJ z`wb++qRG$FymjaKgmbeUJv}sN78<RE&1M_ioTqoiRrflVirvYKX$FcsGFEb}_)rJ6 zUa*uP&1S7h5(L%L+FW=59sE_1vS`5XDqkdFMz$t-F0@rFF=31_QBLpY0dtrs@_#G2 z<%%(l5=nMV`KVi*#>^BF4>om9{W@)>#*X%`b;=()JY^<R?SuPs+tVRm>rW#+wv4M* zGL~ZL@Xy?`2x_Y6pl>i{Wv;ZDB^xN>7*WA!*a*_tv~k=E|MCEz=e+;$!uNZiPJ$3Q z!StwTI+BE=433gG+yAIQ{+9~<IEu6^hFi;mgK9HVSHoNbE_BJw%=P{Ev;9o?goFj> zyFk2Zg+teMp_|f-Aw2ZKR@cPAmV1093A^^p%3+bGy+#%&z?>`z2ML`K-*$$oJQW_) zm|tGqT!JkWxK}$zYfv0c4+J5Ec689pX>92U@Vk8+2*K;miN1Eq|0NAUPs0j1Uh7Ay z+0$)`vsLv6ekZ;?ZWHLSOtnK*=7iU({kGBWc5<`C4>|hrH0p)~x8Ap%$>J7<kHCS~ zT(eNW4c#y1wG`zS{beqB*bTNL?c+@SE;uG!6j6G%#1<R;X;}ajHe!ak#@nAULLWoO z>z-#s{vU_JQxSe$(OVH?={)Cg_NO*IcXrRblWs_-E;kj#x1e)+Ach~v#?CKq1_I(b z;QY`AeejaJx58d`*gnof2L4vO7N4E)XzgV_lI`@W8G~Nl+)mVX^09dll@LqShiaDq zPu3_82>#nv@bvz7lA{=AMp!ngJSsCNG|i}C#o}@}n)HFv=^9VZBW)3Lz$z#tq*n|D z^lS<v$030(22@&?r=lsIHaouUfhXbiB2)Z-&ThZtw3&fXp{oj@7_N*cV2x&26R5k& z&Fl+X#Orq<_8f(vEwq1QrFDQLGNu&Pi2gPwT5jx}0__qc>6Pge6aTm>C+Eo|lIz@p z)3Xthem-xY)f}IiYb^ZeyhVXAn$Y^NKkw4MyKn|-y;OhQu3y71rjT~`4GWF_2N7_t z@j@wKDWML?f)2+3##wdui`8Eah1WC|qK7Uy^I`TCB9dx`6!@h7MF1H70lHwmf7W$g z4MQ6nByu$x*>yW?z2&2Ia9Hc|r3*G^dACXbQ5!gF|3{&)%df<Tf7bby;VI>|o4TAO zl-Mbmvotk}6c-oAV<4Kh>$W(%C%tEza$x4-6;pUzHg%n1YNf_S^#nWce&6JHf$BJd zrsJeku(VqTtk?)9=!^`&wohf0iLFEXFd}%rLJz<MLCnY?OGc28f4XoDS&*Z-XUV~Q zSJr?yKbYxhPdf0QFA2yU-e0x`eMKqZq=(<$G-dIHQDR4(K?aeJ8C$_!I^B27B_l&+ z_g9t2&)ClGp$oX6j^(Oj%}Z=zVQUTtwT^NmO`6$6$G1ntpu5jNFrZ5+^H;N|pd=E4 zRK|B}Fb^WH1Scd^3_t;K{?xFbL-r3*v%r6XblGQ3%Mov`i&Nw6jYEDRr>0wV8(*P0 zoMPib90y#c#N5Fd4&3rrQa(#Ec4-{trh;!dK%N)_jt4eGAeJ;!NVOuEpw`Ec#Q)Dw zTlid|)hRHU(=N+EhA8UyYWo54+}vy>HnseS>{)WlgYKU{d%1&!ghbkNlV&pxN8yM3 zVs>_Mfi8H183nB#CwAl21;p){OgfgqT0tb#zEIo&P%6X>+2yoG@YBGNY(%N>g-v>W za3IX~6a(7MVg6QEFlDqa`CZJVs6w>beY+wWNi!GQ(KtuE8w%1n?(tMxdEF$D0Q5LG z#O2GjnWFwDByV|VJgB8!jyg~6kH2-IoGn0lOCr8tZs47N51V{)yAvpJkeBdy^S*v} z%~ot55oCZr`o23-1>fKP;O=^ymx|opL0L~PgWzCy_g&}D4>yh{E4PPPhxgkB^}D2Q zx}#U}8J~<AqWS3X*Aqx>{i0B8KKbw{C~7fhLdOoe<s60j45ES&OxwL_FtL_d{_=wK zFE3n23)E`n3vo%NHy0TXWcN3Rk4W-o4)7@O^vF=TynB>J1e~sbRK{8F?cSQ-rfj(k z<m`q#)J9may+0<{4F3{7Rv(sNvUcOZFlDpaB}GNB{)UyOxM5`_I?!cLvaF+HpwW@- z1^PGY5X12iHNFz)ssw%geoPlGst^J|^bbLB5DCvJbh4((dl@@v5AL01VL+$1PyZ90 zFp&SnU=0UZbiGUwfospsvvYu%N$2caIXw<O9tj~Zn`|p5|A?aS#%S-yJ{RjHfm^Wr z)!X0~NYi4OKYdxJ&W;~O)4rY!7~k4$5py|a=UH1H>~VctkH!BC!o?2Uf2<rSpG0Y; zH8pWsWe!e*kHtjNUh!rz=+T6_MBFHqWSX~wXm@BU-KIVe21-S3O6h?iGz9;@!%}9X z|F|jriQ^L|=p<sw<d3|ALEEvZa|frlvTFrdUIx3kH+KoGlgyC;erZkuf_`(3tGRj` zWr}U&LJ5BaycUQbbDZSa@X%!?Z50L|Bae@fCK%$7230s`v{LJ@4}we!FY|M|z;A8v z@Sj=}l;{9L*F8?;4?#XQM4WIwDF#uDQlg*g#oOE9+MiEtiszru+4e1)n^i6--O`@W zJ~os=%<t3Qd_Bb<%gpyyvvQ@)Hn|250(SyllC8&j5B}0R3!K;Ln6q+6yyp=D)qetf zKNyGe3gl+~QE6^qsnt&-CgUq}3Qgyl{>t-M-6^qS;j|E)tX8DD-4TEyv*?(ol_O%6 zW?uh0{PAqRYUiTaMv5F4=B`Eti_6#N<)kmPW?4ptmrobsp$ft0e7cSX12g)+$Xbj% z$i9r~OK*1TidWt8<9%)6!|l>NO|#3Yp-69buMA%7>2emvJ-hq^ZGqDrsPEk{-g&9& zPL^<yyyxpo;gPcmXPp7M_-es2#m|*u$Rb0i2{foph1jYoW1YOM#3apj6-Cx<8==z< zinM<mZ17KZRE(21394lH5VwbqzkXZ#5`MWTJ4ez|?7~G(L5|qxPsV`=)b{O>$BWR9 za(n>|$|GF{g7AM2SbuS;ne(Z^sm4>igGAtUI^pcTH!wBMmT>OW#7A;4TNd6BShLy% zYaJJ}#jel(gHZdZp~hlC_-FP*FAo%eICSmyJA*o;i87+F7b#XPX^!*vFpJ*rfQ?9# zUwE@b0Ro9l-{%gtixkVX^OTL{LIA`IaW7`jd9YS3*k{BQ85Em0RgAuUPeZ8|W}A=J z`n20XyFbGs5v0JuZTGF3;OSjC$HVE8Uz%)%6Q5-kFKY)=)n~{Dwr83mF7EzNth?m_ z+uQo<P;H@0J!2%pVAI!_!7tl0LplYcRPqaT+Px98pL3rQr{~%ldNtL?Tg)fvlsac+ z%H*b_*W^m|eW^eq>kqFfi*dfHcjuZK8cyAQoFg#bZK1PkAVFN{ddIv_+)xKXjb{jO zKRm~NPxPZ^9O+%H!q}tpX-1ae2(9-5Jb*%BI61mhhus*K2cd36Hv}PV;srJmZkSan z+RXh2p)787RdP5U9Fl3CG&&+?rk0xqEc8Gow6Wj6f5%+zj9-T_0HRUSi0y}3@2j^T zRTCIxL<fjLmM_UuG?znChd=J}GNZ#quQ5ZUgGlCVfWFUs3AzQBW~9b&KIK-79BPzx zXD15pmK<=tQ|=x*N3ru=>CWC=Tz164w9&4gKJF}SB7=C?tyJ54P<%w9m#zo(%oF*! z`Gvf05;DwaG`p-7Puw2w4_CtLgrRnQ;M*Uk*`{#gbTJ^lAp582u{iDV`tqOvrIWb+ z^kCi%d!l$^9&#MO%<_iIs-zw8*l(rmb>_u^iG*AZfnFbFRLD((Hx!8ocr6fXi?4y1 zRj*%m6(cGN{%bTWtr5>csnbrq-l^T$8)}im(|a(TllP7DPeW{cytW$K1TD$@Jm7B< zg3&fuyt!tjE#!=Jvz)2a?{2rKJ$RSZ<HCDC|1cjT_Pdkx#-d?up*56aouz#v2*~8Q zQc;f*t2iuB41EN027Zb_!QG1Wenao@vzeyj=~asY!cbUe_pNKyZhrB+P=JXpE~DJp zY)be0O@eu-H$k?je{?(v7hK)~Ld>!tRQMWBLbPXf)t#AX!)u0~oeXato^OA_ta~dz zwIbAT7=`Tb8ofj$9v)gtkjvWwbkLdZdcAT1UXv1yk3U<L$l;(hYza}fuKO#e8{4?o zwx;hYg8gE+b~Bx<0gJIO{Kb6HwjKni@V{TxaGQ<uG0W*F)g~UT7Kc0WJNrD`gzU5N zu|Dpnrzo^B!u`As+er~$Dqy6bJ#%sz2^cAl&u)*uwal@&Jd}x}s(=&5irV{06;jpN z#*yvK_|7mW1qHb7Pu6Jwr4<U<&0n=%lRlnOTR+V_(R0va5#4o=76-aO_r!I6QO7p; zkuCj-_;zz`#5!(ruOa+S8MG)0!^k=@W4giJL!Ou0csNaXUbN4wjxM&?<f77V<hWQC ze$jeIJF&Y19EQyPnh_}-{t@|r3}q}+l~06F!7H>T^~!^Gh(xP=zf5qLk5kNVPNLAM z6F#ot8)egOr@0Pop#6<D9x+cnuM4rkSw^Yyk0Q$tu7SRp^;Z=azbxzzTOS}Ux<2j` zFN(kp$92%YRri9oVJ&GGO41$x^YJ(}M!c6)o!R7o+50)D!7!5|+!;cX-m=s({i9jD z2aS5v5_XMw&MTM2OQw-D(rbTO19+G^ck}w|i}{^9!_)QOL>5aeaUIO6StTl8Rg}DH zilT=5Ec9P)ALckUueC!JEkT|n2e0Kqtl==j1JUX?OFO#Xc|yAZ)K(T9zV_)@^PMtz zox^)P?)2{_?+|SlxOwePjjjsrvC-g@wKbr*Q+KyH^<louf)ISIu~(WO&Zxtnd6ync z44kwXmc?yLV|o%#o3P+>kFFn%qk;7Lwl#B#|FOHjqUFGs)PV#o7FqSI{!nG)bi65s z+C=Vky?^+-T~)Mm*1)lI$RFY45`@n;CJrm-#hQ0lJCDa!vDVg0URNJunc$XL+VgxS zE#`^{_A65xokMD@W<+(*_=d;Ea=7!Ai)hFU+}(X?U+pD|M1w$cD9V=aDz>?x=X?nr z))-{gZ`a@dIaIps$k~`_e4pFL2qQ`e+}ieO4BSb=12OeqghIX7p_PZXw2scpkxXz9 zDK)g8=X$_n=}S2W!9^gV7Se)xuRd%lU!U}35d7Z)=_jPc$J!9ev`iN=FpNQ>i@ZJ1 zHX6u{EDc^>*;wz;mUAd5phJN!SYf*g5V(n<)q{u8aPd6(*_sJh^2j!DRdB+)zY%az z=%1<}G_bV|Wk<Kj{PCW>ws~OW80luL^^Ry@;4M4nWyzf2bAG_x&~Us-4@ZYz=3J(1 z?I^S~-1U~wz6nRyB}XrSl1aTcTW$XI{i84Yf@c`56cqPiLN51Su5a(L!MB}t0HXlP z^_OSfPu6GyxoR7(p2P*UAlT>h33nh78Sg>woflczM|~M}(Ea0HGg2baxy#n0+LDuk z8DqFOh{E1l()(<S8Q<|EGrJ~X)2(wmXz-Miz4zePg%|d<3p=54^DBdWId*pT^0WaT zsS`t_uIa~VeV$(s{Q)uxW_?OQJOauA6Sm7U52yRv+uf3+KL_6qzVUx@6+e_vC~|A~ z*7&XXTj}MkTk8^RtxhmJ82#I8Mqv^>dg);0qzemHZY=SSrUc>nT@E>!r~3VFR$G39 z%*4P2VC3D%q3K}bzQ<vf17CY!<cedX=|?|zKWLq}^Fpql+<L~%D$mL5Y|PzSb~(IR zmQdbHY8u-CE`>^=#o>+ZC6xv<Gps*6^V_xT9nAtn1rlPq5aggpV2bCwmz_f*qvs)s zD~~<li|;-$CYkGaiaW{`u_q|s_Csj7(Q<7aeIiWszxR7100Is00}T>u+_yG$+L%#0 z**f1pUO9}_h=LIv19+=O)+igrZi75*a9tL#>WM^8mFj<Fx399FId`!U$c(I9`;)=0 zY?L16?1+H;z1x^&x4ap^;+F;3)emO{-PEW^pkBk#GuK^B+$_L{&OsfviY)?uK{P?* z_T?*ep7@W;<psUF3Q=|*$9HANSJahzvzUxJN{nw4lO0|Z#1tOM*Q*FIaO$Tg_t(7I zo+{Oag!0Pyg-q>e9Cn)ydcCWk*84-5X?xtNdX><Z^(!u3R5VTpK`RaD4ei%IGq&Nw zgAQd7UxjVV$h*WhO{jL8Wf%?(#9u4wsZcZqV<}u|ki^o@7CipN+q(pSi-DhC$$MVw zB`=ZT^=;EJ7`V;N-0=&IuxH;fNz00_pFH@b(?hRbrI8Zx-AaL2f>5JH2z`t!iCd`e z1HPs!D`g{cQ>8k-LqW%lppPvIf1gqOuiOFWM^f&F2LUBrds5X|oH%aO*i^q02Q4fd zN!BTE=<LKZt?`7rX}2xb9EU*YpT7_b(%t>hA9jps-n{)};(`dAIs=)g_sGDyS$rjI zK=#!Qx$(_I2aLmGnP%@GB-!?B;0eQ=s<nn8SIAcG+<X?hT2EQMrr=C6NF0ok`ek}H zfoEo^kUv_r?>n$=%{C}hj<;l|uW1OZ?U!;)36IEdhc*KEQ}P1r)~fdZ5MIH&d(7;S zFkLGW0J{Kj>pd(!fKh!*;LopddloVve}-%mgc6p^@Juo}7+ys(iL|uf&k(uv<?pHX zyzlv%mWj4<A8T)(8Ef~key*(|(V%SHC$okoMj8#V!KbHcJTLQ3r_zX?2&!?=->Q8# zeiRV&^9!c_1i&p@n0>)oa~gJk|2#yBt`&w{$VxDqBt!JijUK%e8+N=YRiCh$R5n?p zA8;O>Kq2?Fo-u_6uYTg->LGEa`s2pqSZYwz`op3FkVGuod&$amAtf-#<m?Qe!QZTN zk&GyFP2YM~o?o)>)??3T*8QY%U7qOk+($-aU^;>=f-+_45Uv2H2J^P#-obY;m|iW3 z1qmb-Ky)sl2YF8>uXKqXLnR@FND~GSrq{qhjbDe&s}$67eXWj!^un$<7Y_GX;Q|e2 z5uSOH)u}i}<U75_7+Gh^Fs-8(j$}GG9!2wmeG}SBP_3`{gZj6)A#(RQDIu<SzY@Fe za5=+rzFjYB-pP#x1{i~=1@fcOgeij(b?lS5BPfl}H8HzV<?ZQ7fbTZ9i6~=2j-rBf zIihJ`G((E0Mg^`4b!12hpoX4	&z7jJ#TZ+0jt)U?_V2>z39LZRbjFR4s>m1-;U% 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%0DN+WaYQSY3bNi%6gl}YoeUA_=LGVn= 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	qkJP%fV>(q6UUW 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 diff --git a/app/assets/images/pages/play/easy_button.png b/app/assets/images/pages/play/easy_button.png new file mode 100644 index 0000000000000000000000000000000000000000..c75dc83f9216e9373ccf91361fb3a2a815be7b69 GIT binary patch literal 19119 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 KMNUMnLSTZL8$pr) literal 0 HcmV?d00001 diff --git a/app/assets/images/pages/play/hard_button.png b/app/assets/images/pages/play/hard_button.png new file mode 100644 index 0000000000000000000000000000000000000000..880b424426c0ef6fe5bef6aeada08d99743bcd04 GIT binary patch literal 26432 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 M07*qoM6N<$f^8k_(*OVf literal 0 HcmV?d00001 diff --git a/app/assets/images/pages/play/ladder/humans_ladder_easy.png b/app/assets/images/pages/play/ladder/humans_ladder_easy.png index ea34dcc5b75a4a7be749482e9a4b5173f8036175..095b576886be77d9946251777f495a9792b2dd08 100644 GIT binary patch literal 36837 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 GLSTYxGN_OM literal 22579 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 diff --git a/app/assets/images/pages/play/ladder/humans_ladder_hard.png b/app/assets/images/pages/play/ladder/humans_ladder_hard.png index 8cd03225d4ac184ef24c71f9bebe9e72e7a4c193..90afbd048fdfd6e3cc96590979425beb7bd22f26 100644 GIT binary patch literal 22578 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 literal 24237 zcmXtg19T+K_x8lj#<r7<Hnx+EZQI-pC$??dw(ZSE8{4*>{OA3B=R2pnr>D=EQ@5&a z-RHSa-JWno`JYJec<=xK07*(xOd0e!2s+1Lp+Q%*HZ>~%fCL~VCamh7b>3~2gn#70 z`0Ukew3TYl1{CJZv`JLvq>WFaPmfFryHz7ot{-tt`B6QdmC4;Mg+ZNhCU~Qk@cVFx zvpw9L#SKm2mmN>$#j}2-K1+(Ncu|$)qP(>3P%}P-=TFYZX2r4$VyHYNAvLgL3C<OY z+~4j+5)97(FNN;6H*hy6Y&S3f38yER8_VMr;R|1Uk%bj$?^p8EC_1MnzZ*|kX15<N zCd^aRI}{WFc~DeD)Xnmw{<PkDGNMh)Pd6lPvBhU_p%}VY$x(gpvv+L!KLwZIeR|_{ zhl<qTfVe`KC;PY845nkoini~#izqOUww?(nzjVK<I?;B`cWO*EWl(Ny5vVtkQ8?k; zC<pO&wgYuwNR)RLYumn)F5><7NSJ=7ZuJat&{9`8hG@O<V)(yi)t$85lmdAp5MhYd zc^n<DTE3jG`>P>rJ~lB(3$1G%mQe!MF4TL&;sz;4+;1647opuSaP__K_G|ziL}Zu( zZEkBzO9>cgl9Cq>s&vtzM4OdTup(oY;Xi`EofEaYJ*c~3_Yq1!1L7!7n%;f)ErT&& zh?X0!%&RSYe85gr(P9N2VP9ch)uu@y<x#Tu>MYh0ZMwR6;oS&uVf#-yG-A-g1w0I= zTU09BSHdWU7xb|q!S3!5#!ArK?~jOwuSbj?&fv0w;`ZL2V!V8s7u`z(dsYxMZ4e>5 zNkzu;UzgxWH-h4(LjrmR^96hb_;6q960dldkJiBBKCDM0#KHXiz5(j2Ca^G`!O8AW z7v4~|uMKON*nZ%?=u<DbVY`vwLceuOfS;BvI*CYff+2?jy?=tvDI~p?xjokU0qHHy z`6K_ux5GP+=MR09usU9X<BPMv1@qwto26!TZXTTbX#3-q?)mWMjo>KW7{o!n$2PG> z18Y|zFeh-+UeGNb;;V${N6yOi{y_6VkAwTKomIoyFOTZI0-A!#2?QmYf>LVO#$oWv z$%vJ7tt4s6WT*rNvS9+e%NFl5MpB+Y-YIkUgO8gaNZR#9@gM>!H1FHKO*{0rC)<zg zgWgVO*|V|tcW_W=(`BJ=+%YzMh&dcKgGO`R2?$25=xq*iN&-Dwy4%)m95~mV62Jf< zK<~o7gsooRJYrG&kU06`{=2S27sw$gSZ)mX*IdHWJ3HL-r<|O&`k7yZ146Z1Qh7vP z=;Ejt;{6w{Wa*N9S62ZO2aw{k$Cq%1rz1(HtFZp4eHJjD-q-^w@sZUvP-TbG{DL_5 zywoLROs&5!F2Z;d5FavG;w24jk8mCZ+OX9#F=vO%1ZZKS0Jy<oIY<w$PoV+&M~<x@ zBCIZyplM{rxEIvf>_ZwmxP=V{f&oCj#NV&4NpFsW2z?(4&Fo?V->xg~!Vj8!<onmb z3!G0;?;a*FQw&JYweCmPAwsE;d>;pb1QshsqR74YpO5(ySEG-fEraH*<f#*++45(b zkpPejk%pW1vMrw>Al<)a59+nlVf_es^^#zyO(20~PLHZvtERz<1OQ6spc+>oW6Wmf zmLkW`5-WmeYKs{ZRLYi~0&MZemqLK=qk}5(?dmn%gifPWr-aL$b^(4t7`24Up%5?! z&zUq4W9GlpGIIKZW0?$%`Jyb@R&PHjw<-Lcl@lCaht`fNGgTNbf0U090QxN1jJJBa z7kaM<H{dE4-~rnnM0fGxU9Yv&jt94x*_^2{Dk7g{`m`th8{|)D(zw6lDTb^_u{%^` z6t5)50c@*C02E|{!IbJuqed-ZSg=v2YvB5FgBki|yBiF6KM_Tu6h-2A$rH5@EXf-j zX)fXUgW!L2CE6`OP6=-mZr*XW)d?<)(#MRLCC>}c(mO@I2LLQHLKdur-AMd2>1*Vs zu=wOeyFZ!y4Qp>%aKt0HF>)fjnonT5keo&ngeTInyMBbfxos^u3QRN{-@et^Ea6<P zbt43jc>3JFV0C9edV<<bwtSR9+pa33ww9zwI6gZAlT!hWH3}pcV`^5X7_9$-b-$1$ z0CB>4gbbE+gKYS7#Bk;-A>$PN^zNg16%X{x&06s)hB7c?0{}R2h6XTm;r#1b>~mUf zvLYvPcVy~-(333v7dEQ1M1LO!7^Bn9?<=gF_+Cq!958I`zhYaHW5R}qa(oFr+0cfi z{>|6YBLi8W&Baf0{*LE6K{q<TtQ$Qpl|4O$NcZPQ15cqCmlsl@$<u(Tvdb&Y_MOL% zmfskKCJmLoMn+%(d1w?i=;f+-{f3;H>NRd*!v)u`?-8#sDQ2j6$DtE@BhL#?3)@*4 zrL^;BgbR@a6WGRAhPB_&6XTcE-;EaGE;U&ILS;+e7<zr($*L+Ct@=$_jQ2*2_}<4u zQz#kc<7EE?0RU17apOg^3k%g;p(p`DZrI@c07fq_C4OzB;!>-+X?$yG=$DEQH#E{q zOBO`8l>zN?T+ql!6oPqsciU~Xk};@DM|cU;#vuob2pb8`5A3;`+$~O~;d~>{oU~q7 znz9NIV?+@VSX-qV`{W%CX)7FO7C`@w2<=@+Vj8)6Gd?b5yH(#!=^}-MscgH_ft$!l zRrx5%OM?|$aRC^63|zZVlAEp5reE$cf#j^&5+cjrxgj$}5JE18`dqi?w9HV4<4TxS zoN;rv?0Zw@MSXe*;mtq<FwY!uT9->>Zuk~TL<?8etyH!7K6%3;A(IeAwo=lb+Q9%c z!~PChyY*SxQqYdpFSpwu*1HolHlE(FUckB|#|qwXk^PPj=_4X7(m@-aJt*?7!d|~I zwM-$audDNWyX;k{$4x~@ozP0g2q3YvS7&$cmZ^xRkO~_$CSgNJ9EXjt{@c3V;S$M6 z+N6jkz5F%ivoIeU@x!Nc71fOo*Uy|5jZzF7n<PKz<%Qdn1vjh!HfB$i)95?M)a4Er zghzoo7=c=t7cYGcZBv#N>-BtaCHj1d2pV{h?=s^cA}uk5qRd)i=(O1Pr&Q~({mut8 z2+p5v39g&*`tTOVZc#$`{f9UpFAqs^4im%Ld1xa^k(Mk~*3=9$w7!K#3+I9l21kT0 zl%K%1tD_GT%ELF|{aOFy&%fN}1feTWoyEwFs8s($OetvGHek?RMRywe)=(2!L`t4e zDG_ag6jF5Vzjg5n{o0%e;U6c-3R?F!xm|j<>5Fpq3EHy)q!jdSU7Fm;mm80{fZMJ` zr__n?jZQUI8lgEhJ|ZRpMoupIm!LyUEP_$SNO}M>D{CYOt@iIc5ba=h{v60e>;)-a zyF&FjK`RFJojDEKa<H!-b#8qS$>&=0(>}QMKCk6j;j#X{bN^^wVkh572x=3%J|AzL z@-FOFa6L2nh%>qxg9ATzIKq=kkPnRGiZ9~&6Ahq%D-{mE0g~}|*o-L|%NmK~;Sv(z z91o{3ypFKRvDU2;FlS5};;1|QwPg0&(@c}2awO=aXFq#=uxWGB8~4pH-~I+EtkjUl znHdF&gGf(btG;j019-Eiz^Isw$kH4j8sD^uwK=ljYbvpktGW6cI2=>g>tp+t-PPQ> zwx*z|yWxZY*(|lj-X@x3!@FQ1&=lY|naN3lacXnYBaw(JkqAZA*xsRJW5j`L#D-(Y zhR0U9GSAG;9(+BdHf%#b(Z7aS*7Hqt4%9p|UMhteW9sNq?_+d|TFKVOuEU_3`bt4P zSI@(w?;`aOk3)F7y=};UR6()!%CfO5=fDp@+RiAvVO}=8YmCTe5Hxq9h|^?^5=3^} zPR~+~0qGATt^{wTgaNsK3sv+_2F@2loIM%Gyb-sZFV>3@MhKh)e_o^>wozRE35yc$ zL{`0p^N$l+idmiasH<+fS8;LLPl4Rg#p++MBcPBocNpE~dcmVyo-~4K>dcS7cou>P zKskLFZ8iqC2{&a4#^)@l#IJ5&QxmBlBhQo~&y*KV5}QFRjKdNs53*&9HKo&|3`uFq zqk&I=R78x_r3!>6h0G62Py{(<d5+Gu$Nn7@PBgS4#sU_pxy4Z($b}cCE!c3FSsIWK z;-Tp2=_~X_{bqo6s&zGEC^=DHZQB3x^}-6mH0fh(mZ;(<4vboLbRxth6JUGdeo`fi zkurH&;e>#Z%KXa{iE<}{%Q+IBa}ETPhZXMW8#Jx=n?53q_~lopxi35yH4uj_O<6RD zTSu?+xx_=N8KPu*-9R5m_+%S8YuT6lT|=#wG|0L3r@~wZ83Z6GK);L~tTSD*_+Oi= z9U3UQLqjb6dX*@rAjzE|%a+Zf7&FVEuS|j#7Z&146lX~nQ9`K*;hbm)qfW@9!J~?V z3R2ug@Bj!2q}q`LL6RgUk6W<eX;TfIpVJe4?u#PTK0Q1PoH%a}Ks^{bzxY3BRRbe* zP|rXla^n#J_`^RlT$U>G<U~uX@RwTYhP~a(s&V{J#!O+3>;Of&03)qnJW8<b$l(e+ zaV1rk-{>O!hHU+Y%w(yP;Bl&OV1O49uoo}kn##lFk|2~Iv@CfTaR18?6Mvyr0aCgL zjI$sVP*Wh1D^fNsSZTq_m5uCmnJO4qU+;-}d?{jJzyu8=%8VCXr(NyHll@)3c2N}M zC?KX;QexiUfGA64qGHksE`_GFk1$r0FlNCDAg!=g4Tfzt#KFSKL=vgjWZ%?Ev5Dgl zDOXJ~hE9`}Snquk*yvmTulw$bH7J;n!baN~k_871dI~|BoHYwTg5|~wjM+2~0HF8& zgnYT)q^R723M-PFD3+X$^ee61i>Q&cF>G{Arfd#kkQoOQ2l|Ar8h&T}#j;tEv$67F z@zdo96thJwP5_jy!9*^U0CScu0v71D?kpU7f{8zlM=OrJchbLb0|QC_PEPh8-LZSs ze%;4zEheG(5oAFW6*f<z+Ot;~u#`Ewl?5+Y563GI`%j<wZ<y=35-HJR{d6aba_1xc z8E9dVDu)(gwEg7ygO5PlRhvtW6%>e=b!?I76#2#KgG|XnWa-Lf!d6K(Mu`pjBDX&D zMeW>Z*!(O$Q>RVr?XkvH@$f@JFt)5f;ehk&WKAv*h(>!Mc+-f`YMQXsp^``ks~~;| z?deTg&4|u79av)7wr)?6KnsGN6th*T;Biwil9}lKeiYaBM#67=ZP+l#m!g)A0G(F* zkm<AP3WG^WvIyga<*9>PHOvY^)%h}8o?tHy2&sg=x+;<A3O|$zf@fCp?4%1Ec5qB6 zuy$P{Xo%3uOGZQof|2A24UC|$QFI)_PHg#7^i(E&01X~;Xg4s+3^xc`wC(x^>Vpan z&E;8LEq$@t6tF+wS}vBo7>Or%`#aW<q=_vr)I>{@!8~oU#Ow&+B)`CQa_TP`mI9kv zyDlR&G&B$sif_VymO=)BpPeps(yzeOL<gz4UCw&;R61g0^k|wiS(=oM4Y60D{W3jW z%j?5tYlbq2f)p9<O`+@eWy<MxYYm9%D%9<9{SW;4h!h5Ygp?Su;TdwIR|uCc3=N63 zX|J=YP)V6J;zmm#ehaN&pPqmM0S32j1}%wSm4Fo?1fX*g-i;fnP@w<nKX}@H;j7W@ zfovR(==ntHA~M509TLMa_*&gMsZj~QD2aTT)hRbx>7WkGGPK|;w~+l!5Lznu)?_{9 z%RuKLlKfSJi6OxUMxo@_-^bCb2ot1Ow@O&IdftI=fFKbF=93G9A-*#YQ+l%-xdlVw zM(FjNnA^AJ&<zK0<l;X@hQxza@{Go!km8X;c=>3BCta+bRP@&!J@<`7c@J6SE>?z9 z;VfZpGg8!GN0X-9M}R6~)fz&V0)^A-VKNFSk#dTf2yLh_*YJshp>0FSPfoU=&rdKe z0%T446l-mX;xB8PxIgii7&IC7*0xKcG|6$}rl0|vS;H3txec~Jj~|HMoo_bc2a6E3 z>mmnxA!7`RB;-jFeuM0YpE&x#&0YLL^sBH@huXztBM~ev`ov$~SCi>6ZsLI1$p!o) z|FZ<G06bq+#Q!LM{16XTnJ$?m;$H<SWSkmx<_2=?Xym2PHy|*;v0WFGL>uBjgP2%L zh*kiB--HFLArkbA^Vu0DC0x2J7F8muel5%(ekf{A8+76<tZypuY*|*WDm_LYo-7Ka zuy9y3erP5ZmKv<n_ok*UhB3gHhYWC&Qs|LcuiY7nO>S`Oz+mxB6*gh=pb}DwN@eW8 zEIeV#G@fZJ2o(~nfQEY3Wq>H3rsA~y*1hW(?r{K=&<-1y6D=hW6=;fZWP^*-IEF0p zYoht7@{r>%>3?gvT8?qs@+3AfDNM`gQtED{NfDZ*FY7>?uhwbZ-iu{AF7ZMU>3|8? zba%Jjxk$lof!BQE5as`mO}Y3H*tzB`Sd06X5tFa|G;Az?+u}tkVcdx+kW_<Wv6lQE zVkP@;4isB|Iy-?y&Wcl@pH^^LFc0jVS+AwkY5#TX%mSe)XnpR4SE`)=0QL^pvgVOw zaWG>)!g^nQdn(R=DHKC+3^A@1znr++F2(?CvGPkM)0_M_D?b`CWVBtby}&3z5S3g; zb$;S+#@*(vhqT~6*;h~B(YX(MzrJ2ofY{u!Ta$xQ-KOi{>NI0lNVQ<xw)V&nZ~j#A zprke!_>F(LfzYWkpacY+ptuU%IS3Wl58Kf-D?^#T<E2DTnmajQ+gt&C4x-P)6-IXT zn#}y{!P5M}6yXctg|>{}LP{zVrp+4%&hB>4(|_~0Q5Ob&Y?^RZDy`T_h1{fT8nsQh zc43M{T@a{19%%cMV8l<D$4{HZ%MQg&7HPj~(81AQ+|nfFu7f%vg|h0y(+VD9WW=1| zJWeV_1{xf8s4g{n+(jzMxVV~fFZ3Ye1;%pfpy{K9>cBXMn3*Bf{k4hbvF{^x<y2}j z^uFZ_&kz99f3(-Z1n@6ir-`n`c~;QQ(RPaAX!wW{C=u3c?5l{uUh-7t0x%H;+cykM z%OH;8xc3?)!d`i?43;NsW}Pw*BaOI$xVF<m<Si3+-?e$e|LuI1GJpi59w&YHeBNcK z5Y?3RM2!@jM6mirgh<)rl)6s!m^|FLIiXsG8Aq;;SNGcGfj$$~PnUS-_8B8VJV9&- zn|z_Su)eLp_iQg0C@WY-%i-o%1+6|U<&)^N?a%N=f;!nI>XwI(&uOR1PZdE~q#{+6 z2q&4aeA8S{4>M&6l4Tldrkx0VZ)+)WLV^bmg!wwe{6M^c1vPMECxAvOEju!=a{?x2 zZ~GT_z1bPoq<}n{BSs%_&E#pS<5~h3+DF&sPJOmXMeUsz*zDMP1f`Jpg%LM0;$*-9 zR~<oX)qL0k0OSHaaiScJY=rE|Vf~gYfqRHZL0pc8xm38YlE;0Q@t#XO@mDPrgZ}($ zIrBDLi-I$;LJE014<KArC2OgAs^Ysqf=-n6Q)7;BaB1W7!SEm&-c69kFo^0Sj<e96 zM;kc!RnXZf)2YHmNeEq6V%o-U2OWTYk9_4}7`y8L@;DaG4GvVzl)%9gVGRZ1cYl2@ zJ^i%5DZB}=m|SP)p%ERb!oesYZePXsDua|DL4Le2WJitrpM2Yu!|UR{S4Xx>A3;g~ zcakQ@97qxruwuPX#rA#wH_a`dm{e6u0PXF2gYCDJ1H-CH1?D6b+9qo>dk(HCK<a4d z@xVWHK~TR9nbntcNyTb6RVm;YVB~m%*J2RGIC@n3od`x;8CKvg(E1M@*^9)E8gTc2 zr$ayFq0?Y_V4(l;taxZ352C9ymt{{8N;ZI~qpQ*4Py367BWJ$<TV}5*Asokx9TLRW z2`U+c;r#FZQ+pTx4Fh%Jg)c`d?7q(*l7<_@MaH+MaMZ0B2T$%)R0v{%?>DTd-EcHV zN}I6s1XEb190<`=NM~vPb5>q$;}iHRzftBR=tcT1hlxgV96RzD+1cjNA(?^}(r|Lj zQD+5F>|d^7yWLyM=@+$eq}*?J*!*qhx9!_!VI>TZJtYo7sCsFl9Em-YVKa<$`yicG zya!N!$f`QuA@5gU$))?}bU?P^$Hc&e6~Uq=SbW(Bp^hR#n;peqKTIp~F_cXRC$a{F zZMw7c4!A0W9INA72Pjtrxh@5Iy-VZEcYD2vg1%oN71{NRrwPN>pq45GoZ(+aLSy9$ zO<({*+G`vItw^{-Xviu&<CK^>!YC1vL-U!3>O!zkz9eB}(<VOV4SOwp()|m#v&oa2 z;anjk7`&%Qjl8;=X}MsEF%3)Q(!c~^G8-GQEe=x>9(KfLqM~Kvq7(GZHB2GKOf@mp zB{bd1!y3qQI$t*yOO3M&GK^-rc*nq53XA#_${)GYTM4s|<R%+$_6RI|pnR0{be>7| zA0zyWt_pAe&OJ#FPJ8)3Kc@Z4gLLuhu>%&+5?`=gIsl~!$!^V8{kTyedI;hK-}M`b zY>_pR5k;i5!b`E<tMWFa<R*r9vi*Aj{f(_qxYAKhy(uC4uAP+z?yL`zJ^{t{aLr|^ zXc)Al)fneZ0n(Y$i+eha+a!Z^Y8p26M%%BG|NAuw<TQ9|c!pS*E4g2U>X;d8M`o58 zw<ENQ${?`Y9|gYT7w@0UbbPaBZhLMP0^AEAni&}Y@Y`ME2~LP-DnRft`^ltL>?^~S zbi8p{Rq4mfKRWwvc-VZymSy{l=ou;121BhWK;tlQq9_C>ifV?f(VF)9V)sOk@uyNj z%z{0Bh~GKP*k^&M*XNk#(+;-6<Yt1L(L<ib6~Qr_5K2Ucb;!7_`u=nkwJL`%rSP?R zkyV&+`A)b&y@O^-WlLAnDuLt>zM5L)LWDEWj`EihOPAtSN>V%ptt>1YDtIa6ulKPu z->=BhLx*yrG+^8r)_iRH#$++L9P7jsVFzy6WX!@@<|^$x^sbnaSpAp=XRqpKCoUaf zU$l8653a3^Oi1YnI0TxN?3$4fiUfDP92KPZuWsoupd<7OW%{%^`*c2TiOI-`bzVZ% z&$%e;iL?WW=;4lN-F*a<;bIsO>fS_mHf5K!mboF@W)d{M$`UosDp@MX82;`F_6{Oj z*zP!Q5|lWdGRxy~w#ht-bv&Lbtoek8MRK%y@#hYpAzLPX%*k}hCB3PRFn_uVJ7+iw z8k%9-3As5hm_8*`9(Y87J#OHot0)`ZPnPzg*Xx5r2r3nu#87nvaKzAN2^`Bm^il(N zfS!8oNbT<!@T=Bh)!H-2hlf~k(#4g5h|PwrI{nOu>-I05tt;C2v7P#g^zfkcRg!8B zbOmYYVZ%vV<A;-ju)+Hs!OnE`1&0vXeiS<%4AbOuOLl$xwuLxUK|wL+r=RbUSJO2% zB4w1JY9ultkC)iU3cI_*-x;!XR&X?IRv}+L^g$aUX|f|O;xW36v7p0}Ee3ReZn~!2 zboz%QHR7g^>dhvYZ`*C>R!}O#|64gil9Fd!d-ZcSQb@_w>&1o}3BnjM8Tw=*Wi8~B zDk_Z(=)wq~{hzd4gR)OO($GnBI~&zYZ9{u`eH+HqpLEIUMZcQ@K{CM3ljn{rFNh<s zTTCp75=AU?OJd|K*<g%h^`!C3g#l$S!5hBD(!Mqy_N}YM>G8zfQi1BGoi+2OEYXb? zOwPty@bd|SAU*;*uAT<$TNyoJcYlGXY`kpA4}N}~jrZ)KU<8fp?Z79}+zFa7W>)?} zZ`4_Pz!GB)9s;5yPrJN8C&1j(f#|5D$$J4UKL^TjE~6imd=4dwDPwm61!+iCCxU3O zpt5*eT(!<@V9JxKJQWnai#Jak1Z~&{gZ57*{xB{cNXKjQ3+7I1JbWAoJm`oImsplY zQ~G0E&c8*90dtPo;?_4aVHyiLV_z^LC6)EuD1!*RfvIOJ58LL|KN(A_=UT{d509|5 z|HWz`)N2xej-?tobpsO|XbzpTpfXNd2k3%XE?KI=f|C4j9rpF`r{s<DRipziS1_MW z02S9ZqJx5&<8Id@woVe_^e&Y%mkm@<T%9^3PwsS~CWg9gk-VJMmmyIm9Fb1p6#)QC zMT@?KM?+c*K^VpU6nblZ&wt50WYm7dPysujpM>N7A%Jzwu&MJJ-{2EHYD+PuE<$1t z7P?cX#tKDvAY0Q$iG{C{6V-KwdM)O!GZ)e08r)xK)Rlk~Sn^i-|F`uB^JG1(4sutu zrNdu&hm2KyLqDExznlT)(MCZ*<}<7fFypH5sni1iKN%H-u~K6$&L433af8vpp!iUY zd3JoaY((c<GAYc&$HCgsZEuTz4k6BZ8`9bi0A#JeOH<-rFCqKF`#z`o7P?pOMlfQf z@?ih{Yq^FPlr-@DgWil_fya;|OvbdVtF4<e)~%*Oa0k}^PTjRpx=*TFB+inphm7U# zB!eZ<+wfbfB^nr@C;=dl8L)OXN>t0oVKe>l=l8QMd;y6eX|gy)3S@5L*VORQk00!z z^aex5ERn%UuF_JK%LJ-ZwwHHY6=z#B#6iQh(1W=BIHvdwD<MmR)UKO>`8|0eJgO8f zl~(I))3wWf0u7aKcK|pm!mW8dsuGG|+<4kyQWl*18!ld}`6T27dO~|C78H<Js$NQ0 zv6)sqe4OW+tPbVHfz&AD=|f<V!vDS76&n~RJb8CJK4re3jHu#$wJ@L}*h}pDxb>-Y zqYYYIWz|3qQEG`@X_C<9zvd|^70O_cMu&~QTJP67y|hg78a#l)pCcVl8wqe;Vi7jc z8J1X-_RtKms=1@cwR#_&6;KwJvgdu4ZZ7)*HsPKvY_8n3T<jU_L~(wJ-@U&Yc-7_{ ziSBQ<(<lQ~NTCC2$TYPF@t{bQ_O&JhIZ@G26>3JjA5@EG^ADB505q?QG&SwG$B#h6 zA2n>`g8#o3fOg{%lO+jKm~%vk!fJREtiB{d4k;7-PmK*G%Mh5K2}RVsbtej(<8yhv zkSA-dJ&XFT(`=-Q?d6R%QKk5O$5c=TF982_L9MrB5{U=RF_EoUWNdWMSg~Vi!ZfbJ zf$w<FrC5};Wdkwmc_mm)X~TIO#Wou80xzc(|FT*ona;YBCdK(8IJrYDHp=CSoX0~_ zZLl4&cbY1(-`)Vtj6lUiwQTPge$ic}PPa3k1F9X%o5*wG3B|d={0h?9V`0uH!y`%k zR9&sow6f0vd%J;#mCfz)G<6*1xPewoxtp<Ax9HqlZ(KwJBAdDGG#}ID@~&mmqHO4h z_YzK9;rJHF7JD*`qrR&SiUbqFVXi9e7cM1!b5;R^MoHt$9hIE+9KRO=u>!;5Vw~gh z2v>VB>j}p5Qvd8&^+y)DfAKEcmuV!@ZP_$7{7Y_Ai`<T}CS=7Id%pNXVnIWJ-f}9p z+9Y*?u%wa<>-c=4SF>O@xJU(Cl$hO>%ZSVNkEu!VZ}F9-$b5nN>S<GfLHZ57l_&q1 z9TWhEAW4mzyN_hY*`XGqRDp>y;N=25>kw^M>mh1}<?VACliox8IW`s<R1U#H7fwkH z%Z|q+{g&RLC@KZsK$%w;HDU-fy>5|$21rhB00z?yuPz<lRv%(KIlk=`cJRa*D^WuQ z$C-5kGBK~`1@{AmVYuW=gt;+jh8eIRyac|J#TQ36(kjj%4kWL%9-2OPE7%d{QM^K- zav@5R9Hfsk%JUx|Li!DmDeqw$o)AM9|1%On0-7>g6&dOpNRnv8d4>aR4@2^F&qpXt z_fWY!Ll(_Ys#VHrV{1mGi@L;67pAcN&gH9-8o*@e&=fTw__>ai;_}ggzNg?hD8Ry1 zyX;K=j<x$DlzbgTXjY_|#%V;dvpVtWe*g5rgy7Mk*^T{rDLQ?jic!MZ$PCnXq{9Ep zNZiqNSrKo=o>`Y~U@^5KH*h{cc8FCFu_Vyp*nXKsbBLA1AAedb40Y90Sql|Df!NlJ z=2QbU@$dLT?~hL6xZ$A!xs4d}F<{~!4VGD}%J3x6N}Yehl>xyw$J6UAa^@wkI<Jly zMufEv8IhA;<7&J(1Rr7bQ9lOT(F$l)IRDv8bh*;iG-bg1UJh;2gx&`9M)Q48_$s_? zrZxS=IZY{BcCdm-79V4cd0mD()t`5pKLP->Uws7K&nfur;Xno=2Mx+7_{;eRP~if8 zxii4~=J2xJx>Uu%V(uT6^sR!tSQ{Z@VbDaU^D(+vVUbhtxy&EY_qFxQuRU1Y_V_Az z!FGUOhogl-@83$+A^N+yf1DZ2I>;>*f5XydODJ~<`x6n|(~KGZ2!rj2NQ+=U9S`c$ zx~y%oUa6Yq?=c}JA-ve<XI-jcqYO;Rn2(_@XQ41NH-|n^1&T9Z)avJ|zJF{G=k_UV zy5kEWS@k@Tzpqn2ZnqnJsZG9JuOyM_ELitENE|a-3|KU(UI1CrCJA(FGPV-7@6m86 zXc0w3e0q`0Swn4IPj*4Qq{H=FP`F5;kZPPp0^mebAtHSvM>!v!2{D2U5dJGW&V3Kk z&%Ul7dhOaIK-&0EbEEl_ow@LU=XyPpx)ocT!GCQV!^7g&Q2(jfG}lmK*o9$?68)Uv zV?NF|@c&lmtIS!=v9WHRMtzHb`mGW}tpT?5;2?-uSc3pmnio0}EHM|*p(s*u>i0Oe z?|_jqG+t^ksqr4uaqN>WgrfOrLug~kkqV_CA5Afc!+f|3H=@M=3KgQEpnE*6OZLd6 zd!Luby2VQ6NoUZ9YWeTZ9NUwXrt)_vU3N8kug@xi#wO)X6Y}-S#EWf0Yc;lS#%$Cw zHCb8tA##pT^`gi?;%v73cdwhTwbb4K##;Q}2ugC<`V4j*STCxG10prj(CnJk>Y6sE zmE19vHJt&Mez%>Ct5p@b8sAu1S?T^Ycw?5Q?+`d+<LjSY*u8hFenbTZ+C$+2xHX+# zGdd(0sINY1E+bOGqzi+Q0Owu4oH<<Y7_wB}&1R;f{L3xgFjKkwh3?%+lX<FRfgDXs zG2-7x6b)|7n_CP<6-md0B-3$pX)vy{9lT+FM=JegkXT@>7Ws}{2CPlW!b8i&3uWah z0#1#{;bRW&X&@*iPm2^iHmW@!T8M)w;0okoV#yQ|>fV(Z{IXCpMsBuDm;^QztF^{{ zXv1ieia^EkJ+_^m4HtF5C@^^!E~p~L?A?2UH-iQC`;F#mz9JHg8iB;Og_O7E<Hd2P z-NtfIN?kG<ub*}~_L_pAwh%`@Q4Lf*^UF}hA<%t|VMzyn{)GgL&Ip=|OA(Xv{_Af- z0l6U_L@vWEyC9=cDWPq0Z<R+4n>empO>D0|u#A2lJa-_$SK@^Rx3Z84hY~GuQ|KH2 z@Oml4xlY6h?hjZea$7rvB&pOe;T;8S)CPt=@grtVhO}-0b)4j@zqb$-C=Lxga}V1@ zq94Uai!;w0^f$Ltx?TPK8#ORxg<Y-+f6_3irt}6-wWHu~(kWY@->pjVK}F<Y7R((e zmbpvIkT#s7A|7#lwB{tLdFluM)sl+`S`<Hu;O5sn6%+i<h_ixJ=Y%s4qplsgG!ijH z2M3?GH{394lX+xA<oJmea0br*(wkeDJAIye02<)cWRSbVQ=4(t*h@O4nxl4XZHZ>j zQWbac3s2kKAw#ID6>KPVtC1Sp+BCg8YUg#-g*)xl!ney(c5FGqkjhs9*A8DCHSRM8 z9T;E}KUPi4h6qYZQbb^}0%3FY6z#ZL=t7)V1{bb>NhzX$#i<lqOm!noZ*!>aIa&^m zK(k=DP`%Q_OcVOR`emg!Sy_W&mts3QS?A|t%JMKcWSuS5Xc*XN0L#ijJQ(+;{N{Aa zxID~@CB(R<TaJg9HL~_&a%r`rM8$Hn`t_bMRdgo(tC|WEKoh3e|H3*~=2D$g#Z>VP zIvbt^&~TBr;H^OMPszEiHvtlj%Iup4gEH<#3oU3WjGEdjF68MP%a4~TgMDftKJ;OT zy4@fE+e4ieHzVzpk_bZ50QY2bp9|@4?A~h*DDi1T4({IFc^kG1=B#2swR0$b8rO$? zQ-V@?IpaAhL1>tbii!mN9yC+Y5);!nPdknt1-e90y6oV|3j4oP2A?SWYfp6g2$oGo zN_R9Tlqb!RsyvaA8Y4UGDDD%;QFgIjcsI6Si7K2ZT49F2tQ&SZ%>V6ax7~o@)zPYH zinJ~wkJvXtSTcy4vJ0=;Qqv0a(oS1o;~67N=8+7x|7IOC_sA095C45+UT2kP5MK$& z##$tGJZ8C+$dr@wrms^uBc#PrW(@QJ%d9><nHko_doh)b$E`T<KwF~_?QBNGrnaZ~ zM7GBbrk;WM=7)rzg19+8j-Qs5kpzbpp4Z12@eDjsLO>tw8$;oK`h)M+>HB-aX1&7< z`ARR#@<Vi?uMc<o?xn)_3Hr_Y)1bxZaAca?Q&0cyr6?$CQ8tPr1CV5bkfEZVnZ(E` zRG}~$Hkt~~4cZDIT~rjFDV7HnHd@}&`ys~*!`r;XQd3#fdq{S2kaRO|#8D9*!x@_c zrS~EhXY3gU@4Ff{{*FPw%<?y3j%#8>-pPzuIyevmJ>LL)06>`7A?ChhNkYff+>wjr zs?0^-)!m?-F$p}>UvVrWM*O7@9k&7|ib`+jKrn$^SCb}SQbA&yK9*yXJclr^9H1!# z1N^i;*gTJ-At^>!;H7b?=OMHDp!~kWMY&V>(d|!M%D%iuMcJ0=!`KKuOcuUebZ%{0 zL|`*h?}uq8&UzOi{-xIGk94`xxG?efsGsps3<YC%3&tL~)3Nol*#JLN7XR^bsjjcN z)Od#cos-og7mzI7>-wznyr3WmHB0w1xzNHu)b)_%^EGp;His4CI=`}2;Q<(Ou<h7x z<ksGwf)DTcE`xgd_Z+gOQomd*Qx5PSen&Di1(>y#F3Mb7CXs#|G3CBpKM`*cY5cCg z6$e94WW_mGbCZ##1Y23|vbPz{^w*^-eqOU}?ze3wohjXjq05vf1=SdEa7GV5`RaOq z%!NMoujQZWknMvh0cfD7COws+ru+7qOnxxR6xrG$lk?{KZ&31*b?H^N2Z9-zzwe!X z*;Ghcb{|Z~&(=`q&w)Tvn+R7smp}=oI|S^YW`i&QR6Z%GY4fR$dlEb)=BE)r)XT#A zxIV3K_eNx1iL_Y*7_dkQuqBvqj)KKR5pGGQSp-a{@E>1j0Xr1*pHU=ILR!DiV4-fl zjXV8~nt0gK5*Cpn56{nr<PR_TAG026>6XNtPs~41Y@1LH&>GaHhMXcV)Kg%z5qCim zCz#`Lb=rl7?|Oup9wtW#KJfmLJ#Z*oY<=_jeQR(bcGK=nV78sM%jccA!gs6DV=!V# z{o4T3%NFi5z~?j7N8ITh-}jw&toXq$Ra@4e+wbbD_siqNL62I`=5av9#2>66F=?q& zw*313XykN!CMQ?pdl}eqV=LkN%fyjDP|?Rctiq|_$AWEWbI_#qNQ~T{pf-p1o2%{a zTmpv|A`L+xHq(1(X*^S<CPyS3FGnTyN;RaK8XN!?%EC}FehD)(cf`Q=Bt2#9{q?4I z^uOEF3~YEbG@iGng^r^J_!>CxXmLXMQd^lC%Obhj&a(7z?URYs_^>81eSlJ}x6jqN zxL&O?2Ua;=3c7|yYr(`UYZ2akhr_73>@<_=!<83Ru<vK2U|)M~cZ9+7(--O`;{%SQ zvpu}v%V_VwTP;2J5m!pT$+xQzf1T`><f61-(>PveX=q*|?)xj0NJjO-C)Pden*}ER zz<k1|ot~e$L6!Cw^`Jrh?Dj3IkN_CEwmC6W5sz99COU&~S^ZVKQWF)I9$Kk2TeeiW zvt0R6Gn_@R)?Bibg<F@Pw?--~qM~TwE@>t^bI|tcG;sD%L;w>aS5BB_A0&OCTt9Bl znSa;!d2k7`kuc8oJcFF-b^#~%{FY}C*r3#ZzktB?v<NqBLsUu#s;I8UwLOQl9tVgB zv$WsbANgQXCBj|x-XY(5tb7Rg9P&rydMG^UOBBK>5ct4HZA35i-uj;OIw0f}k(+#a zuF3tefx2-=-g-GKPmTwR8%{`Zrg0P2|AE_c`^SCviI|wX#4N4X?U78R8*H-FjDx7( zi?0wEbu#k~DP+%L+tjJL))zEFG;+jgJG$~suusRKJGeZ({j?sQwyCck5&4{O?mo)} z4U@bBJiJk4cg}tHnrSC~lxXx@tS|P_bXIwS2olJ+PS>juYJqlQ##R{WEiawBb$IO? z3aOxfQ4D~KQiFLBQ|Ui>nf@k<+iU2o9TjM#`SQiCbHnR*WH#!QqI8La>5+SF4xzw# zcKk>ZES1(x9$MUteoMEVo>1a`?{9(uH{VllMidmtu%fM@!9$^eKV~i#)F3pVM2HMi z3T_Kl5a`&E633%T1)nO%2&atAt>O1vtV?GtMHHCJ%Ge<NPQrR3<|C-fSBB(E+vi<h zp#VcHZ1Q@nq-dqt(kwVDE#ot?Y6+%<4#TF;f4=X9A0bB*1WJgm#4_p+ANC8VVUl6T z8opO_;HT6(%d<2E=I=x!WlA7<aRl4a2kfsugvf3HVS{x=19pE21@RT(vG^I2;GUCs ztgKkFr0eJl0(5)+{Z+TIXTs<wT*zErsoCMnHFdNaQB+woi1^+mHNJlfJUC`3LW|d5 zj6M^BYqy|8dSWubxZc!y@F{`n3A?kHV(XI6WXRTBtN=-D+la{hf?f`Dzk|&ogtVa+ zXc#C136=37CT&n7Ph~<D`J`Sq$JNz}Wc>$v^_sSaJSq#uhe67@psEj#m4|3qCW9Eo zzq^Tc2mb&3M5MNGb2uD7P0^`2gxW&YMR#%02QNgwv2MYZf2(}Ov0BJj4bfSoymu3_ zUAHA4-+({EBOxa0<%*I=%A>kW@=glc!GL`)wDcS)Ti=T@{T-gA3%H4wGb7nICtBQ^ zz#%!>;rg{AWAUXZ!vpA>sO^nB$<VTe>M5iB5w-c)X=3UU;I;DXwf1C#SuHkqSDu`x zWIX8?0vXr#2*=IJ9xQ^c){{<MzTU2cuAKqLgd!`(^}d}%NIj*4pCI#X-C>yc!yI7n z(O{cMyT9X=AWSiAOg3QT>Clr;m`mgZN`P9?NF7}pY&gNV5ea8s|D9bK-Wdua5=4fN z;})?*EBkZk@Ypk%n#8v#m+C;}%8_o0%*s=jK!yYHbF69;Vf~=Vb&!BLMdl%_GiB+f z@EBBN1dNk7cnMOI67aos)BX^h)z_U`ee!;JwpSG$%4AZ|Alr5t5f~ChrYk7|c_NVG zcNBb`51Y3Hn?5{5uDe#9dT6%)QhrRDAcwGlwlU;&yH`Iuq`im`_KvnMx901$?2|=4 z%|}>CI^!OU=_W}~;Vlc`rK0NlKPp1g%cVB<yUcSaz(NLrA-}65*id(vG0oJ7{|I0Q zQa^G#I<{hBp(AO+&d7l+Qqq=@3_co>Q<X%F9Uf#ZB^ax?2`_P29;ziANxIe8Jmq#f zKYq*QWkdUS%Xk7BiIfeSW?Ys?)-n1&bkY5X0o|1jE9s3drigbM0=D5Gj$DqPOJvaE ztQ~_lkGQ8%V@Y)cHu*+zqSgrJH!QX@?}ATtNVAXto*UV3f!yxs=+?d)8%z&Jz+OSZ z#H1)3BKTQNWZFQsDUdkaY7jw+mgpNK37WF;K3kOfZq8aQE>vf1_Hlr756HA0=SzfX zLOkKlpfoyW&BznjU{%C;Rm7H>o)Uajj0nl84Iu%{O1z2kcKnW|GE#Oo2#HJ^EyyZ~ zoQEkZQ5IPRIkN198V#5{oefvhzrIY)h!%h}Z3+P1lWtk)AjrHri=QhdW8lXnV674S zsyP?=s)?67hT#!hmibPOtw;{J<J+ONl#Z7b?>mi9@K?I*d#cMp!o;z0u^RgUkb2@- zne%hsdAFK7^+bYL(a?<XR@|D1C4r5&DS`9rNMQkhtC_Gv?nL5lrDQ-bCf)!7`q8Y- z@8)7gsVJp|;#GI!Gym#4i|OMENuhQ>nKRAAutq!)eqAj>IvH?yzu1JYljIfQNpnXP zzd!&gswWM?<9QuhT!AK88=FmEu@(eKU*mv+2gxD}P4>+>RYFHdC-9&5#lH=nyG6;V z;YgV*AGGO`D0C-PBV>ZizR4{8u0ADg<boJ6RBm#{2qt^B#RK13(SlW$>KhpHc;@7Y zl~b*?8n&Z@k6^np$Lam0r6CRus;0|-6&-`(tCsNs%_{3pKA8jnphKHn80s_@JY$S( z_$QbO<@pL};_i7eLC@nZ*}$BPwKAWK#!o#cJ#oh-Nbmk-ZqW{`uY=;>TR3Yh1g<)1 zi3F6s?ycffluY1}7Z#5dWICEYpEAZk-JMU}a>yA`Mxy@n;HMqpo>EFU(%DnShrjof z7zL~}2Xmlu7(~%#)5QH>TC%#`0k-Jlbw@dbr3UY_(~h7?t`$2j^mEp9Nb}&wvjqn@ zCO_4VST+J>b>oR|Uw_3@2?;_t%k<g8t%b@x-yH#O9@7zfK9psJ;Q<*n3);@BaWy2& zTwHaEB%|2Y8EAGzsd{6r)|#|nu#-Y`aA`R@LJFxZ=zaV5{kR0ydTJG<fpIeVD4D{y zr!X`JW>St$x;4f%`%>)WVwAhJHhhuB@6{SUj^|@FeMWizFv^;dY&n$O55s;+fy=DO zSz9Z#|0z1)pVLmk)1V60fixekC~|+u#_)O8F7U^goUsyJWoO&ZqkQFpRVtIz(ho}S ze1NUj)#L+9(-RP@@d~=?eWfDueD;}?UDV|Z(B%VPG!0%kfH7enIKQ__C`^kYA&w;> zZVwTW#og8kqr4u0v8Y^dsm3`un)aE$zpF#Lny=JW5v7#B9unw0C#&`YpYiF!0c_v= zFv{BiLVt%sR1wmKtVspMlxk~B-;3elil=g1Skj-d=cfWI<r2eK%%foviM#UTt>Eld zly&al*T~T{e>4@kT;SiQ3hZBjKT;(M*7X}UIE)bLAxn<1uQ$^px6eSDjBM7=*8ZZ^ zB6=*nsu;jAEBbx9KNph`m5P{r0ST%HI{wh(uX2IAw90r$%rL+|G{a<5<t9sNzf=^% zV`jylA&sSt%L1zbq-Mo_b{Hs_{woP0%JUtj55h5oE0|nVQpz|aqu~^U)FeBu-}eIY z<#LyR9s3bze<!@OEq6wY&)EC2!EGAU`IRsR2WD9zGlzpzsY1~ma-lZ`kYeXzh<e?I zF&#nJJM0cVcNaYm_rO?OD@iGQsms++D!iJdA{F8M3vyNruZkic5)XXXPsApt9O6mm zCS8<~+qeoEA^t+=C%(3j6u7y#p^+65JWJMBnK+B8;+}_ySe0~y#+KBM4HKh!pc{|| zUuHTW&VmvU>IM}fnjo)&#=RJYQ<F~$Ln*~%d6GV!754Qphh=-l<onlN`g8a6dO=W{ zM8|sG0g0fKu6g9bZ$>syW^r>NR1TkW_hU|`V$7INi{ZN-(lUKXh&=(NK<x2@4APnB zUMV$xjl$tA3grtzi4r&i2NULU_eRt-!7n4`vVRF-0bO5SsuLj%U6$n?250SMB!Mf^ z%~uYxl0qULdx4#H%Z-Ck#62lP-}Ggg#3JBf9dUvPQeblgyI4_R`lXc7Vt=stHV6n9 zL4A02XDdbuK4($BPryWx0{l`d4)f+sz6vF}zB07O^ZedkyE{Totp_)H%Y`xXaj;;J zKftH-+NyM%7NrQ53pe2fK~bu4LZg{@q*m8HEf5TlE^_8-CfZkpB>@o7_JM7!fCpoN zLqlU$vnCOSis+PL{dNT*nr$0t#SIsh<d@d5Mw0k_2Nb+-E>d~pl;E;LK(0{W{8}CK z!Ul2JgaxVvG92`M@|;2eydbPsRSW3y8w_cDN%H&DdDMM_d93-Aq-Iac64=n}zn`c0 zJna2Es6gM{;(x(txqqp!qOykFyn|zgM*sY@@txyhk;V8?KlA>i;gSe0queLgd_ns! z5t5xtO5kM#tQgE&D{gB=%~h#+fKO#*4kO7FpNtHgougz}Y>zcmm#c0q!l4&qFx)Lw za3%l%dfNtrtzX}b=toXJ*))m1s=ae+a@J=jQ%blH7|#3?y6y4^8MBbdp?2YM50?|f zligNVh4`~I2^)ml7uCjZU_ke?f$v@G^;Yjo?DtF3O6bywXli7^;CR9(A)0;X@j7NF zB52<-e^`*dkze_Op4;@F71Ddl;-<WLggSZPJ+c919B{_<^bx~o6sq&Bczj>MJt#sk zWZzcmP)N>}RS}BvU=8z4QOy~04ekgvW!XTmWcY;4T5=e{;F)u8SRmfU4MwFcRwV)} z718@*kuzsb9^Wkk24Bbd#iA9nz3#bM(A8^Ux26gd(J^e|%%wGIT&q9o4>e@VKuOO% z3rk|glUsfoo8CE@{(uMm$!?+z3054lLKdLC@#uQr%QX}>Bihtu(QC#&t@rH2^}W98 zyqS^5=SoQ^cK3sRwdxax7~xRMch|zq!1Awxv>f8z^x=(q+UoUp<ce@~|M9-Hh1rw; zF@`~kPDa<_P^LLiUQhSWnAx(A_$xGrgJ0p*(Ft7k1??9lUhYc~?YWC$gIjp8>=YLB zFJhR&bdp@V_eVx~-BJF`&_!7u9NU_fOjyAt2SK9MR^mMkMiZblyu<r_QN?9VsNI^I z>XB6?2rm95A(uO2Vb`#=H2=2-hem$>2C)zjoGuI4Ciqg1vPA8`(<zhW&r8q$C$*NV zBu2#CVba)z<O<Y%%agCz3=XhuYN`-eAlIOh$X<T!w}JC|E7sJJXu&h)3lvWqB>vbU zQuREu&BJ^-oxD!;{j*KIrQzF9Q+zSg?2&5SneG}tVdnJt7k9{5X{aDFOx)~O)2i&G zCENc}I?=aB4TDU9x0DKJuA9a35G@P<Go}oQ26`bgzE~8}{`K;pzU>x~<r`-OnTG2+ zg;+3jL2xAYk<+X5o+1w5_~Lht*Rc$%bmq?A6<kdQ2~B!}_fH;ji6C2wQAn-SyJp-+ zj^yxpxpDOmTR0l<UPZ<>&6uNdEJpdh#$MBiz@!Co1gke0AItBNO9oS<wY!?y-`Dzg z;pih_=Ts6wTm<UH3;9JCYfhyBsXl=*0QBwaw)<+=z~B>A;G^B3e=Nq+@ZpifbuVGJ zOO>ZmI*7oa3eCTmGV1=Yo?G$hK%W6jzr5WkD{<e~N@-Kj&Ngv;yp0OgI-g`Pn6(jQ z;t_1(pZj?|L&acWWszn~W+atg<`{9$d3b|j_K$}01ZH>yFqQ=1W(N@(nJh;C;1fP* zj8(4wK5ni=Rx%PcK_^%4tf$91exCmXSzBzETt>Km$NfII^o13OA9Ayw82wSC(B&=t z&|x`w-YrbLB^d;d^{1Z+K01g-ih=*7870!}W(0p#EjB+6U#G<xB5hWFlm<)2{pA1w z2N%xp&Kzm)$G2?>xHho%l=+R41A`l}WbZy7gnoyQ2I5@q{ej%~NsNKU3#o8)i+|6- z3f!r>P8TF}y-T7XQ(rrw<W4}b&0%2|nX0tbYO7F}F_P2g6>lo{MRG^j*b-j-_g#+E z3wUgoyb1*Wf7A;5^SyVwFK5<zU~~B9tYY?5yBsjae%oB9sj3ViHukLnS;XcwY2~lc z+arJ;3%NL9Jx*xp2vl+I_<BzvpPQ2e^E0+w!5$1iK}n(oUY0;lyRLd>EuGzTZ2*?j zmOI*B>5-MqW-X6h{qxxx?2gm@nX@T9uwUl(6)Y|4_1{kPx2fHe(Wh3oFD#?0f0tR< zk&I$5UG4w?k?w#03$V+(^*##SJZjb0cho?>{oCJ6`!`k-MCgCz=7F32Mvgrw0K><D zH<}`2nrrc{n|`f@vjP`%t+TUZwecBY)esl+##5pJ+mumW(937YMe7IM2V&hasr!qU z9YFwV+ekD&Wi7Yb_c_v^!z2}OG0zv^$o4WOWCLn8R2e(x$$ZF{wvCaZs<i(1MT5qC z;UKl(;@Jx_gSBE6{;rYL{bHz>&Rmm~4JvmcrpKPiHYM3@rZRNUK6G$LsIC+SaS*_U zu-JIt$(n@<m4prz8NJzO%2*o*FaH~kps|7a^W6)+UK2T95}waMglcfmc*pTNj|GdB z8+R163scdUlPN450wLIn8X4)K+rd`*r%Wc5%#mjjhv2^H6B$?PlM@C&xiVGO%A_h* zIAK=dlLty%UMLE=RqL^iYW5vxR!hL}loI+)DW2Oyqo4b~pZ+<`B+mN302UqT;=^Dt z&{1Q$UMgJr_#95Y@?%U)EV(P4HVgW@J@C0ZJF%y-`5g`ioQ}qOvz|T>iiS|gVPWDt z3aJ<-CTA2K#VaU@A{Ns6QlS}Mef3gHn>m~1aq;3jTrLx0v7F|<Z50YK%*>`hKw)su zgG-m@6(eseICW|gPNxYj*D^Ok9?*=0)PQA`LQ8MLXe}nD`1V}Cb$L}4jE->l!N~$3 zsIT?J+o$l0k9?x__h|yNOCBGa%Vlx=pTC8VK3pmd_PXpC3i?+p1q=oQj0OW74hJk2 z3ycN>tXBPw7>uh26lX+yYP{O-HI>fd#9LZMbFLx4=3K$dgl1^POVlbfy-8Xq7EAc? zk1t@;CLcyd0^qntO)D15g5zj)Pt-D@H(|6E?G_p#*SOi=yDZ?#f1g7tCE-3Vz^Z6> z)ANfRQ<qqiwQ4w<OlExU^UvUO0EA=&rR37&p?E^hpZeyj?Tx{5RG#()2|yl*C?(z_ zW1G?CYV3?bTiqy@B+S*s77Bb3FTMVbs(O^;i>j#?^^$>Q>FTr`HK+x|)&k4!$A0Nj z1QQcc3=X=nX_H^E@!xspTJ-~&%^X}V6MQ}!TrTAoV6kv*5yojLwPZ}UT$cgJ1tB%~ z&MR^JA1|WZVv*o_TEYg64l3`Rx!4hPNvmRvvHL)17D9X$kVH5g4y1Dh{C^)@UeWv2 z!(uex$p`OQdVx@Y#f@lW2D!R1U?<)>rI{)|muysRSXyf6gR1oqtw2p9=_D#`C*xTf z^GODoJOMDfvSB5~VhNWnMR4g-1i_#KPNy01cviveY?enh%VTP)F)MUrBp^p2TZG>( zv_ytXx{WWBUn0Y??=Rrk_ZMI#4APtzAQZ+^1b(9gn~H|U7X`fZ`a3K3E*WjwHV$oZ zg0MyuBVj-iF)^z@|9Uw%Gci>qLkScz**vn-jb)o3UA(GlCjc@L)Y2~MRV1I!s_m*@ zC1eT|=93KK8F}+J_V!X~BDNAtO(j$}ydL85CJm<Qz|yUGB*Iq<*z-_hIif1cF86e{ zgk#^AHySMou<;S3I3GYLoQ?tyYxF2yj3@EN`)BcqUE5oGzd8__X&P~+I3u{gMidus zAd~M<n~xey%r4^iODE9fabmEyOZA+K<Ja-#2j^6er3*Y#YOXgZRV1^S!$S`(zgQ|$ zppdC+L&OV2vAO4K9+s`T<SS5|J)360(pb@uxOTwn3`W_s$=6`Sx4N$R+4h4<S8gbO zOiC(M36U>RxSG^fm(E-oM^Be$S!1TmPG3vs5sC)q3*ma^eB1BQ4D<06=3@!$y;r^C z#l`XKa(Sr=3Pl0)D(X=MPP6=*u`G>;9vaeBj{w=;oKG^<fAI|6)J|Lp7>ZQW#uY0& zan@Q**Y?>34ElKZ?ZUFg1FaMs$KaudhH&D<l78H(i*7k&P(v*t##0n*tOUP?-FM=x zQ?NZ^ZhKI9#f#J`(%IE9E<N4qqEC+qB~ipoBBhz04WJrd7#wsr^+2AzlEat(>nwoP zpG9G0DcH>nEXF0NqDj+Ae^sD7Qq){R&|Rz&qg~&z>U%WtCHwt01cMHR`qhd@X*n3( zY{qb(K~+Ln`30moFV4jXTn2UT5?>VX{eOJ}zxc=}S|$XcnYMePUcKHqS7I&dI|UZ_ zBHsMqtZD)tAQNFKo>a9HYEjuI^{(=p1*?&U)kMR@HAd@OT4A<8AzPp{n}pToow&>; zu;r(L#UM6F6_%FTQp0xd9>5QOc&@50wc=4a_hB1P&q`t+fG>R^fIs>AOamckNvIOy zy#;~?H1;oF6!7xv@8Hvi_P5lfg5iwdvnkbfD_T&K3{Iy5V`HNb1OeGx4x*_3q)w$$ zxN=!Ni}ljfl3~6OOXzxy0AMbW0WawPj^>-7QK*3;fYn69Zf3yhG?r8BDyNkJUy_h* zHfp5~k!2Vy)xP>K#g+y~sDR@b95}EMKmPFr0IhqJS_TK8JQa7i--s8U><ydR>(e zCLw_|ap7!C!gdXtH<iiZ`~Ug|4(uIkDj|xwG-l4dEgR7`7mPL+II|6$*{a#>Yy5_? zywmA);ETWaJ1u?G*|`X=U%L*TZ#2RyEpXmDb5V2BQFRUTapa0T46J@GRPBRsVq&o^ z&tWIPPy}`}1FMM!tr9<DXac*HtA36KG7v(cSP~IW3&<8q(0ItK81XEPc$UVuUyfm9 z*r?qT2Y}0EuBuC|+Ao<z2^L2SiEAdJXl7tF)0%|fO7c^AChLNU);6dY<4K%&>r~4F z%%zf0?SNMSp_vAWq1M36-_^RB#c?dU1KqfO?Yipmzy2RT0d$%m3ndYkXJbg^dDu+N zA4s*oRW{2blPPpG5UT}_A#hq)g*{LKMF6vjh26q|E2~PR{PU~I43?(gb8zVO8sW4s zU|OkxUIF~>=3lJSDQ~J)$uRLs2Dn%Rt_yM@Q9|Q7mE^$+A%^=Je>kp`gF#4PJVh|A zK4%?(Oo;EibW(NTVk?kJf}9yz^Y8LRSh*IC!@Xn5MuMV_4o^`O2143{SHrO^1dXR( zEfHEp{cn}Yblxpo3#*YvkK2Ht$EZpK0O;?r!|O6tiBJpOT}V>|E-MR{l|?3BLNY5L zU+lads3#RF$YkWFbjzMCu3T`$Lk_IXiNFRlZhjMyEBESJ-RMaOqmV+8GU8mE1t6hE zV}h=1L%a){#e~g+{hD*C)o^_wfyHDNHx?7PIJJPqR2GXV<x_iX=NN1@rS!<>3oz@{ zHS`Z?r-?7}K)eVzSqXjvU}ofpV5U&S#C#lCzCEW&t8t-~fMW=(Mr~E79z0)CB?3@K zhQVGJL{UUC%_E)VA=I>(vlwYuj5G>G5y`B8bbf7O5fxNCN-e8NMhO_M<N8!d-D}s+ z01*EF_O2{8j`P0%zM0wCgG+Ij$C`)CLu4#BqHVHnEVq&)OMq>?I6j(0F_6}dpNb|A z0oo#Z2+*Q1iWYro5$CNi3iKsG3IsKZKtfT=2_)C@QPL(^lME%UBrcEL6?eJk>|9?T zzMbXH?##~YCCNp9fB^BH-I?F_zyCj5LVV{(H;^lu|E`g8bs_}7;)qX{nJ?bk<HzLK z2nNGPFc9uTAP~Tv<U!?MGF!m<w)0lh;gMmSc#LhblcW-SK4!(z2bqRs@Or%%9vQ~& zj&&tjql^@HWkBR8`gjeyi4;(^0WTQjF!GRyWV|ssY7-@m>PpQ(;0OXf&M_diLZdWr zon_!Sg3u8!LPxxiN-A;%1-ZhZuj=(M7plLPBAsXYZ+51&Q!w`17-*y&XCS&Q<7D+G za^=y&KAX9UaRJcO%8-wNY70?Ih=7tp&Kto>n!t$=08mgV(y0R0k~ff5nQnyKf}srt zgLvl5GnJ2-(hwtqtT@+LCMG6q$xsbh2NF6DJ~RX>OQ3QIR4(G1uMOhepEbXHF`X{r z=+Wl2w`&m!3a(<7S{&&S;q%u2oDQZQ)R0y_uYkd@^(n)11OvSyMhCnYJmP^UbT6)m z$IbN!PdkGmu?DBplwi4wb!Oa$i*MFvLU^jeudq#VD`|oo4OX2l9Z-Cc1#aYl9SO*( z%@aWsMa=*1Jih(fw@vPmL4ZOz?P`@Rs{Z`UBQtpB%rofkcizinfQUYD!9H-I2=c1C zR`Oaau2^)sR%3R?-R~7z*v=C03Fr@54}B3r(twLPgOh3FIf7n4V`@p!k(1PpTZ`H* z#vZSZgw6L>AlLkTqdQf?;VvjEO!2^mS~rA#dcGHLd}FZEzhpqviqMD$vJk}0EJ0DT zPP>lyfLqPAVwo`Wl^LA;{gd!|>w|i^JkxBD!m7@o>pG-z|B%<~#l++|#>bB$m(5{i zc?DZr+mIyZ$$P?a2==-gFRdj*D%F|lxhOQhT1G0VkV>khWia6QTLpnbz~{~+c|9Bk zdPO`u<U^!SgwLu}+X1+V8}c#LJkD92P0BU+d7iLX!{XB4_{Jbk&(#MVel-J5XAj~| zf#AwEu$BgjRR`gqm!K8hl;M$Ky!7fz`1-S7w<H1pNG0}=8<xRJpfQs@+-jFONFlKs zLo&VtshGv|^f=C(c^VTFM;)){p@%s9;VZ2T89B`<EN{3Yi<>~X7CHrXlLf@@7NDw! z_g__Y$f`C8xF7?^5nETO5qf;A;@1f@+uaJ3C*JO8EWNs>m{0l?t+yQ2Xh4XIZ;n`| zT!V75qJ*hZg4=n5t9u0h6$fr)fUL}{gIoA~KFrO{;tx(eg@FO*F<VttE0#gk%$8J= zN=P4MpsETId)vq!ST6zI+jDLYfBm~XC^XX|Uj;?cDp|o+(e43TkW_5#<*=K`V{12y zt-TzId3h3WK?Z;kA{c011cU34VW^E6j7~^bkYK%cXWzlP_zBzhS@Rl#0UmFC|0sff z^A`vxdX)OzMLC7wW|rW?1i{i>;#kBK1Oe02lQ?tcX*~4MAoAG^;yYU?7V=P4``|cz zU>&ezGFjZ&+Cn;&M0_U(xn%7MZEQpx-J~ZT_uz%+eXbfI?e5XmR>xG2+kzx(rfezT zk_?$#$&^uY3#(?RW+BUJUChwdrUir3ITyd9&sx)Ac+i7?_>1~{y`anRDfTy8r36K# zv58kzm2IS`f}+USPwruF`ws3Vc9A(q)e$3CwVFkeO2}j~SY2Jk+S(V0@5YeNW<YH; zoMW+F+_({KcwGSSr+?zUo767J5sfx0re%ic>0&!~^#?o2EId44u>!hIk;%!B+Q<)c z1Z}l+bbKCGL33hw{bdcini|B+xUbUKR}HV0hsJrJ@Ycn(l1ktcC>o{5*VZ;5NfI7? zw0;4wR4hO$7HnOeX0f!iitTOZH0vLKH-MSx_TAoex(HcT9p@VCz>#}I21!y;B6>?! zzz(9oIaaMVV<l^;B3Nf2+yu~@F^AHBGn@ZxY7pm7_2KG57FQR|Zd^b~BM$<Vw~n=P zC4xSG;}hc6tt}{uibo%v>00~q!oo7*apySU`RBZN{f``qC`}+1J7{j*P!*a<t7<xh zTn?6{nmo2nDP)D+1FoE%dLWw2^F{lI+bVc=LxzS6jCBCFHDC;ffwZ4ACdfDsY-)8o zo-V#QV%f40P}0Z|0XkP7YiX1qF9SVdV?u0i@1j_gFh4)rQ9=}p5|)-$kxDri&YpkH ziy!^DO-Evjh{e(^lOdT=kj!*ean(pJbzLOc*QO40vvbw1p@U_c_H_2|wuQoBHF&~m z5H%U0V1UQP?~Pan)Im8}Nx9adq!Q$1=Tk0~O5-=b`4IaSA|S0`Z!d`tKKP_PBJ4T4 z&EW<~j!v~@bQ-2RD5)xnvWB9pLF;mhg&WkiVKj^D*Q1c#HkavO#Wtsu>$q?jgqJZh z?!#L@u+A_!5h7P|CWNZ0`1s>REG@0JOo~h<hoz-eEG{lv)*))~>RH~J2r<o7@}aFR zfqM)|V(*7}AwW`Pi-T<-3IrS>5P0I+cdPZ)nnAmnhiG&k@puj=Pfj2b>BZJox^Zue z1Yk{N3NphsnJ_<LZ5tb^X%pYv@c=HqIf5Vm)I5A+5F#fITDnZKMv#$!fJos~Sl!;< z#rF0t!r>6c#)dIAX0x)R3j6zM#A3Uyf@A=osscTKfF7$>jeWCja;Gsh*4<^qcG%r# zDdnadQCXz`sH0R+r_iW;@1|J~U_&KWuKX5(fCxol?YnhCEY;A#+$NcpyIC#ZFBj!% z2yuG8*D}Lo5F+pChXxKr*I0p$Y9P7}oodK~A{gogFF4<lR4R>BDvjmkRYW3#=<Tgf zd8(?4y}hKX7K_SDFBL)a%q`7jYYxRCZQR$@1oC+qsZ^nEK|qh6$K<Hk{8q#c;eiOC zTS2pC*jPw=_3BM~5teGCC{R?G7>iXOlR=1ev&(V*6dU!lB!qGoMNNQa6RPD>8Hj!_ zd;vd*%Zg<@o^+KFY6Pk(&<j~WJ$wi^)~iUQ(K_O{1LJ_Qx(^r5hw*ps>~-c3H3`!@ zPB}Vf_l?~|kH712d<7m)6FXoHF_zmlv4o#6O|lxCKh=ke-?N_g_46vcM1|e*Ww}^F zX8!=P%~GyTf@&J{+yMeg%0vY71=SN_Wx2KKy=o|mhU?dF)qVctV?Frm?{{}rdU906 zQ?mhFcp;1nFNE>T9E*+2mVuHGx;x=nhk%c>tub_C=Vl~gb}6o3j{*Q5c_d=L*C#~* zS*srw0@!TCG+5fT>VYvV#M?jHtDA%Ha5^|jA?v)gm7o;GY#zm20lt7A9<K)+-#H<Y zQztw)7SS<xOvK#rfy!FVI%pKwG<Wb`zaB+AkwYhT8zmAsOLu8@#*csbn+aTBD&XIL zebAEIbYhyN{icrlFgY$FGAaThF#FZ2+K)&o>Y{)4&ieg#lU_Vizd=HlRb0J#v+e5h z=eGnrK4EraqS1YXLV?P@&q$;fAANKS(da$`0TJiUeZ|^x<jdlER)ax74w!-^A!Z)- z;>SOYVfU^%(BcV&pI4z#(vTEVz5po?a6Au>SA^gZzze)<HwplzM|ez+@|c?zaO#8y zK{vvbhHF$sgoOpBo7_q7I-M?B9zs2X0?wU1f^%otsl6F1A#YVX@*F<U@B_2Q%MZKX zh0dT%O&!ell?+eK25{kgee?gq!d6SlE48?`E@Gfp$5_AlO<Z4(V`{1&q9|Z&tPdU! z4@J>XD9E^cc@?j|`h@i_%u)LTF~|Wkq|T+78Ta9z{&Et3`_4{Xr5Z4kLZKW~%C>*k zLf15u3PqFvaL~aEZ045(1y^40Fg)nN%)?&HJnX~VarS`Cwc0{a)8M$UaHpc))QJUh z2I`gsjB=LR-BVUpxfN)X)s%8oilM|}@$gUn@feOqctEDu+$<rUQW1^GSY9ds8W7)C zJ0fB}6c%vqsa{JW$g<keLffU!yf}A4##H3c<udfVPM@Bx5Q3d}%r%S0v(_1>y|T>K zFvo)G+LOmmfa3y7&sGs47~t{N502tr|6?C-|2%Gaojjr736uWPDL^d<!GXf-p_m%d zkj!$Jif9-OYk2DEY0NzA!|-5L>eiUp3le}wb27y>xPCoad4IZ&gw8qvS`kNY1g)$? zp0F2AH<97!<A-_Psc`{Q08Rq9V0^Mjk<V$^Tq^-G#mX1VjagnRT8e&DBhoJ*((l2E z8DGQkzI3|S(O5xN3Eo=~@seM{VDI5I#$pG!eEAE!@WSt4c6P*cvo|;I+NWQ20NXmS zTb`$`)x#DE@KwQbTJD?A^<(aM0B`?1j>R?m84WhOVtzk+eL9YhvWLIc(w&~Ky4F@j z#w{SrDn9z?mgV6T@aia(?Ej9Ux_g-G<{K2S!(__gb!gP_nXBM{x~h+uZO?|vx;aI{ zZm^%28R{qK@e7z8Vm~%}j`<81s(**<FgRl%N7=ucUZ2|8g;t?dO*6?V!M}attFsX4 zbg@#1GnSMM4Fw^JyuEcWP%RSg0V~oODOh7T=(bkZ+-Gd<yL9aU|NL&UE|#!Eub<*; z(=NWZg%tg6vi|pO+?H_V%5QDswjKvEq+Ha102ad;J9R6atU8!jdXLQmEO)2YWhO&G z2l8ywLj|KYE`c3H;?BewzIROPYE{#KtP))M%!{)pN_ceikPs^?I|zsUIDMMQQ5nAR z`g)?FRF??~SPFJuXY&t6@HQm?35{8j8k|4Xhx4cUaOv6sE`4y&&{8z_LYr@cup(rx zsM``Dw$EWN-MQf{LxOf_D2Pa;x2)(SA{6qs-0Iy5od1&H67-iz(T49?heYc{s1>cK zh246bD=S`Pi%R8`O{a^ve0de2kRSQHY*LFfq`Kzkk0KHYI@c%ilojE6$RR0)%I5xd zz1svFk|I~oaCISvjXM&4buEKJu|-!gp|f_97B)z@!Rj`TYilBSj=<mG?Pz5mZX%I0 zB~A=YhlUoqgK&4nI@m*-)Gb%3Sfb))S$s_cTlr}5aICLe2bi^JWTF8yY&87jrU%<8 z4(FdJ!Rui`vt9N|QMAg*b>hSb#>V=bl}@WkVH_gIJ?u5_S(85);LEj%KAfKK#Sj19 zdLODIjE2J*!95{dPV|0$OTe{tc0=7v8_FtaYbwzw%)R(xYpO`iqIvpSXg0U?eP97= zEXKMqI~6=r2YKD?6pvqg=)>6)a$P`bhn1BbtgP%{XefxWu}~#FYl}Pu@){#SA9qNM zU9E0%uA`9993fn|weKy9Slc;#t&KL*8AuoSw$reMf{cZQI~W^lZuwX~FWc^R&F4$z zuUVy5?-iDpcMy+fp(t9{WKNB2eWP2Jl{mcnsSl5hEBM+m1zwjYq+!k%7q=?Jh(v<+ z7DK_IW#z!qor4^UF)VnPE7Ttdr3SOpmchOR7Qj!rxWx^!GRZ8#d&^$j&6zE6?J&LN zb!CK()Fg};u3I4VK9QjlIqSF!f0Tkk6aYnYp21$a?Ljoo<J57*lx=c@YCks+5D|$4 z5efzD$)Tg1VY0ud+Nn7Jbq}K}WGIVO?7DBOugL<R-xBcgO%G(7G^wiT5E=|~uWb2{ zFL4z)v<DTD;UjZ^WF|vAo~ye@&1y9_LMm10Nb$z*=2U}HfDlq91cm0{31uY?mp=1i zG_2wGjw!BPr)m@ma{2WgzQ&=UAi`lkJRYIa7u8BY*s|}PqJaJ4?S?So13M@xh2W4u zjV44y6Cy$Z4Ur=%hK{HR_h|P;C(sU5ry-!mGQ9tv>!4lSKF}#RWh!ddD|&bWj!?J> zN48Tu-u;xvXjsGJ<7(5Eq88PbW2Htpc4){<4v&XNIPAAvv^Ch<y@#jOw63b@VC8LR z7~(YRyX;^Mcy*I_X05zgD4?}`0MyFiI(~hNWfo0Ol`kNMip6_0xzi#x6CySfjZZAA z;F;$L2%%72xJ>{f#deCvKv2iy6AGq=G}keOTNos%&17wEdQh9<X=_)MOgrA*;NbzD zV}W!l>styX4pE2uc&|XMM9~KZd*-(8bY}3plSt*+sj|G~b4;lM){A!mwsS`mSn#L1 zJZSIcI9yrr;tGJ{Bg|5?Yb{zqbt_5J=pY#g7!mwl9`n-!5O@y%ed8YWEp-_tG9>o0 z_v<=LrYn`_Q7Cap75J8lH%`k81fGEBsH@<*8f!ZO)^-Gl0&A8V?bo_uF`B{9P!Jvm zp+S}{s%QV5q>inmh9Y(M9;=iG<v92_9^)e+BorP{fC3c}Aopifvy(6#7cW0Ke1(8K zYkVBAkglzUm9(u}<V#$oikvS?>vjT~PLVGvt``<)I&+=c$@-6mH4OCXIO3xi=+!Ye z;Kf!_uLR5o1&aT<tybC#R&SM%D%M}$c1DDx-n*&4P9ox!F&^mtbY8dc%TISm!y}>K z@Q`*d^V>S)CN<}Hj)3Q^N#Ws1MTAA;1sq5m3gt|eN(mGQpcJ?rC!lcxjkujg^Mg{l z2*Bi%5`slq^EtO5y5927y2Vy><JWdyy8~cieq=%?^sfjZZ*=oIx&_nm^vaXNuTzRi z0GK^m-z!m4k>1$xE!KYiwWrxV&;>31ou4S5wR1ruQ&STH5q?N1<_I~oQdSV4K_EKo z^Cv8i%@G2X0!ou56isKF?$pNTgC!`X@0&hB$ooM314;>(j%}{D_5OSr@U17qeJZ>! zQ;?Sl@bdk>9yj>qr#oMQJSu?jv15HbIyVQ9Il^JiAS?ly1Y!Sg2h|TVA&63tXys#z z6F1N4i>aG8AB^4V4>-Q{WVlb&#AhkTJqtqTs@?Dh311pA{6GG0;g$K}GvF|39BKdw zfmCm1At3^^ys3o(ivUdnBn{?{g6MP+W$iWt0#{o6#iyytq4vM8=$-_|0Kn7$0000< KMNUMnLSTXojnLNs diff --git a/app/assets/images/pages/play/ladder/humans_ladder_medium.png b/app/assets/images/pages/play/ladder/humans_ladder_medium.png index f4b5fdf946770cba7874cef46e7925bcd61796ff..4d5570ebf03ea8dddf504a13512df5b7613ca85e 100644 GIT binary patch literal 34515 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 literal 18770 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 A$p8QV diff --git a/app/assets/images/pages/play/ladder/humans_ladder_tutorial.png b/app/assets/images/pages/play/ladder/humans_ladder_tutorial.png index 8e34fc9244e077c17f06102068a0a2b8254abfc9..d4f1ffffe1854696fabfbe07fe4ada7192a0874f 100644 GIT binary patch literal 36777 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 B|2hBw literal 22473 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 diff --git a/app/assets/images/pages/play/ladder/ogres_ladder_easy.png b/app/assets/images/pages/play/ladder/ogres_ladder_easy.png index d5e4695ff0715bd69e0db789e8b693742c214eed..ae82c36ca93722e418dc6691eac5cf3a15787a67 100644 GIT binary patch literal 22079 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	l$ zNx$+dOB+4!StkTq)1m}D#p>u2ffRMRd|W|zbVY3C{*D;hDG*g<l?uYJ{sr@X%2gkL z$_QI9<Xs*3FL?^U?R|y`H#$52g{q?_&oW&l)jAIbb#3wLXZ!dWibG4__j`UoepG_n zj9jPfZ|UVs_87(%uj86~Lq24vK`IME{e&^6Esad};zWzcf8ZiVj=A4DcDJF2vOh^U z(jBk-zJ^sl1TSx!!n%|F*(}NJwF<YQm^W@2>_Q48__pllqt@nHvjyP1KMU7(u2^gR zGeY4$&g6YoaQqS{!H8aLWl@Fzs|F`|;<SAQ6QYW|2Q(oX_8=~rHOC{w-R=>fd!RQY z7+W>hvDJq(NMvUjq%bveb&MlaPO6;mO93)*&OU?hHnCG8q^zry;|N{pu&!Hck!COc zNnGILTv@bmf}fU!O-2BU{sk#g4(Y$&c;1&F_i_dWxeEehtZGFP@ekYq>Kmg9rAmJj zh$ON-qdcNpYX)LdVJP^pA4M;Q;Gsp%QVOq1m$CF!lP{)W>tJemO7G`0YkEqPy@QxW zhBD+LGLT~;oP)4-hk;awwPfym!Q@SFUO+ZaHDPo71DX-!Z=>H<TL~iUUgzq(pn|^Y zn?wtYeDU3X-*H04Da3?2_4{t4=dPt}5Amv+fvgVS8+KUZxXYY)eIA#%N)}6LJouTg zM18b%LKru`7IRLp^6MjppH-gfurgCSBUi_g7Z{6v318$?H%5RBhWxib7~Q!Diw+IZ z#+1(+Bu;_rFyT1dNh%Tj_u~cp&UIeU#FO$nvJOsM>g*07KeT6Yd5&kfQ4{GUe#DYB z2C@>2sb*$QQ(?|0m(ATrF`csg+wCB}syY;x-!@#BmcM^*10kz7PKYsjS&b+=J8!&G zs**l_Zk#IJ=e@YKRwBa>DZKmk3;{8aCmTdbuzRSkr8}4P!{{%#NcH04CCSPod;7c8 zmHgY2ZOs^7ysD;d=Jv4>D`#n!!Rg!#jQjIb@`JXL1|eX?l>cQ+_C3>l8Tp5vd!ong zmLsFIhhIYPCf`Hvlp|=kC4LI0d~Me6GY&!@+Y$UDm4&~54iF;wP7%Fu2@A=};t>Y1 z_bB321sGl0qxE`?cQJGDN*$}PDYrW*#csA@VWBX^y3OQLB0Ty}bcVWxhBDhe#tp&Z zD?-OJ%|Ok}DN33j&&uZYn(K+B&r_{yZ<)#O`Qg#Zl(_u#qj?7G<mv@Moy>iD1CwkE z)b6Mh`7{AqB(pNkf#xjYR>+SaGxz6y5ueSFx^~BV?B>IYzuT988@qd~YneJyq8&dW z!N_?`5oww8Y@?foq`R3LxwgOka~UTlv%HP7ke2pt|H=w8;X`lGi#}$1ZO?Zusl<`> ze}TA0i^_uy0LpblCW*!3)_)x&Kq3o^-XMk5>Sp(ADpRw4bZU2#?dSIve_p$p8nWOS zXs$Jo%Pa<;$<^k~mBS>r1rO_pxJxwz+f~X7B8%r^q7E&6^)bdqtP65&`f7x(0{1<d zSdh_kJEW-5s$xtj^LHz?Q@-kcCgVz$UPayl|E1><{-V>)yq5_}7uxBiSwj6E(nEWM z@;JWscK{)(11UGBXHFIPCxrb=$HOerRA;kUGdDbaoM_^O;O){54tYp75fLnj6i81c ze1#D8G>%UdVPGe?ZX>tm@~k+k<$c$M-_;5*o8sCamJIxd;3d674;7LI>mr8@)J$!Y zwB*1eS@C%G3}#s!^*4-Z*7{+$sh0j`dqb3>?K9G?^{dS3y)q91Pc&Hz)|AqdbC<ZL z<`7wlE?J4u>I<}>MF$5+sd3|q@}7VpIXsE~M@NScuJaOZU%W)i*qs3(zsY48i$^+* z`fCl8B%zKFDxx6m3htBAfPyX+ensLK`Rbz6$HBLi5whdS`7g3}4N6hj&z5>QN8OBs zsRD8}egUR{Dh39n(p0*L7tycSe-LQG4#}$zhb<R$+WF4AyxIZ1#&R91`z;?Ye71zG zvZk>*&}v|dZ}GTrCoJrZs-=|kX4~=EHUO6Ropp(6c>44;*7Ez89*%b_7mx|k%&T(t zo_?y&3C7DHv;I&zai@&H<8!v+NKSYdk``Mt-x|i}YYT0zZkI}#iX#MiD9Ut|_tk^B z+ZC*JC4J4}>Fw6PNN>duKa{+N02QBIwh}s@hnLNxVHaU`I#dwK;KH@e#&5bY!TiNm zxcIAlm#(od&x@irKfV0}_CtSm)c(+Kc}3;n;Q6=Nn)gCf&ld-c-L{aSjdbn03bYC< zw6G#^bu@&b%y}yNc+s1Y5x5DTa6Iao^y#c|&nBW2%%`uf835{}B|BA17p^RtIvfs4 z=-|^1L$&DHzhmRT5=t2d&ERt|e1s5hwp{*j+*>k#E}io7gDN8KcD-o(h+-#Nn~%*W z%F1G4_KJWN|Is|RqTT6XRzMSJ)U2*UZ%y6daSnx=GZUKMPWDZ4b-RZ2RiQG<qnBCQ zS8_$Kabws-IVta$(xZXJI7p~$M(Ml6>X&~`Fi5I*0&m$L-`{4zuk?hb%;QuqJ3M+X z7&?Q#4kotttrej#f3V+r0#4sn9eip3^HLYv0`rH-XuYtHL{eZ`S8FGT;RG#4y28c+ z;Dr)YGsdinys0C$aQytM)y)GoC(`od5}xV!Hv)Wh%JE2BkE%^Ez+OW_9s<WKDfnGW zGclwRDx<0qtfoqn><GewrNn-VpEf(2oQO6Htf<t-$WP)-QXdTBn=#wS$^4_lHdE(P z6}%RYE%JpnhC@CQB~cc#4HBoMzW%S65;p)L{Drh;TC-MHApE`D_VBoNB65uNV>~=V zN^pR<^TSK#m!&wZ!`rNu?C4to5>C0tQHK59Jq9h~C6{{2x}mY)YOMM-Kr4rkiq}SF zk$<mBe1ik~C2AW1bJ^2uWWnpmChy;COVyex-8U2n$Wo_=6Y?~VYmAEQ!bXmx;LSHA zxn+>aFl}9feHRQ`OlT{;E+Hw??*0A-m)M`sdHwI**-9`-2FeM`I{*)oY^JDCpdGs0 zaxaufkkf9hU-VQIO#T|ms^vJe4nfb-kt?&)H5LEJ4D;|X>a2Z=?Qx`>c;5_Pdhl*t zoy5BTixced;*w~{g@7RRHp$CJ9pl3G3_1!07fJaS8@<BNmV0+_UF}!|K}o7Bn(d3T zGU$$o^d_*VO*KhmU3EPwmdqx{D5v<_iOLq;Y&-{GrY`%*O+slgIpw$51h>-1_OG_* zzKf;Wn|u3uU!mU9NH;eHGSy5hP%?++R=AEju%l&AZys1f+UAbC&c3Vy)sGl}iKsDZ zRmseC9czPOP6I{5fqIn|yf}8+053+P<fwDzWCgBh>dyU_4|?KSd~RdVGPI$`B6&FV zCxalk3NS68X>}nrh>@Yo-o%nT8>KH>(E_iskuoHG!!J-Rn+?EMBY+5A(SpMV*yvT* zgv5w<L?yz7w+EJf<?Os1%P#(SROA22&{48pdF#-1DdV`mTh>TOS!5m263Aeu50A<5 z7i^&isP#O2hO@nEMBXv<!!_Ngj8*Y1=<Q~m6x^8yB+#~*9A;bH<vLmA&DXQ|Bw|!* z9?K~aaJ?auFA_O=m&SiS9@$3pqN~*=Oyfr`5$+dOFU&r&Ail(7d%0v1$+&>8*URcx z65iKLeUdtF^*;F9Y`kzIEcG-sRi$l*s_gz#+SB&Gg_Y%_$?gJ+bF=s}G~7#@(!drZ zEsAziPO&~!eAzI0zJeZL<Hiwo_Ilmsp?eW6b4!h{oVfR}fKz0*-0&7We;&RicoO+a zec-&Jy76&E{FZw>)noi}(DWYH`I_h>Ei*QD&K$+pHZXS4a1PlJFLmd+$u&r{6e5v& zjUFj_B;)h(fNS|`zt}Z&XX5O9p>fN-2<`7t2))hQ*RR1cUl0%rgz+L8#Trc*|8`$> z9_=2F>B^vAonCauvv~A=H)h2Qa;m?B?Ra?u&)(4p9B|2t*Y+akt36xU!a_z47#O}A z5AC&d)f+!M7|u{;CkQ+~Y!+=kRc!8IG)$=Ki}P|fHK|vvXuZN}41tOO)iR0pubFxu zY|2~Rj{+aBmgi;8f9pmLh6i-dB1k{WaJ0?Z*vrD63r8JCeaQM5Sw#7V*_={Hbu5ln ztvz!uuxO1-&Y1EBJoJB3qXqP%5t{vKE_7N{=5jwyZ~MZ1glJ@3SozdZcD05Ais0Yp zt^YZL2NWdogYCWvR@c7w_`Gbcaz9+W-usCAJXgIpO%CiY{4$BR;v_*b*el~$_rrWe zfkk84)q5SQY8(;n7j};<|2aYMab8VE-`K7U+l^y#@Z7t{$meC4rTe<~<M=3+lsD-c zQt&-45Jio_iFSX0RwDXaG~9iAz!_xznc3rdY%j#}UHn6*=_+GIYIm?I>pG$!EUY*c zT9k7=<J+et!#b}fy6W#TvN^rNRskn=57#e|VkST4Nd?(8D?x6ry8_R|obgWh0-mSV z6fhrBZF9FP3>sM(I<6)b_m9yq$(KRgSu;J1xqyjCl<C)4Dfj!*Vl!{&#(BlRWihUw zI>R|ZMx&}gxS%#UZ(+yHr(J&xsbm5Iogu3!Q(@e6+BbT|56q;D3Y}V+nX&MV8$%?K zvfW$yR&U#UF1qrfD?P1FKQ|gpcJbfh6(KkegR&<AM7NhLTF!5CK~ER&9h><dd*L5c zaK0M=M(;cD+d2Dc0JijU`7xYjvt;X1t))}Y6zS~DHZ&n2e%_CtSp`3SW*UwYs?wFr zzj4fhunbK8wlszt(KKMMOX5hLczbAM0dRSBYb{d*QuIUcds8sY;gt5d1R*m4ipA;O z3LNP(;in>XEj%v#2f&u=H*k|wMfOMZq+Qjtz<a*HS*viL`UgwV`FDf4L3hhLJ-zL( zPK<xnapIEN2oC!o4g%KvJ=Cln%yi;|bpqzo(4b#L?YqoJCqrOU3&N(ChT-K{sP^sJ z*sLa~;X;t(-e4p%>8lUzDs@J?{{mynG!136Iv~*D5Y6|}OkI2CHi~Qx0uxV!omxYk zuyFIXx5Xz_?C*qz*v(QLfAYOZp(gy0clzh$>SLa2>CUH6zphr;k8h<#Xjq3z{NVn2 z>)?5TR(L3flEm=w^P`>zD#J6aQ8k%X2Tnae=k3YHo*M6VMv_)GAQXCnh)+7U`n@+@ zmQ6I0;9*70cTZ;?$skguWDY-lu?;64et_`L6KRyM=m?{=;5qxTN649`-Cbk-?H&^m zr{~UoHaW-Nz6XK#&>+j(sz(DS!B+A?3iIb%me+<s)lp$83Dx^nVZ89}0(}cmsJzb! z%O0WRbU-?>gCKaVZNiA8sHbQtc8pdqE%uUQ{v>}_R}33POqi7$r#N3(nU$5*c&UZ> zEOv@Rd;ZwU`vW4b-HV4Xjn7-E0{?s69y6Jr9A-^SZW=>GaSOvD!k47wEqY`p5SX?g zW(oHQ{)>Lr<6N<u=UxE#gGUDAClU?-#y^%Q@O!xp`;2wBJp3T6>-uAqaIgG$_Krm1 zD|5wK`>0>uw_7W%<zVsS;Zjp%3>qG+FVL@K$0$Sy9FR4eGP_Vr+{{dqpsXoTE0{Ay zaHBspTOIJeOGylkzWU<=Ai1h_!e);>n;}K!av?;P@2#E|pH)HYlz!Mt1}C}48Jy@h zc{w%~`Phrp^;qWkGTRo!Gj&n}qdnw$=js8r2%f`hDTPcaD7R=2b^wHMA}-5{c!PNM zu`5S*uar&Nww>l2|1O#<j^G)fe?{<_pxlC6!1>9@V`LUHM#Zwh+8OgLJmTC1yKYbZ zpFZGs#W;2fGJlmnbi4+7vWB(e_@1iHt-?CCFz!kgME|JZOBz6o+c=5Pci0|j@a5!$ zkG@5}-6(LdzszFK{i#o}^9~Z=*LS?FR*?IGtKRSQw#L+44t3LZ@xXlP+Ts0<7`?u7 z{e~q-jRz=2>NV_JNbwPiSrWGBUEpL!*8lAI*vcvTTG<j(^W<C6>7voqZEPA)vChdg zs{inJoo8Omq`{3;KY1@TcY??<vqDgQiK5m>kZ*J!vG^cPzCqtue;D(zv1u`7+uEl# zDw1#?!@})}9WK3H_+sdiYSyn?0e}pdA+2R;WtBGM2!PGEJ3aY{>1^<8EF4XObxpP# z98oiPw#P}Bp3XvEoM2?>(MDcj%pU8J)ABXU6#L2~$)c){Vu=_pmjl<leFhcH51Y=M zOJn+2hZ0+|B!N?sEP4uE;e^d{-d}a)ZH|@tD-xwUHFldkj)-|5j+ytnIcnqleA|ms zMF=5yp0DgRmeTb1AX`v#`U<KR)=g%kW}&)kofbE@x{<qMiu@#TzUZ1esd#f=;w&O* z{8&@x4Fw!RRUrA5wwcX#WZ~-Khkg~Yr(B7yZTw+m6pW~a)z=EkPDv;9F}J-Eg@N<K z@*QT<4%#ARHM*otNV2@J4G#9C7VQ&uVcA7El9g6mjj69DOHpzYitd(?v&VE^q-<*) zsr`e4P<>NJt{ZqL>yT%>{5~N8P=Ll-gP2-(B})SXJ=?VqHVRlHM|+!~Ay!fR$d_(R z{pkCFa>3NsN}YXGoH4t{gy?bl_QBx;f@sH!8TA&2!+&#Yy)X@{m2-{{X`1`Xh&uF1 zc<WC%cWrcd1%P}lsEA+q^tz%+^MIbwFQvw;emlF$m|-X>F&z1r_^JA>9o;vJfDGwU zvnTGFS-qBP`Jdyk;<)K)g=S<n2m~k4vvIHiN8jXO+KITC_=IliSQ^#yw+pG8mI<Y& zjj!9LW(#xmOtc|&EX=z2?g~3+O534{Flug@5)pqb6;Kt#W9nm252|WsQ%e&>q<EA7 zBnp>lD^2_yE$~ndwkBF#E?TdQ>$Y6GDfj@&hOh9E<Mh)<HSq-c-bf8=_Iv!(M#%&H zm%l+8iN6Y$Eg`iBZuL=`KXXsdn0#;j$64JqwXG{AF04iRna=iH)W0n7kY_^^7ID)v z;tQTFJq-GH2{Z@Y#fH>5Nb^1YfDDxu$7|Y2a9c@LUL^)4F3j*0PRrtFLSyj*cl7Zr z`sg^-nxtP8R?q5S0+uHLP}BPRbd32e&GEU0>_(3+A!`rZwi6+hi?qhDWf<Z#I#$%p z;OL)`e=(458vSyOqgsPl$djjTxMSEA@WSQO{Ju`@O)YK(|7)wDM*y3-rBJhX)LLwE z-(Lu3(^W{7fRZkUEpp8`nd)&xee!(8ZvBH(#*@-mafXQiAX|$d7NoN@-E>PA{P*gH z<6P(vRk`TdSmr_X-QsL6xha7+<Ebrx!_jhr#vswM;RvLlCTFh0aFyBvvb{SkgYF0Q z-(TT`9I8!fMdh-pR)4QGrGnCY6Oo%Fr!9HHx|sgdH9H)J+2DEF?|VyJRwP51ghtCx zFV!d~?Ij=h8^zq=N08HcCDq2&6m9?NXMwiN;N~6)Pl=kCRO$wAszUP63b^Ks5O_u< zN~_Q&;tGx~K+H1l;L~q2JS55$JfCVdN{%qF|!RlG*3hXiDCLHTxzA;p-<Bj3Z= zTwl-o=PyF3LgcGw4y#&`v?0eWmPm!dK;8CYAh8Ot$mNrgHnyu&i2X>MWgTA4pgiN_ z8IVsk-7W7uH5l<K)w8nqxjN|D&%~a$50=|Xqr*D>R8ShXfW-QAL5=ufV0%q?tXxbw zhmRpV`j5S&6&e*g99Qe9dEwFaS_K&yL-Jms>laVnpX2nLz*u5NDRR>zyc(pl3FF2s zXhCP|_|BS8vdqN{6}Gof>Jv1;?CN|YeB5sRo?;FCwEQov+4&K?KA?Hc0=f4r3fbzI ziyI3x9d-%1dB0$+riWlz6My4As;ZA_6=}<SXPV`DHZmgg)dB~H8+Qny)Gu1RO$IVG z>dYeEc(q@VlWaTVb8}C5=UxoIu{+{U!J_B^*e*(1mh#)A@hhG9GRXZ`PZq|bJt9uO z37b@ZjgW1eHfW?`M>P#$D|F>_2qS6RB&GwtmfBU?cVGaIw9OJi!&>8QW})`Gd3dCx z$%5GGEWXcgt&bKrxm^>#<2TR^pCz6|P9}_gHXj(AnVOk;WEK}3Dz8RxT}R!fL%y7> z{|(?-95y0Jb#(9wZA>4J5;Ha`byy8vo)Nlk5wi(TST>9|f@RH$#$O(SWupx-5|jrq zr?S6%1=afr`r;prW(Vj{pQYOTt8a7BVqY77WDHa`*ZgV9wy7T^x3n16Jc9oK-h3o1 z7K|%gd5R&+`qk!D6L*-pa2@_!o~s=QN@XiLp$!?Ss4P_7R8M{5N)Os|(qNg@DznZN zY_KgLH7gk)TdeGus&l#9K>)x;+4D=h;T+#mRC%6Zok6KL_@^H4!D=nBQ*kcnm{6hI z=ArTsWoG2qcK_sw5Q;&CjIpv}N5>E70ZuhtH(94?9+ZD)f%S&V-&pk|#*xZY^)GQF z+WeaSBelITeL1jvC?8|j(bMpE6Mv0>>)KwFawEcZZ;IV}8U>wwOpN&hLw(bVx<tAx ztL8uU5q!ZJags34)<{nZBl%XwzV%_4wF|#`4AJ?o#m5IDN@L|bi~KoFonAe!JH-G= z-C}d-?w+n<+Z6m`X~vuq1R4SD#%sTkFN|9q4xjzzOzeX?z29Lee4zxDixNLIU$<T_ zH~W;A1uYrc^>~xb6CF~sxVw$L4;r%%m8!Iu2wIiQ;ncd)3*be^xM~U;G5(3`6k|Q3 zo~PJE5C1OTLT)<`pon!OOUkhKXMj9j9F2;A+Widj*!t2NG}h&?L|T;N_&LjD4_f2^ zHQ$?*N>T9e@S0Tm_xb^h(uKk_DF_^_l|y4Ut1DH7-4vW;Cy_K4GjJE4=?h60(<eJ9 z=s0!J@{>6Dld`ZI?X9a<<_>N(q>`LzAu~0hGwdGF<q)Zb&VPmNA>i}-`Y?^rM^BGE zCqsP7!B+JJ-}sG;EX(dRzBIC|Ae2JB;d98N)<eX)qU97yG78eHQmu^cS=(rj@aY`- z*CFv8I)3lv=W4TEfSF1X=L58B&8N+=nIh5pzln<%AFgsUlgI<XaK1sPl#<lgH&ODP z1Rjn5zGjz7eE}mPyOf3c@U3F$>fxvRDL(FDiqXH!jYOlMu~D#(TF>YkUaoEab0@l; zQQ}eL=2ef4DVnMD_MS0I2<RIgE0m|%-twK<9KV@mnSAmm|25UbkNX49R1iWA<qOKp z_#-7DZrDvfV_O#eo?~uxr`k_!!9nABjS3)%sW2gK!A1cFP)I_&VhO%U21hdMbzCn$ z|0nOEnGA8c_Hx0KJhk{ng*Qs9cG@vfie$;1U{BI@Opo2mEKkKh8d9C5{Oz8ViLHs_ zdOkVPUcw-bwFb~H9n?LwCOii^TS^QC4i>kLi!+iqvsHe=GbS#k9wGmvL>6TXM^F3T zF4=X~sh_=yDK%aY=Nj%XQmQ3cGhwmnp9PFYp#T72e@~{$nbnqsZyD#j&5gw-cj7!< zrkKtTx~IS6vo%*_^P^56*Ye`kXH9G2?s>^W;fK#lfD3-5Lt{?LGLzZ}(ET0`2Rex5 zENK4DiGQSFtwDj${huD+f$tAXY(X~aga%Lp@Jf6!b0myX89IKePaoM&P9F%<v09%t zx^(TBYZ{vlhaH`*r`dj$sEhnSHdEHV9$v-*mYJIWGjC~rzCrg-Xl6xTC`q@PsXB4# zvs6fDErS*@s2PbbeOV5aimNcOooY=LzlWKqQ8wD|9Q(WX!dLwq&GHnAO3fJ*J<fhI z$TkYQaIt;>>Kdg$zoB4<41CK)Mze70`E7|kMbj|<&QsvuEfW~}MYV4yK#ZU~&t{j@ z<wtA}L;%4J7g6|C_DJLKK~$7P4AnR2@+ZTGlQ99W&c22Lc_LIcg$Seo89F>v#o^O~ zTWC_<+9-5^w$drFT_{u1&|I00emUmS^Cr@(9;7pQ`P!)rCg(e8D#hY02n;L_P5o77 zz88R?A5%0e%o0G^nUGWmCSLL|W6!cu1@JqYPo}^<C#Zc~Rrq!F{3-<&fqv6Qu8l2* zpzw?LWwP9bR@ed-*gjp>%b0!fk$s~=YGP?ut@F`ChvP(BuVtuBYxFAm&ZCKYg9Qyy zVZ7^wD`i@1gbbXarZ~XJ$N_-~fJG)H21LH{x0|NFdHMT61-&1r<_ktF<`&nc-K2PV zRn<K``Oyn%(tLl3+a~XpviokE8u-c|WRJ~aBYj2|N64OPKzuh~W(5ok-3Sj3e|u9S zt?3bi&{1?;>6W}pBZgq>lqwMSMQG(o-#F;>%6El<^uKi7pOv!d@4JDaGFfn#*N;NW zRxi|+uk-vxOh#oALqU5nWab3?%f-zo`<Y@NzTE^6bUmkk_!>fy>TG)WT)Bq}F>9T+ z|0;KvB_qMSc1zdopw6BK1rYv*01zEcyC#Li^u2{Ez|N`ym%|E!&g(nk!Sk7AI&EBP z=i#+*3uwSs2v*V<+Zu?(#|uU%X<t8R+5AcGdH|-x60{^XoFUkK_?PkDk8%phYHX4} zuPV+$V`w1E2>rYjl(n96$w#A{?*3rpX()I&qLk#OS<Hlo@%(9ZbB9tg7ol_rge;!C z^T>^kfBbdB$ni4STd=qH?#Z31p$5;8MyM=<T!TXbZpGvt>`B;ce^n18;BeBB2na0k z@r#sXFE?U@8+W?C-gMK*LjR1fNIa{l?Z_V?iUYoGKcA;>nk~n#1A5g2?#abdHbnNm zI>K^6A{>~;A(<14iMn|h#P<V1aaxVxwZ6`;e8$Owvztc|sh1jq%1jDzWuSO{bP~Re zzCGj<ab&fXN5CdQ-RfSD_(S!)9EvpKHzoEks~NjfU)8Df-#AiTa4CCx4gv#_HVLrh zYaPoF5r=wDUyj!{pQfHXCL$sm$Th8PFi_lJBtnzg@j?S1c~^}ww3%@YyXznVfUuBM zK>#3*hnarP0Il@B<UV4;UyUUP6~5w#O@xoju2%-xDJ$TYT=xvwBEHHiwD~pZn-Jr5 zlg=;B8GmZR11u*dH#yRA^o|zR@k4*<!UFQUbqpPAN!bRRJ^gCHoR!&zQNI#cLPxr{ z0P)O6t&i1_Gy-mIFlf!o4FJe{_!gLnGc8$1+BwGN2H#zC=aAoDzx>q)&b*H&tEp=G zxL7*L{J8(#;r4MKsR!n%!i81DyO_4WB<kLRn6*>P;pmbm0PtL2GA|j$GbIB%ZGz>h z8GcJvHnrlONlSt16_N7#FRLBvWMnhTaKo>TSnFXGo;;T7*!sw9KmH}o{G0QAIC+-1 zI2W(H&^|9o{+e2zW^x~l#mTtc1FJyC$v8uEf`k2H#fZR7)vGm6(f92vcJdpQ^0fSA ziS)d~vdW(cY%ouD&*Hd;9UEze;Mvk88X+OkR(kvr;lw0$kwYt9I?HUKjn2cIJyIkg zHLUsGrR}=G;2&LunNdn(m*zG#wO;pf7^9ge$1eNEvxxb99$xD}7L(GYllm%xui3$k z@tL)V7(@;-ChF~w0M0oiME`Zo%+*AXn4?x_To1F-<g6qKU*nkXT9dWEnFRPx3^b?Z zwtbUT<9M7MT2ridS~=M~Uh_nIPu-8HBVFM;3=UWL{6#x8L&*Z@u=a*|AT=cwj|1hd zQ(3`QIdHHvEo$miUqyNCc3L`d&n+ip52ag{6uV}u$zUa#>4Mcb`L;SN<fe<pmA-UA zW81WeK$UO*HP9`=!r4sm03>FlEN%B2oP7^KJu^s9&1-SJdj|Tc%NtBc{#fhP$NI@E z#Se?Q=U~vJke*dpcNVK7JVjd%qvWgx;jjb&*UJ2?-S*b_+k{5BbHIPnIN)kBAgu03 z8{TD5R!N0i7&5Ac39{U3q4tjKY#CqNy4201sQgvh7`O5Wr^hQ59uDpy&zCWKWfsoi zPNb?lX9y$)iuSfKf9QNqPsao}G!gC|HI}oUEeD~gdnb{byICqoC|duM3U;Ho8ItKQ zeV>`X)u>($&>~l3e->2!-tUzb{dKP>x@NHE8v%zAN>^Fk5+Wg<+k-1Oh72sIXU{~) z$NgD294tbGmi)}axFLP7<58y)vO9bZuJ2cMcDmNTkPl^yB=U$8kIKq1GRnX0X~TA@ za<P`G!_}6Y0V6O)La-B0FjI5KcH2gqy-w14%oT*$T<D>q0b{D3*~y{NzU1>&%`P*e z^#0)6CCr(SjcRm0GadC;eEe5PUmIbTEz@;b3ZhJk?a&50MlZ$_J=iE(ILx!B4+Dj` z!<G{;j6C+(lQng4gUx+>ckt@UG7RC#DT9izDVd^*&;njfCD55h85?6(!~OZ{uQvq= zwka|#-LfNK59n}&t2CS#8YR;E{l~C8?2K4MszV8Lx>H6iaq@D6_D)FugkpgVx~hJ# z*BD1|Ag}^0n!e4~!%&OSw>9t09y`Lb_uT*Oi)U$Ef(DKhDtoe_h>~=00T8)#QOxE5 zs1aBB#Gc`*|JEI$(PDc(TcRRad?hriMw!qN?A+dFCdPD@Nf)d-Be;t1`EgNxV@ISh z-CB5<tpG#pwg8d<EE>Tpy!wpf4sDc`@tN^qK$ls<(*j{h`~n{sgMdDq(5u=Yni5>I zHLtsW1$r2zxU~6RNN6=H<A*sr6$wC(>OcCM{RYyUGB!6dO1zLu`3b)2E=`3{6|@%c z&4Cpe`u*jRY7`acUUdm-i}3{+SjyfMIR<BZFL*Xd?_uj}hRZ2PVXxkeX#bfHpQ&gF zdqum{fTtZ4_WpN#G7xeB8<itTwq)f(4z5wCRFOgsa&pm2w8ntO?x9rW(<#xCp!Vcs z(qE;A2nXto4Pyzd_q+0rTK78UO3vgWm}YZ$Oq0$q2By2I5c@Qzn*`U#*_>^&v|N>D zG}>T-z(&#SUiVv5=SO?}Zq0L-TM6Ev3_w;XVUTDJ8b{8e93*yvEX72NTI~8LG85+5 z4YZ^{ot`JrAC=R4?Orc{#45DOq6$@_n`Wq@1%iLLWVZ-<9)tcwV|Sf+26Sk=W+|0P zho(E9&+3^lyI+Tu@WI$O`>-}BS$R3eOPDl3m%}czHTz9-OkL48w%|jH?jMc+h#|Ud z9#9T^`N}4zde?r@Uyo*#!D-=Uz9ejDcRHMw=|C_$7@xFfP(*~!{q;CDsfliVBTX@~ zTwUqhmBfz`npGDPounkXcc=%Rh&gj1pdzzQ4ekp@!B3RycYGP5PBo~7EZs3X(odAT ze9$LzbZZ)=0KktLPFR7qKvO(xvQ$;o4ry*Hg|Dc|AXm9cS|xX{P$F%w>?D5oaCrg& zv0Mca_jBX8+Zi};L%}?sNtt=g5KtsUE7vPF*I;j9-~7TV>ldqg<YxyQwNY|?{y`8s zynMvmSI|IWQiT7lzZNz}-QRi*D>wc${<Fk}1}s8IGEUXTxO(OCOQn@JXo+B+7&&3R z4%s`w-(-qDkol9(3vl3@3hZ)N91s){O;zpXXvV6`MEw|c_zWXUQ7jOCB=9zTexS_r zy39I0lkVKG=CK?8?Tq17P8#_i^WsqQruAoI6R6$x^jYjiFOIg1nmh6_L2GZM5$+F6 z12=hE10QRoqi6G1!36Bn5KO~Xoa5mm&K@x0pc?ahjy4B3l{8_dG;)`t+DCWK1)(o! zG03{~$s~{atE(HZJER*2v9=sC5N^J)soB`!M$T_dCw=-mz5j^_4gO9yJ1#uT6BElV z`uSc~o>=2aA9?v9DiLmW(Q;t1Srp-@-NgpmD94ynY+k&!)&lD|hVEf^uBk^i<DxQ& ziB)tG-7~T0bMY!ah%xpE5xp4BcUia-l57o75epL|iCMedz|89V>+qq?nWw~e`((q{ z#<s?qsXJ^U;&Ev@r6S?m(aqAZncB}U?0rla*i0;2M3behQNzciClI#fv~-P27nM=< zc!smoCEE@Xri6DLxmi%>ZWa{IPyQkZLL%+hXLcTPKksFd@Cd>jB#NiX7^J7Lju(C9 z{L|w<=yK9M;@O#SV+pJ(IV!ugV%!O=r~;>yUA)1Cr3wy<>lUeG$@mFNV%+3ZBN1w{ z(2jC7Co5uXd8w*JN9OzegPZ_J?fy{_q%{EC64H|iC8k!Zn}$QUMf2J&_l)M9_d&Hs zVn<o)isaebbzbW@vV&Z3G+AM-@Oeg}xAji!$jHs;0#!4xd7T%vKv+FibF`#*@pK!u z-Lp^KmO74?yv;78TRA}tPD6AA2>8>=QQckn_ZOYr6M3kONM<oKBH|x~0W&Ph7@bRd zCz?5nX0N|%W*4R~B!-+EHrjcanV1i~5I}v@3M(DnSc5K^MU1e(uXpbXXy$==)!fsE z(hOQ6I&@};z-`wZPqM93+hX%Vlm{)7h5+#`{4~}*F{55JS?P*2`2b5EC}PD0&MGY< zd89k)&9u+NFrQAOU2_lw=3KMUrYMVG4`QT6e<l5l$qk3>{}Wpjr0ZhTvO8VRj$L~j z8v&L0qPn?smu_GFktTC+gPz$P0k{7B!HbGT5k0W1?kcPtx*6mWE#`#kYgW5`y3w?E zC{p9D*4>q%#wTplAPoWr5nO9dw8$(JI=v0Z%SrF-8eIU0m+61KKDlZZsj$EEIsp)& z;T=;-JOI@LV_jztcjR<Q<$@{u1UenYJPvrhV51n7vEu!5!lRjI50J=R5@DY-ime*2 z=%xsUF<X2E>4w&%0Ecp)_RZycw0Pym`n%GysTK9~zm+Q3L$A*j`^w%#+bGN5|B<-` z37fHxC!!rjA#$kneA7!09&lQO%h%hZ97DT$EiXkfo#87=o8ed`lkQ)M!cGMX>)10y z=x`~AOsE$~uDaVtlE=Jf3B9P0<7H&f<L9Ax!jY_CrGc*}$pDVB20PrldYSHPY>KM% zT8#%>hFcamHSTSsv;l%XS9h+@+Om&hiNW(o9E=719c>)Z11qTE(W*DQ-f=zMOi=Xs ze70^1pOY_W`>U}>oq7{Zc&N;IwFLe@w?i^ZE$;wQkej>9!iZFQZpgEPyM#?_^^BDm zcFNYueeMwgQ>df!(Cg)9HiBMDBg?iHH}FfEhuV{bJhG49{`a)8v}pL5qyF}QV7~@( z`%*e7OUgc1wgA%5?R8SyBG7_b20OBUm6IACCwLJ87SkjEu9QJLPB2uVRBH2N;8~mX zYQYxqI$(<kI_Ioga0qaqRLk7s#X(|nPjobOKy)6-esWW7C0JmSz$nIZ7c?3?J3Zi7 zSiEwHZoL0P22kVDg@LBsf%#Ej3mxx>*r#h;-cD=AJ<zIldC~s9H7!2XvPCeESU7|g zOu-N(jYeL4|LKhlQ<4i#0N6O)w#VYO2m@V46|IM-uxct>9$O?x<Z)mDb93g>FfQxu zuHUX#giPT=hG}9KuRD?4=8R{ht-?VP3{jj(Fki5-wRK}3l1!s(qt{Db?(K3rCc#iq zxqj~sKT3t}oA>}6$kfH+ww+41B^UaAUW$Z5j(JMAvw8hIKAr9SEZHFPe`whv@=(_N zBGuSva_iLx!x+!8!wfK#GH-pevjd;m03wX$utT0sefy_Tsc6Rz<v?NfiRAGaM&-LM zB#~GPEb87~uvg@L($PhQZ)MgcLmS?&%;q{8^HFm3fhkbPax~EdhrGbb-bnQb1p^!? zy)X)bf{W`(ov3+d8=sy4f^lRhMnRwU!&CMi>iUH-+Xbux=>=*v^EY~9eQUeJ^#}Qs zubHEUfG9a)i(p5qqJbC9Ox2>1=M5kMSj@_=ZUZc%1`FKDx?Z526yM|%Y*DhY)f=A7 zpdwP9&E-4TUp>6M!JGZ9sh79Xy4^jiQf0<&pS2E&)pFTo@-#i{)j_Ly|8%~&|68vE zzzU$Rs_NV#kBvyC_BY4Gb~`ZVuqeWPtana$x@wYk-Mbm46Dmbs(b)2QL4NhXDwyOr z+I!&MrG5+~I39`mTLw7-emlADAcNcnkisGB<;QUA>Vbo;pXYl8hbBPaCc}yKSY$7U z%p7`~q`<Z?vv+!9t2W6ImoFxNj-OP}Jy*77UvhD<p!qd6&ne}2QY3(4#ZA1I1L-f- zVu4??JHG4j+-df5Hf7&1mC+3#g<^@@t#I6cad>~-<c=O4BPjTW6Zfa7&W%`PuLd57 zEUWYy7-IsK>XNCrh`fDtuLBDtCV#PR%m?^=x!#amy~N1iB4*1oNu_)PD9vNP2O{S6 zYK3Y|>8#v|40fZQ-C+%Ubq=&*vDBIajg573RA67Io?*@&`}yRZ+v&am1S|r-GHNsS z4<P2`*>0Ye34l0sZJ6-zj&*Yq)SEy7h;g0xJF$lnU`)y?TWxVKE*RTx4{t{2+QYpJ z`8BZbMp7+W9z{S%EBh91=tjr@`<yo&2BM2If^zEufTG0aA6TWJ<IKr0NtUhZIjy8i z%ZoR@>eT(}K3U|`?<YXau0U9!%``|cBeM|4DJrr;jSYYE^(u|jm)+|`6dqs!8;PWE zuT-1WjELlS#9$b^;=p93X0Q-Ifty!Ad9Xu<zQm*xCcKg@w1!d!qwm1P=!kjHp>sW( z^krtpnEBp|1`=0q>u|>b0{Vh~c_19@8wljp0#ZugyIKWX56p_>K|?q*6SbSnibcZw zfZx7csW=J}HM5lJ4n9bRqB^_Yy6T$c^5AF)&BfjP{;L{|#o;1VdI@>dp8*5G&1$tq z6%+Yyg?yeiYe;epb#3y&B^Z-USd7%?HhgYULoMh(Z`7IJ_+U=}f`N`BS}7<_c&3nu zsD3aqKx#E>J+t(JcvfVVa+_fofwEE9Z37p81QN<j66Ky7(Cqo5k@!f++jXH@-N@*G z*`x#%noSjwsg|75^IF*%jeI!LWsYX8$Lmf%L$@(vB@U92xHGBmSUFPZjO~YH1Q1i_ zHvkcIFx=9q%nnb`L;!1eaDW?$$Oki$UFgsO*;G7WAQ_8COvz*{42W)P$s4mfSt!2) zJS(TZV?1`)aot#2a?mhudp6zPfSy&AYOUuJ!7skCwXOT$ddUcuQ_{_tx_WM5AK&Sz z@i@S2$#j~7BNmC!=+GbsOgF<lBuXZ)qrU@5o=1lhmTbs?PNkx`r|SGY%eGgxW(FM6 zrCxSV?g=0m=z!Sk$mR=%tFT{@>s6^(FPL$gRDpUcB3Q%cZ3k(NT{BYdvBE-I!|;qp zBf2F3u!oQWkGd7wC!j!5&5R`Y_IOrC!0*%EztMz!<#e(x0=v1ITw)*?AtQwv^PEsS z+qcEW)Z{LfX{S)?$o4JqtlmbJCRSifA|nHs8*@6YJHOx8M$y_#A?W_jtoyX4V~4=~ zDECupGd_z&zSnv@+9-`h3JngWp{Zs?zP*CbuuZBaONDzK=yNp^3wI=&S{cEBpDzkl z<&{(A&6T>g$IftWQtiB*LMZb90SZktga(T!0a9riWJ==;8Xgnfi$1PiPg@ci{+)<L z`OlS=f(`cY^5$Pg1Bq>57Cnh()()xb$`X+>CGBcVXmeaMKrY`C-VdjO((|U}T)<uC z%T?Z^$*InfyDPWA+qVuyLOlUv_ZbJ<0pg?#F_2P~rkt|c2MzN!B#9T2M6dP>AYyc2 z$gj73vf5xrowyt^MPa?#9n1HQW0M%GDzbJf%?%etMO#zedX%vZJSXzsM^ufn%jHTN z5JV2H822n0d6lXr9<tP2;nnsJBpwWO-OpxrNs%!ofU0Iu00Z}lSGYxMwR-EQvjbDt z?{;w+h_;`2mUg;F0uYg)k9WvVgab4_5ao-OQ(i`ZUs->HiCZ(3F>PMrs@Vbtc;g)1 z&vRrfKvSau+DMj_s$!<sU6Kv&EipG23rp@x*!IlK7c@6Ez`qaxM7i1+16|;It7CF0 zSw+t9Rr}31x05Y^@U6HKaSp5pYsQ<s<ZI@>(1=^=U?%|72q4O90pP(X1q*5WO18uX zF-68I*zmN(78LX))_p°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 Eg0W3Qf&c&j literal 23086 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 LNkvXXu0mjfL5d8f diff --git a/app/assets/images/pages/play/ladder/ogres_ladder_medium.png b/app/assets/images/pages/play/ladder/ogres_ladder_medium.png index 5e327d74b5ba960224a571b95ea626a5ea4ba0a6..a86ac9585b88170bc809b3448ed2fa15a22a7ee2 100644 GIT binary patch literal 39844 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 IM6N<$f)rTO`Tzg` literal 23199 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 CbO8VW diff --git a/app/assets/images/pages/play/ladder/ogres_ladder_tutorial.png b/app/assets/images/pages/play/ladder/ogres_ladder_tutorial.png index 16e9527285183e766fd6af67707b93a6398cb80a..939a534c79015be3abcf42862f9f5f893c6970fc 100644 GIT binary patch literal 44177 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 R)7$_6002ovPDHLkV1lBWo5BD9 literal 26542 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%0DeL%**fUcS+&aW~=h%5-VKjBBCq|`jVr1gVPkr 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�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 Z{6Di-IP(%LT)+ST002ovPDHLkV1hVB$;1Ev diff --git a/app/assets/images/pages/play/medium_button.png b/app/assets/images/pages/play/medium_button.png new file mode 100644 index 0000000000000000000000000000000000000000..41f87572ea3d48a8b553c66445edd9323e1a7624 GIT binary patch literal 19035 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Μ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 literal 0 HcmV?d00001 diff --git a/app/assets/images/pages/play/warmup_button.png b/app/assets/images/pages/play/warmup_button.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc6503b238e6313bccc1d3c9d7e3f0284cfc5c2 GIT binary patch literal 19207 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 literal 0 HcmV?d00001 From 1607790ea3acd396be7ece256094bf4652a73170 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 14:59:09 -0700 Subject: [PATCH 42/79] Updated jQuery UI from 1.10.3 to 1.10.4 for Treema autocomplete bug. --- app/views/account/settings_view.coffee | 5 +- app/views/employers_view.coffee | 2 +- ...3.custom.js => jquery-ui-1.10.4.custom.js} | 140 ++++++++++-------- ...custom.css => jquery-ui-1.10.4.custom.css} | 90 +++++------ 4 files changed, 131 insertions(+), 106 deletions(-) rename vendor/scripts/{jquery-ui-1.10.3.custom.js => jquery-ui-1.10.4.custom.js} (98%) rename vendor/styles/{jquery-ui-1.10.3.custom.css => jquery-ui-1.10.4.custom.css} (85%) diff --git a/app/views/account/settings_view.coffee b/app/views/account/settings_view.coffee index be4a79c59..c75225d69 100644 --- a/app/views/account/settings_view.coffee +++ b/app/views/account/settings_view.coffee @@ -81,13 +81,10 @@ module.exports = class SettingsView extends View buildPictureTreema: -> data = photoURL: me.get('photoURL') - if data.photoURL?.search('gravatar') isnt -1 - # Old style - data.photoURL = null + data.photoURL = null if data.photoURL?.search('gravatar') isnt -1 # Old style schema = _.cloneDeep me.schema().attributes schema.properties = _.pick me.schema().get('properties'), 'photoURL' schema.required = ['photoURL'] - console.log 'schema is', schema treemaOptions = filePath: "db/user/#{me.id}" schema: schema diff --git a/app/views/employers_view.coffee b/app/views/employers_view.coffee index 744db1954..cdbf8f074 100644 --- a/app/views/employers_view.coffee +++ b/app/views/employers_view.coffee @@ -80,7 +80,7 @@ module.exports = class EmployersView extends View onCandidateClicked: (e) -> id = $(e.target).closest('tr').data('candidate-id') - if not id + if id url = "/account/profile/#{id}" app.router.navigate url, {trigger: true} else diff --git a/vendor/scripts/jquery-ui-1.10.3.custom.js b/vendor/scripts/jquery-ui-1.10.4.custom.js similarity index 98% rename from vendor/scripts/jquery-ui-1.10.3.custom.js rename to vendor/scripts/jquery-ui-1.10.4.custom.js index 991276d15..0aa0374c8 100644 --- a/vendor/scripts/jquery-ui-1.10.3.custom.js +++ b/vendor/scripts/jquery-ui-1.10.4.custom.js @@ -1,7 +1,7 @@ -/*! jQuery UI - v1.10.3 - 2013-09-04 +/*! jQuery UI - v1.10.4 - 2014-04-11 * http://jqueryui.com * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.resizable.js, jquery.ui.sortable.js, jquery.ui.autocomplete.js, jquery.ui.menu.js, jquery.ui.slider.js, jquery.ui.effect.js, jquery.ui.effect-bounce.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-shake.js, jquery.ui.effect-transfer.js -* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ (function( $, undefined ) { @@ -12,7 +12,7 @@ var uuid = 0, $.ui = $.ui || {}; $.extend( $.ui, { - version: "1.10.3", + version: "1.10.4", keyCode: { BACKSPACE: 8, @@ -411,7 +411,7 @@ $.widget = function( name, base, prototype ) { // TODO: remove support for widgetEventPrefix // always use the name + a colon as the prefix, e.g., draggable:start // don't prefix for widgets that aren't DOM-based - widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name + widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name }, proxiedPrototype, { constructor: constructor, namespace: namespace, @@ -620,12 +620,12 @@ $.Widget.prototype = { curOption = curOption[ parts[ i ] ]; } key = parts.pop(); - if ( value === undefined ) { + if ( arguments.length === 1 ) { return curOption[ key ] === undefined ? null : curOption[ key ]; } curOption[ key ] = value; } else { - if ( value === undefined ) { + if ( arguments.length === 1 ) { return this.options[ key ] === undefined ? null : this.options[ key ]; } options[ key ] = value; @@ -832,7 +832,7 @@ $( document ).mouseup( function() { }); $.widget("ui.mouse", { - version: "1.10.3", + version: "1.10.4", options: { cancel: "input,textarea,button,select,option", distance: 1, @@ -1042,7 +1042,7 @@ $.position = { return cachedScrollbarWidth; } var w1, w2, - div = $( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ), + div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ), innerDiv = div.children()[0]; $( "body" ).append( div ); @@ -1060,8 +1060,10 @@ $.position = { return (cachedScrollbarWidth = w1 - w2); }, getScrollInfo: function( within ) { - var overflowX = within.isWindow ? "" : within.element.css( "overflow-x" ), - overflowY = within.isWindow ? "" : within.element.css( "overflow-y" ), + var overflowX = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-x" ), + overflowY = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-y" ), hasOverflowX = overflowX === "scroll" || ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), hasOverflowY = overflowY === "scroll" || @@ -1073,10 +1075,12 @@ $.position = { }, getWithinInfo: function( element ) { var withinElement = $( element || window ), - isWindow = $.isWindow( withinElement[0] ); + isWindow = $.isWindow( withinElement[0] ), + isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9; return { element: withinElement, isWindow: isWindow, + isDocument: isDocument, offset: withinElement.offset() || { left: 0, top: 0 }, scrollLeft: withinElement.scrollLeft(), scrollTop: withinElement.scrollTop(), @@ -1408,7 +1412,7 @@ $.ui.position = { } } else if ( overBottom > 0 ) { - newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; + newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) { position.top += myOffset + atOffset + offset; } @@ -1478,7 +1482,7 @@ function isNumber(value) { } $.widget("ui.resizable", $.ui.mouse, { - version: "1.10.3", + version: "1.10.4", widgetEventPrefix: "resize", options: { alsoResize: false, @@ -1747,7 +1751,7 @@ $.widget("ui.resizable", $.ui.mouse, { //Store needed variables this.offset = this.helper.offset(); this.position = { left: curleft, top: curtop }; - this.size = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; + this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: el.width(), height: el.height() }; this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; this.originalPosition = { left: curleft, top: curtop }; this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() }; @@ -2228,8 +2232,8 @@ $.ui.plugin.add("resizable", "containment", { isParent = that.containerElement.get(0) === that.element.parent().get(0); isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position")); - if(isParent && isOffsetRelative) { - woset -= that.parentData.left; + if ( isParent && isOffsetRelative ) { + woset -= Math.abs( that.parentData.left ); } if (woset + that.size.width >= that.parentData.width) { @@ -2410,10 +2414,20 @@ $.ui.plugin.add("resizable", "grid", { that.size.height = newHeight; that.position.left = op.left - ox; } else { - that.size.width = newWidth; - that.size.height = newHeight; - that.position.top = op.top - oy; - that.position.left = op.left - ox; + if ( newHeight - gridY > 0 ) { + that.size.height = newHeight; + that.position.top = op.top - oy; + } else { + that.size.height = gridY; + that.position.top = op.top + os.height - gridY; + } + if ( newWidth - gridX > 0 ) { + that.size.width = newWidth; + that.position.left = op.left - ox; + } else { + that.size.width = gridX; + that.position.left = op.left + os.width - gridX; + } } } @@ -2422,8 +2436,6 @@ $.ui.plugin.add("resizable", "grid", { })(jQuery); (function( $, undefined ) { -/*jshint loopfunc: true */ - function isOverAxis( x, reference, size ) { return ( x > reference ) && ( x < ( reference + size ) ); } @@ -2433,7 +2445,7 @@ function isFloating(item) { } $.widget("ui.sortable", $.ui.mouse, { - version: "1.10.3", + version: "1.10.4", widgetEventPrefix: "sort", ready: false, options: { @@ -2774,12 +2786,12 @@ $.widget("ui.sortable", $.ui.mouse, { } // Only put the placeholder inside the current Container, skip all - // items form other containers. This works because when moving + // items from other containers. This works because when moving // an item from one container to another the // currentContainer is switched before the placeholder is moved. // - // Without this moving items in "sub-sortables" can cause the placeholder to jitter - // beetween the outer and inner container. + // Without this, moving items in "sub-sortables" can cause + // the placeholder to jitter beetween the outer and inner container. if (item.instance !== this.currentContainer) { continue; } @@ -3047,10 +3059,11 @@ $.widget("ui.sortable", $.ui.mouse, { queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); + function addItems() { + items.push( this ); + } for (i = queries.length - 1; i >= 0; i--){ - queries[i][0].each(function() { - items.push(this); - }); + queries[i][0].each( addItems ); } return $(items); @@ -3608,12 +3621,17 @@ $.widget("ui.sortable", $.ui.mouse, { //Post events to containers + function delayEvent( type, instance, container ) { + return function( event ) { + container._trigger( type, event, instance._uiHash( instance ) ); + }; + } for (i = this.containers.length - 1; i >= 0; i--){ - if(!noPropagation) { - delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + if (!noPropagation) { + delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); } if(this.containers[i].containerCache.over) { - delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); this.containers[i].containerCache.over = 0; } } @@ -3692,11 +3710,8 @@ $.widget("ui.sortable", $.ui.mouse, { })(jQuery); (function( $, undefined ) { -// used to prevent race conditions with remote data sources -var requestIndex = 0; - $.widget( "ui.autocomplete", { - version: "1.10.3", + version: "1.10.4", defaultElement: "<input>", options: { appendTo: null, @@ -3720,6 +3735,7 @@ $.widget( "ui.autocomplete", { select: null }, + requestIndex: 0, pending: 0, _create: function() { @@ -3753,7 +3769,6 @@ $.widget( "ui.autocomplete", { this._on( this.element, { keydown: function( event ) { - /*jshint maxcomplexity:15*/ if ( this.element.prop( "readOnly" ) ) { suppressKeyPress = true; suppressInput = true; @@ -4096,19 +4111,18 @@ $.widget( "ui.autocomplete", { }, _response: function() { - var that = this, - index = ++requestIndex; + var index = ++this.requestIndex; - return function( content ) { - if ( index === requestIndex ) { - that.__response( content ); + return $.proxy(function( content ) { + if ( index === this.requestIndex ) { + this.__response( content ); } - that.pending--; - if ( !that.pending ) { - that.element.removeClass( "ui-autocomplete-loading" ); + this.pending--; + if ( !this.pending ) { + this.element.removeClass( "ui-autocomplete-loading" ); } - }; + }, this ); }, __response: function( content ) { @@ -4287,7 +4301,7 @@ $.widget( "ui.autocomplete", $.ui.autocomplete, { (function( $, undefined ) { $.widget( "ui.menu", { - version: "1.10.3", + version: "1.10.4", defaultElement: "<ul>", delay: 300, options: { @@ -4346,13 +4360,18 @@ $.widget( "ui.menu", { "click .ui-menu-item:has(a)": function( event ) { var target = $( event.target ).closest( ".ui-menu-item" ); if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { - this.mouseHandled = true; - this.select( event ); + + // Only set the mouseHandled flag if the event will bubble, see #9469. + if ( !event.isPropagationStopped() ) { + this.mouseHandled = true; + } + // Open submenu on click if ( target.has( ".ui-menu" ).length ) { this.expand( event ); - } else if ( !this.element.is( ":focus" ) ) { + } else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) { + // Redirect focus to the menu this.element.trigger( "focus", [ true ] ); @@ -4445,7 +4464,6 @@ $.widget( "ui.menu", { }, _keydown: function( event ) { - /*jshint maxcomplexity:20*/ var match, prev, character, skip, regex, preventDefault = true; @@ -4554,6 +4572,8 @@ $.widget( "ui.menu", { icon = this.options.icons.submenu, submenus = this.element.find( this.options.menus ); + this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ); + // Initialize nested menus submenus.filter( ":not(.ui-menu)" ) .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) @@ -4654,7 +4674,7 @@ $.widget( "ui.menu", { } nested = item.children( ".ui-menu" ); - if ( nested.length && ( /^mouse/.test( event.type ) ) ) { + if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { this._startOpening(nested); } this.activeMenu = item.parent(); @@ -4897,7 +4917,7 @@ $.widget( "ui.menu", { var numPages = 5; $.widget( "ui.slider", $.ui.mouse, { - version: "1.10.3", + version: "1.10.4", widgetEventPrefix: "slide", options: { @@ -5008,7 +5028,10 @@ $.widget( "ui.slider", $.ui.mouse, { this.range.addClass( classes + ( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) ); } else { - this.range = $([]); + if ( this.range ) { + this.range.remove(); + } + this.range = null; } }, @@ -5022,7 +5045,9 @@ $.widget( "ui.slider", $.ui.mouse, { _destroy: function() { this.handles.remove(); - this.range.remove(); + if ( this.range ) { + this.range.remove(); + } this.element .removeClass( "ui-slider" + @@ -5194,7 +5219,7 @@ $.widget( "ui.slider", $.ui.mouse, { } ); otherVal = this.values( index ? 0 : 1 ); if ( allowed !== false ) { - this.values( index, newVal, true ); + this.values( index, newVal ); } } } else { @@ -5466,7 +5491,6 @@ $.widget( "ui.slider", $.ui.mouse, { _handleEvents: { keydown: function( event ) { - /*jshint maxcomplexity:25*/ var allowed, curVal, newVal, step, index = $( event.target ).data( "ui-slider-handle-index" ); @@ -6432,7 +6456,7 @@ $.fn.extend({ (function() { $.extend( $.effects, { - version: "1.10.3", + version: "1.10.4", // Saves a set of properties in a data storage save: function( element, set ) { diff --git a/vendor/styles/jquery-ui-1.10.3.custom.css b/vendor/styles/jquery-ui-1.10.4.custom.css similarity index 85% rename from vendor/styles/jquery-ui-1.10.3.custom.css rename to vendor/styles/jquery-ui-1.10.4.custom.css index f9710a7e0..c956584a0 100644 --- a/vendor/styles/jquery-ui-1.10.3.custom.css +++ b/vendor/styles/jquery-ui-1.10.4.custom.css @@ -1,8 +1,8 @@ -/*! jQuery UI - v1.10.3 - 2013-09-04 +/*! jQuery UI - v1.10.4 - 2014-04-11 * http://jqueryui.com * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.slider.css, jquery.ui.theme.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=gloss_wave&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=inset_hard&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=glass&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=inset_hard&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=flat&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px -* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ +* To view and modify this theme, visit http://jqueryui.com/themeroller/ +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ /* Layout helpers ----------------------------------*/ @@ -296,7 +296,7 @@ /* Component containers ----------------------------------*/ .ui-widget { - font-family: Lucida Grande,Lucida Sans,Arial,sans-serif; + font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } .ui-widget .ui-widget { @@ -306,25 +306,25 @@ .ui-widget select, .ui-widget textarea, .ui-widget button { - font-family: Lucida Grande,Lucida Sans,Arial,sans-serif; + font-family: Verdana,Arial,sans-serif; font-size: 1em; } .ui-widget-content { - border: 1px solid #a6c9e2; - background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x; color: #222222; } .ui-widget-content a { color: #222222; } .ui-widget-header { - border: 1px solid #4297d7; - background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; - color: #ffffff; + border: 1px solid #aaaaaa; + background: #cccccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x; + color: #222222; font-weight: bold; } .ui-widget-header a { - color: #ffffff; + color: #222222; } /* Interaction states @@ -332,15 +332,15 @@ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { - border: 1px solid #c5dbec; - background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; - font-weight: bold; - color: #2e6e9e; + border: 1px solid #d3d3d3; + background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #555555; } .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { - color: #2e6e9e; + color: #555555; text-decoration: none; } .ui-state-hover, @@ -349,30 +349,34 @@ .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { - border: 1px solid #79b7e7; - background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; - font-weight: bold; - color: #1d5987; + border: 1px solid #999999; + background: #dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; } .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, -.ui-state-hover a:visited { - color: #1d5987; +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited { + color: #212121; text-decoration: none; } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { - border: 1px solid #79b7e7; - background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; - font-weight: bold; - color: #e17009; + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; } .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { - color: #e17009; + color: #212121; text-decoration: none; } @@ -381,8 +385,8 @@ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { - border: 1px solid #fad42e; - background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; + border: 1px solid #fcefa1; + background: #fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; color: #363636; } .ui-state-highlight a, @@ -394,7 +398,7 @@ .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #cd0a0a; - background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; + background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; color: #cd0a0a; } .ui-state-error a, @@ -440,27 +444,27 @@ } .ui-icon, .ui-widget-content .ui-icon { - background-image: url(images/ui-icons_469bdd_256x240.png); + background-image: url("images/ui-icons_222222_256x240.png"); } .ui-widget-header .ui-icon { - background-image: url(images/ui-icons_d8e7f3_256x240.png); + background-image: url("images/ui-icons_222222_256x240.png"); } .ui-state-default .ui-icon { - background-image: url(images/ui-icons_6da8d5_256x240.png); + background-image: url("images/ui-icons_888888_256x240.png"); } .ui-state-hover .ui-icon, .ui-state-focus .ui-icon { - background-image: url(images/ui-icons_217bc0_256x240.png); + background-image: url("images/ui-icons_454545_256x240.png"); } .ui-state-active .ui-icon { - background-image: url(images/ui-icons_f9bd01_256x240.png); + background-image: url("images/ui-icons_454545_256x240.png"); } .ui-state-highlight .ui-icon { - background-image: url(images/ui-icons_2e83ff_256x240.png); + background-image: url("images/ui-icons_2e83ff_256x240.png"); } .ui-state-error .ui-icon, .ui-state-error-text .ui-icon { - background-image: url(images/ui-icons_cd0a0a_256x240.png); + background-image: url("images/ui-icons_cd0a0a_256x240.png"); } /* positioning */ @@ -650,37 +654,37 @@ .ui-corner-top, .ui-corner-left, .ui-corner-tl { - border-top-left-radius: 5px; + border-top-left-radius: 4px; } .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { - border-top-right-radius: 5px; + border-top-right-radius: 4px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { - border-bottom-left-radius: 5px; + border-bottom-left-radius: 4px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { - border-bottom-right-radius: 5px; + border-bottom-right-radius: 4px; } /* Overlays */ .ui-widget-overlay { - background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: .3; filter: Alpha(Opacity=30); } .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; - background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: .3; filter: Alpha(Opacity=30); border-radius: 8px; From bbf26ecc9c1a035feae21a2c668ded2790fb962e Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 15:02:01 -0700 Subject: [PATCH 43/79] Fixed lcoale line endings again. --- app/locale/en.coffee | 1330 +++++++++++++++++++-------------------- app/locale/nl-BE.coffee | 1328 +++++++++++++++++++------------------- app/locale/nl-NL.coffee | 1328 +++++++++++++++++++------------------- app/locale/nl.coffee | 1328 +++++++++++++++++++------------------- 4 files changed, 2657 insertions(+), 2657 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index c7633ce94..72e76c58f 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -1,665 +1,665 @@ -module.exports = nativeDescription: "English", englishDescription: "English", translation: - common: - loading: "Loading..." - saving: "Saving..." - sending: "Sending..." - send: "Send" - cancel: "Cancel" - save: "Save" - create: "Create" - delay_1_sec: "1 second" - delay_3_sec: "3 seconds" - delay_5_sec: "5 seconds" - manual: "Manual" - fork: "Fork" - play: "Play" - retry: "Retry" - - units: - second: "second" - seconds: "seconds" - minute: "minute" - minutes: "minutes" - hour: "hour" - hours: "hours" - - modal: - close: "Close" - okay: "Okay" - - not_found: - page_not_found: "Page not found" - - nav: - play: "Levels" - editor: "Editor" - blog: "Blog" - forum: "Forum" - admin: "Admin" - home: "Home" - contribute: "Contribute" - legal: "Legal" - about: "About" - contact: "Contact" - twitter_follow: "Follow" - employers: "Employers" - - versions: - save_version_title: "Save New Version" - new_major_version: "New Major Version" - update_break_level: "(Could this update break old solutions of the level?)" - update_break_component: "(Could this update break anything depending on this Component?)" - update_break_system: "(Could this update break anything depending on this System?)" - cla_prefix: "To save changes, first you must agree to our" - cla_url: "CLA" - cla_suffix: "." - cla_agree: "I AGREE" - - login: - sign_up: "Create Account" - log_in: "Log In" - logging_in: "Logging In" - log_out: "Log Out" - recover: "recover account" - - recover: - recover_account_title: "Recover Account" - send_password: "Send Recovery Password" - - signup: - create_account_title: "Create Account to Save Progress" - description: "It's free. Just need a couple things and you'll be good to go:" - email_announcements: "Receive announcements by email" - coppa: "13+ or non-USA " - coppa_why: "(Why?)" - creating: "Creating Account..." - sign_up: "Sign Up" - log_in: "log in with password" - social_signup: "Or, you can sign up through Facebook or G+:" - - home: - slogan: "Learn to Code JavaScript by Playing a Game" - no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!" - no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" - play: "Play" - old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" - old_browser_suffix: "You can try anyway, but it probably won't work." - campaign: "Campaign" - for_beginners: "For Beginners" - multiplayer: "Multiplayer" - for_developers: "For Developers" - - play: - choose_your_level: "Choose Your Level" - adventurer_prefix: "You can jump to any level below, or discuss the levels on " - adventurer_forum: "the Adventurer forum" - adventurer_suffix: "." - campaign_beginner: "Beginner Campaign" - campaign_beginner_description: "... in which you learn the wizardry of programming." - campaign_dev: "Random Harder Levels" - campaign_dev_description: "... in which you learn the interface while doing something a little harder." - campaign_multiplayer: "Multiplayer Arenas" - campaign_multiplayer_description: "... in which you code head-to-head against other players." - campaign_player_created: "Player-Created" - campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>." - level_difficulty: "Difficulty: " - play_as: "Play As" - spectate: "Spectate" - - contact: - contact_us: "Contact CodeCombat" - welcome: "Good to hear from you! Use this form to send us email. " - contribute_prefix: "If you're interested in contributing, check out our " - contribute_page: "contribute page" - contribute_suffix: "!" - forum_prefix: "For anything public, please try " - forum_page: "our forum" - forum_suffix: " instead." - send: "Send Feedback" - contact_candidate: "Contact Candidate" - recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." - - diplomat_suggestion: - title: "Help translate CodeCombat!" - sub_heading: "We need your language skills." - pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in {English} but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into {English}." - missing_translations: "Until we can translate everything into {English}, you'll see English when {English} isn't available." - learn_more: "Learn more about being a Diplomat" - subscribe_as_diplomat: "Subscribe as a Diplomat" - - wizard_settings: - title: "Wizard Settings" - customize_avatar: "Customize Your Avatar" - active: "Active" - color: "Color" - group: "Group" - clothes: "Clothes" - trim: "Trim" - cloud: "Cloud" - team: "Team" - spell: "Spell" - boots: "Boots" - hue: "Hue" - saturation: "Saturation" - lightness: "Lightness" - - account_settings: - title: "Account Settings" - not_logged_in: "Log in or create an account to change your settings." - autosave: "Changes Save Automatically" - me_tab: "Me" - picture_tab: "Picture" - wizard_tab: "Wizard" - password_tab: "Password" - emails_tab: "Emails" - admin: "Admin" - wizard_color: "Wizard Clothes Color" - new_password: "New Password" - new_password_verify: "Verify" - email_subscriptions: "Email Subscriptions" - email_announcements: "Announcements" - email_notifications: "Notifications" - email_notifications_description: "Get periodic notifications for your account." - email_announcements_description: "Get emails on the latest news and developments at CodeCombat." - contributor_emails: "Contributor Class Emails" - contribute_prefix: "We're looking for people to join our party! Check out the " - contribute_page: "contribute page" - contribute_suffix: " to find out more." - email_toggle: "Toggle All" - error_saving: "Error Saving" - saved: "Changes Saved" - password_mismatch: "Password does not match." - job_profile: "Job Profile" - job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." - job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." - - account_profile: - edit_settings: "Edit Settings" - profile_for_prefix: "Profile for " - profile_for_suffix: "" - approved: "Approved" - not_approved: "Not Approved" - looking_for: "Looking for:" - last_updated: "Last updated:" - contact: "Contact" - work_experience: "Work Experience" - education: "Education" - our_notes: "Our Notes" - projects: "Projects" - - employers: - want_to_hire_our_players: "Want to hire expert CodeCombat players?" - contact_george: "Contact George to see our candidates" - candidates_count_prefix: "We currently have " - candidates_count_many: "many" - candidates_count_suffix: "highly skilled and vetted developers looking for work." - candidate_name: "Name" - candidate_location: "Location" - candidate_looking_for: "Looking For" - candidate_role: "Role" - candidate_top_skills: "Top Skills" - candidate_years_experience: "Yrs Exp" - candidate_last_updated: "Last Updated" - - play_level: - level_load_error: "Level could not be loaded: " - done: "Done" - grid: "Grid" - customize_wizard: "Customize Wizard" - home: "Home" - guide: "Guide" - multiplayer: "Multiplayer" - restart: "Restart" - goals: "Goals" - action_timeline: "Action Timeline" - click_to_select: "Click on a unit to select it." - reload_title: "Reload All Code?" - reload_really: "Are you sure you want to reload this level back to the beginning?" - reload_confirm: "Reload All" - victory_title_prefix: "" - victory_title_suffix: " Complete" - victory_sign_up: "Sign Up to Save Progress" - victory_sign_up_poke: "Want to save your code? Create a free account!" - victory_rate_the_level: "Rate the level: " - victory_rank_my_game: "Rank My Game" - victory_ranking_game: "Submitting..." - victory_return_to_ladder: "Return to Ladder" - victory_play_next_level: "Play Next Level" - victory_go_home: "Go Home" - victory_review: "Tell us more!" - victory_hour_of_code_done: "Are You Done?" - victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" - multiplayer_title: "Multiplayer Settings" - multiplayer_link_description: "Give this link to anyone to have them join you." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." - multiplayer_coming_soon: "More multiplayer features to come!" - guide_title: "Guide" - tome_minion_spells: "Your Minions' Spells" - tome_read_only_spells: "Read-Only Spells" - tome_other_units: "Other Units" - tome_cast_button_castable: "Cast Spell" - tome_cast_button_casting: "Casting" - tome_cast_button_cast: "Spell Cast" - tome_autocast_delay: "Autocast Delay" - tome_select_spell: "Select a Spell" - tome_select_a_thang: "Select Someone for " - tome_available_spells: "Available Spells" - hud_continue: "Continue (shift+space)" - spell_saved: "Spell Saved" - skip_tutorial: "Skip (esc)" - editor_config: "Editor Config" - editor_config_title: "Editor Configuration" - editor_config_language_label: "Programming Language" - editor_config_language_description: "Define the programming language you want to code in." - editor_config_keybindings_label: "Key Bindings" - editor_config_keybindings_default: "Default (Ace)" - editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." - editor_config_invisibles_label: "Show Invisibles" - editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." - editor_config_indentguides_label: "Show Indent Guides" - editor_config_indentguides_description: "Displays vertical lines to see indentation better." - editor_config_behaviors_label: "Smart Behaviors" - editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." - loading_ready: "Ready!" - tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." - tip_toggle_play: "Toggle play/paused with Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." - tip_guide_exists: "Click the guide at the top of the page for useful info." - tip_open_source: "CodeCombat is 100% open source!" - tip_beta_launch: "CodeCombat launched its beta in October, 2013." - tip_js_beginning: "JavaScript is just the beginning." - tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." - think_solution: "Think of the solution, not the problem." - tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" - tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" - tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" - tip_forums: "Head over to the forums and tell us what you think!" - tip_baby_coders: "In the future, even babies will be Archmages." - tip_morale_improves: "Loading will continue until morale improves." - tip_all_species: "We believe in equal opportunities to learn programming for all species." - tip_reticulating: "Reticulating spines." - tip_harry: "Yer a Wizard, " - tip_great_responsibility: "With great coding skill comes great debug responsibility." - tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." - tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." - tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" - tip_no_try: "Do. Or do not. There is no try. - Yoda" - tip_patience: "Patience you must have, young Padawan. - Yoda" - tip_documented_bug: "A documented bug is not a bug; it is a feature." - tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" - tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" - tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" - time_current: "Now:" - time_total: "Max:" - time_goto: "Go to:" - - admin: - av_title: "Admin Views" - av_entities_sub_title: "Entities" - av_entities_users_url: "Users" - av_entities_active_instances_url: "Active Instances" - av_other_sub_title: "Other" - av_other_debug_base_url: "Base (for debugging base.jade)" - u_title: "User List" - lg_title: "Latest Games" - clas: "CLAs" - - editor: - main_title: "CodeCombat Editors" - main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!" - article_title: "Article Editor" - article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns." - thang_title: "Thang Editor" - thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics." - level_title: "Level Editor" - level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!" - security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, " - contact_us: "contact us!" - hipchat_prefix: "You can also find us in our" - hipchat_url: "HipChat room." - back: "Back" - revert: "Revert" - revert_models: "Revert Models" - fork_title: "Fork New Version" - fork_creating: "Creating Fork..." - more: "More" - wiki: "Wiki" - live_chat: "Live Chat" - level_publish: "Publish This Level (irreversible)?" - level_some_options: "Some Options?" - level_tab_thangs: "Thangs" - level_tab_scripts: "Scripts" - level_tab_settings: "Settings" - level_tab_components: "Components" - level_tab_systems: "Systems" - level_tab_thangs_title: "Current Thangs" - level_tab_thangs_all: "All" - level_tab_thangs_conditions: "Starting Conditions" - level_tab_thangs_add: "Add Thangs" - delete: "Delete" - duplicate: "Duplicate" - level_settings_title: "Settings" - level_component_tab_title: "Current Components" - level_component_btn_new: "Create New Component" - level_systems_tab_title: "Current Systems" - level_systems_btn_new: "Create New System" - level_systems_btn_add: "Add System" - level_components_title: "Back to All Thangs" - level_components_type: "Type" - level_component_edit_title: "Edit Component" - level_component_config_schema: "Config Schema" - level_component_settings: "Settings" - level_system_edit_title: "Edit System" - create_system_title: "Create New System" - new_component_title: "Create New Component" - new_component_field_system: "System" - new_article_title: "Create a New Article" - new_thang_title: "Create a New Thang Type" - new_level_title: "Create a New Level" - article_search_title: "Search Articles Here" - thang_search_title: "Search Thang Types Here" - level_search_title: "Search Levels Here" - signup_to_create: "Sign Up to Create a New Content" - read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." - - article: - edit_btn_preview: "Preview" - edit_article_title: "Edit Article" - - general: - and: "and" - name: "Name" - body: "Body" - version: "Version" - commit_msg: "Commit Message" - version_history: "Version History" - version_history_for: "Version History for: " - result: "Result" - results: "Results" - description: "Description" - or: "or" - subject: "Subject" - email: "Email" - password: "Password" - message: "Message" - code: "Code" - ladder: "Ladder" - when: "When" - opponent: "Opponent" - rank: "Rank" - score: "Score" - win: "Win" - loss: "Loss" - tie: "Tie" - easy: "Easy" - medium: "Medium" - hard: "Hard" - - about: - who_is_codecombat: "Who is CodeCombat?" - why_codecombat: "Why CodeCombat?" - who_description_prefix: "together started CodeCombat in 2013. We also created " - who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." - who_description_ending: "Now it's time to teach people to write code." - why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." - why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." - why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" - why_paragraph_3_italic: "yay a badge" - why_paragraph_3_center: "but fun like" - why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!" - why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." - why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." - why_ending: "And hey, it's free. " - why_ending_url: "Start wizarding now!" - george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." - scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." - nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." - jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." - michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." - glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" - - legal: - page_title: "Legal" - opensource_intro: "CodeCombat is free to play and completely open source." - opensource_description_prefix: "Check out " - github_url: "our GitHub" - opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " - archmage_wiki_url: "our Archmage wiki" - opensource_description_suffix: "for a list of the software that makes this game possible." - practices_title: "Respectful Best Practices" - practices_description: "These are our promises to you, the player, in slightly less legalese." - privacy_title: "Privacy" - privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." - security_title: "Security" - security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems." - email_title: "Email" - email_description_prefix: "We will not inundate you with spam. Through" - email_settings_url: "your email settings" - email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." - cost_title: "Cost" - cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" - recruitment_title: "Recruitment" - recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." - url_hire_programmers: "No one can hire programmers fast enough" - recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" - recruitment_description_italic: "a lot" - recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." - copyrights_title: "Copyrights and Licenses" - contributor_title: "Contributor License Agreement" - contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" - cla_url: "CLA" - contributor_description_suffix: "to which you should agree before contributing." - code_title: "Code - MIT" - code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" - mit_license_url: "MIT license" - code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." - art_title: "Art/Music - Creative Commons " - art_description_prefix: "All common content is available under the" - cc_license_url: "Creative Commons Attribution 4.0 International License" - art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" - art_music: "Music" - art_sound: "Sound" - art_artwork: "Artwork" - art_sprites: "Sprites" - art_other: "Any and all other non-code creative works that are made available when creating Levels." - art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible." - art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:" - use_list_1: "If used in a movie or another game, include codecombat.com in the credits." - use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution." - art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any." - rights_title: "Rights Reserved" - rights_desc: "All rights are reserved for Levels themselves. This includes" - rights_scripts: "Scripts" - rights_unit: "Unit configuration" - rights_description: "Description" - rights_writings: "Writings" - rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels." - rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not." - nutshell_title: "In a Nutshell" - nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening." - canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." - - contribute: - page_title: "Contributing" - character_classes_title: "Character Classes" - introduction_desc_intro: "We have high hopes for CodeCombat." - introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " - introduction_desc_github_url: "CodeCombat is totally open source" - introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." - introduction_desc_ending: "We hope you'll join our party!" - introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" - alert_account_message_intro: "Hey there!" - alert_account_message_pref: "To subscribe for class emails, you'll need to " - alert_account_message_suf: "first." - alert_account_message_create_url: "create an account" - archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." - archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever." - class_attributes: "Class Attributes" - archmage_attribute_1_pref: "Knowledge in " - archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax." - archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you." - how_to_join: "How To Join" - join_desc_1: "Anyone can help out! Just check out our " - join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? " - join_desc_3: ", or find us in our " - join_desc_4: "and we'll go from there!" - join_url_email: "Email us" - join_url_hipchat: "public HipChat room" - more_about_archmage: "Learn More About Becoming an Archmage" - archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." - artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" - artisan_summary_suf: ", then this class is for you." - artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" - artisan_introduction_suf: ", then this class might be for you." - artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" - artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." - artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" - artisan_join_desc: "Use the Level Editor in these steps, give or take:" - artisan_join_step1: "Read the documentation." - artisan_join_step2: "Create a new level and explore existing levels." - artisan_join_step3: "Find us in our public HipChat room for help." - artisan_join_step4: "Post your levels on the forum for feedback." - more_about_artisan: "Learn More About Becoming an Artisan" - artisan_subscribe_desc: "Get emails on level editor updates and announcements." - adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you." - adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you." - adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though." - adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve." - adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like" - adventurer_forum_url: "our forum" - adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!" - more_about_adventurer: "Learn More About Becoming an Adventurer" - adventurer_subscribe_desc: "Get emails when there are new levels to test." - scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the " - scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you." - scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you." - scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others." - contact_us_url: "Contact us" - scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!" - more_about_scribe: "Learn More About Becoming a Scribe" - scribe_subscribe_desc: "Get emails about article writing announcements." - diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you." - diplomat_introduction_pref: "So, if there's one thing we learned from the " - diplomat_launch_url: "launch in October" - diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you." - diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!" - diplomat_join_pref_github: "Find your language locale file " - diplomat_github_url: "on GitHub" - diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" - more_about_diplomat: "Learn More About Becoming a Diplomat" - diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." - ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you." - ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." - ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!" - ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!" - ambassador_join_note_strong: "Note" - ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" - more_about_ambassador: "Learn More About Becoming an Ambassador" - ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." - counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you." - counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design." - counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you." - counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful." - counselor_attribute_2: "A little bit of free time!" - counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)." - more_about_counselor: "Learn More About Becoming a Counselor" - changes_auto_save: "Changes are saved automatically when you toggle checkboxes." - diligent_scribes: "Our Diligent Scribes:" - powerful_archmages: "Our Powerful Archmages:" - creative_artisans: "Our Creative Artisans:" - brave_adventurers: "Our Brave Adventurers:" - translating_diplomats: "Our Translating Diplomats:" - helpful_ambassadors: "Our Helpful Ambassadors:" - - classes: - archmage_title: "Archmage" - archmage_title_description: "(Coder)" - artisan_title: "Artisan" - artisan_title_description: "(Level Builder)" - adventurer_title: "Adventurer" - adventurer_title_description: "(Level Playtester)" - scribe_title: "Scribe" - scribe_title_description: "(Article Editor)" - diplomat_title: "Diplomat" - diplomat_title_description: "(Translator)" - ambassador_title: "Ambassador" - ambassador_title_description: "(Support)" - counselor_title: "Counselor" - counselor_title_description: "(Expert/Teacher)" - - ladder: - please_login: "Please log in first before playing a ladder game." - my_matches: "My Matches" - simulate: "Simulate" - simulation_explanation: "By simulating games you can get your game ranked faster!" - simulate_games: "Simulate Games!" - simulate_all: "RESET AND SIMULATE GAMES" - games_simulated_by: "Games simulated by you:" - games_simulated_for: "Games simulated for you:" - leaderboard: "Leaderboard" - battle_as: "Battle as " - summary_your: "Your " - summary_matches: "Matches - " - summary_wins: " Wins, " - summary_losses: " Losses" - rank_no_code: "No New Code to Rank" - rank_my_game: "Rank My Game!" - rank_submitting: "Submitting..." - rank_submitted: "Submitted for Ranking" - rank_failed: "Failed to Rank" - rank_being_ranked: "Game Being Ranked" - code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." - no_ranked_matches_pre: "No ranked matches for the " - no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." - choose_opponent: "Choose an Opponent" - tutorial_play: "Play Tutorial" - tutorial_recommended: "Recommended if you've never played before" - tutorial_skip: "Skip Tutorial" - tutorial_not_sure: "Not sure what's going on?" - tutorial_play_first: "Play the Tutorial first." - simple_ai: "Simple AI" - warmup: "Warmup" - vs: "VS" - - multiplayer_launch: - introducing_dungeon_arena: "Introducing Dungeon Arena" - new_way: "The new way to compete with code." - to_battle: "To Battle, Developers!" - modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." - arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." - ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" - fork_our_arenas: "fork our arenas" - create_worlds: "and create your own worlds." - javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" - tutorial: "tutorial" - new_to_programming: ". New to programming? Hit our beginner campaign to skill up." - so_ready: "I Am So Ready for This" - - loading_error: - could_not_load: "Error loading from server" - connection_failure: "Connection failed." - unauthorized: "You need to be signed in. Do you have cookies disabled?" - forbidden: "You do not have the permissions." - not_found: "Not found." - not_allowed: "Method not allowed." - timeout: "Server timeout." - conflict: "Resource conflict." - bad_input: "Bad input." - server_error: "Server error." - unknown: "Unknown error." - - resources: - your_sessions: "Your Sessions" - level: "Level" - social_network_apis: "Social Network APIs" - facebook_status: "Facebook Status" - facebook_friends: "Facebook Friends" - facebook_friend_sessions: "Facebook Friend Sessions" - gplus_friends: "G+ Friends" - gplus_friend_sessions: "G+ Friend Sessions" - leaderboard: "Leaderboard" - user_schema: "User Schema" - user_profile: "User Profile" +module.exports = nativeDescription: "English", englishDescription: "English", translation: + common: + loading: "Loading..." + saving: "Saving..." + sending: "Sending..." + send: "Send" + cancel: "Cancel" + save: "Save" + create: "Create" + delay_1_sec: "1 second" + delay_3_sec: "3 seconds" + delay_5_sec: "5 seconds" + manual: "Manual" + fork: "Fork" + play: "Play" + retry: "Retry" + + units: + second: "second" + seconds: "seconds" + minute: "minute" + minutes: "minutes" + hour: "hour" + hours: "hours" + + modal: + close: "Close" + okay: "Okay" + + not_found: + page_not_found: "Page not found" + + nav: + play: "Levels" + editor: "Editor" + blog: "Blog" + forum: "Forum" + admin: "Admin" + home: "Home" + contribute: "Contribute" + legal: "Legal" + about: "About" + contact: "Contact" + twitter_follow: "Follow" + employers: "Employers" + + versions: + save_version_title: "Save New Version" + new_major_version: "New Major Version" + update_break_level: "(Could this update break old solutions of the level?)" + update_break_component: "(Could this update break anything depending on this Component?)" + update_break_system: "(Could this update break anything depending on this System?)" + cla_prefix: "To save changes, first you must agree to our" + cla_url: "CLA" + cla_suffix: "." + cla_agree: "I AGREE" + + login: + sign_up: "Create Account" + log_in: "Log In" + logging_in: "Logging In" + log_out: "Log Out" + recover: "recover account" + + recover: + recover_account_title: "Recover Account" + send_password: "Send Recovery Password" + + signup: + create_account_title: "Create Account to Save Progress" + description: "It's free. Just need a couple things and you'll be good to go:" + email_announcements: "Receive announcements by email" + coppa: "13+ or non-USA " + coppa_why: "(Why?)" + creating: "Creating Account..." + sign_up: "Sign Up" + log_in: "log in with password" + social_signup: "Or, you can sign up through Facebook or G+:" + + home: + slogan: "Learn to Code JavaScript by Playing a Game" + no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!" + no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" + play: "Play" + old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" + old_browser_suffix: "You can try anyway, but it probably won't work." + campaign: "Campaign" + for_beginners: "For Beginners" + multiplayer: "Multiplayer" + for_developers: "For Developers" + + play: + choose_your_level: "Choose Your Level" + adventurer_prefix: "You can jump to any level below, or discuss the levels on " + adventurer_forum: "the Adventurer forum" + adventurer_suffix: "." + campaign_beginner: "Beginner Campaign" + campaign_beginner_description: "... in which you learn the wizardry of programming." + campaign_dev: "Random Harder Levels" + campaign_dev_description: "... in which you learn the interface while doing something a little harder." + campaign_multiplayer: "Multiplayer Arenas" + campaign_multiplayer_description: "... in which you code head-to-head against other players." + campaign_player_created: "Player-Created" + campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>." + level_difficulty: "Difficulty: " + play_as: "Play As" + spectate: "Spectate" + + contact: + contact_us: "Contact CodeCombat" + welcome: "Good to hear from you! Use this form to send us email. " + contribute_prefix: "If you're interested in contributing, check out our " + contribute_page: "contribute page" + contribute_suffix: "!" + forum_prefix: "For anything public, please try " + forum_page: "our forum" + forum_suffix: " instead." + send: "Send Feedback" + contact_candidate: "Contact Candidate" + recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." + + diplomat_suggestion: + title: "Help translate CodeCombat!" + sub_heading: "We need your language skills." + pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in {English} but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into {English}." + missing_translations: "Until we can translate everything into {English}, you'll see English when {English} isn't available." + learn_more: "Learn more about being a Diplomat" + subscribe_as_diplomat: "Subscribe as a Diplomat" + + wizard_settings: + title: "Wizard Settings" + customize_avatar: "Customize Your Avatar" + active: "Active" + color: "Color" + group: "Group" + clothes: "Clothes" + trim: "Trim" + cloud: "Cloud" + team: "Team" + spell: "Spell" + boots: "Boots" + hue: "Hue" + saturation: "Saturation" + lightness: "Lightness" + + account_settings: + title: "Account Settings" + not_logged_in: "Log in or create an account to change your settings." + autosave: "Changes Save Automatically" + me_tab: "Me" + picture_tab: "Picture" + wizard_tab: "Wizard" + password_tab: "Password" + emails_tab: "Emails" + admin: "Admin" + wizard_color: "Wizard Clothes Color" + new_password: "New Password" + new_password_verify: "Verify" + email_subscriptions: "Email Subscriptions" + email_announcements: "Announcements" + email_notifications: "Notifications" + email_notifications_description: "Get periodic notifications for your account." + email_announcements_description: "Get emails on the latest news and developments at CodeCombat." + contributor_emails: "Contributor Class Emails" + contribute_prefix: "We're looking for people to join our party! Check out the " + contribute_page: "contribute page" + contribute_suffix: " to find out more." + email_toggle: "Toggle All" + error_saving: "Error Saving" + saved: "Changes Saved" + password_mismatch: "Password does not match." + job_profile: "Job Profile" + job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." + job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." + + account_profile: + edit_settings: "Edit Settings" + profile_for_prefix: "Profile for " + profile_for_suffix: "" + approved: "Approved" + not_approved: "Not Approved" + looking_for: "Looking for:" + last_updated: "Last updated:" + contact: "Contact" + work_experience: "Work Experience" + education: "Education" + our_notes: "Our Notes" + projects: "Projects" + + employers: + want_to_hire_our_players: "Want to hire expert CodeCombat players?" + contact_george: "Contact George to see our candidates" + candidates_count_prefix: "We currently have " + candidates_count_many: "many" + candidates_count_suffix: "highly skilled and vetted developers looking for work." + candidate_name: "Name" + candidate_location: "Location" + candidate_looking_for: "Looking For" + candidate_role: "Role" + candidate_top_skills: "Top Skills" + candidate_years_experience: "Yrs Exp" + candidate_last_updated: "Last Updated" + + play_level: + level_load_error: "Level could not be loaded: " + done: "Done" + grid: "Grid" + customize_wizard: "Customize Wizard" + home: "Home" + guide: "Guide" + multiplayer: "Multiplayer" + restart: "Restart" + goals: "Goals" + action_timeline: "Action Timeline" + click_to_select: "Click on a unit to select it." + reload_title: "Reload All Code?" + reload_really: "Are you sure you want to reload this level back to the beginning?" + reload_confirm: "Reload All" + victory_title_prefix: "" + victory_title_suffix: " Complete" + victory_sign_up: "Sign Up to Save Progress" + victory_sign_up_poke: "Want to save your code? Create a free account!" + victory_rate_the_level: "Rate the level: " + victory_rank_my_game: "Rank My Game" + victory_ranking_game: "Submitting..." + victory_return_to_ladder: "Return to Ladder" + victory_play_next_level: "Play Next Level" + victory_go_home: "Go Home" + victory_review: "Tell us more!" + victory_hour_of_code_done: "Are You Done?" + victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" + multiplayer_title: "Multiplayer Settings" + multiplayer_link_description: "Give this link to anyone to have them join you." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." + multiplayer_coming_soon: "More multiplayer features to come!" + guide_title: "Guide" + tome_minion_spells: "Your Minions' Spells" + tome_read_only_spells: "Read-Only Spells" + tome_other_units: "Other Units" + tome_cast_button_castable: "Cast Spell" + tome_cast_button_casting: "Casting" + tome_cast_button_cast: "Spell Cast" + tome_autocast_delay: "Autocast Delay" + tome_select_spell: "Select a Spell" + tome_select_a_thang: "Select Someone for " + tome_available_spells: "Available Spells" + hud_continue: "Continue (shift+space)" + spell_saved: "Spell Saved" + skip_tutorial: "Skip (esc)" + editor_config: "Editor Config" + editor_config_title: "Editor Configuration" + editor_config_language_label: "Programming Language" + editor_config_language_description: "Define the programming language you want to code in." + editor_config_keybindings_label: "Key Bindings" + editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." + editor_config_invisibles_label: "Show Invisibles" + editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." + editor_config_indentguides_label: "Show Indent Guides" + editor_config_indentguides_description: "Displays vertical lines to see indentation better." + editor_config_behaviors_label: "Smart Behaviors" + editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + loading_ready: "Ready!" + tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." + tip_toggle_play: "Toggle play/paused with Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." + tip_guide_exists: "Click the guide at the top of the page for useful info." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat launched its beta in October, 2013." + tip_js_beginning: "JavaScript is just the beginning." + tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." + think_solution: "Think of the solution, not the problem." + tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" + tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" + tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra" + tip_forums: "Head over to the forums and tell us what you think!" + tip_baby_coders: "In the future, even babies will be Archmages." + tip_morale_improves: "Loading will continue until morale improves." + tip_all_species: "We believe in equal opportunities to learn programming for all species." + tip_reticulating: "Reticulating spines." + tip_harry: "Yer a Wizard, " + tip_great_responsibility: "With great coding skill comes great debug responsibility." + tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep." + tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't." + tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda" + tip_no_try: "Do. Or do not. There is no try. - Yoda" + tip_patience: "Patience you must have, young Padawan. - Yoda" + tip_documented_bug: "A documented bug is not a bug; it is a feature." + tip_impossible: "It always seems impossible until it's done. - Nelson Mandela" + tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" + tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + time_current: "Now:" + time_total: "Max:" + time_goto: "Go to:" + + admin: + av_title: "Admin Views" + av_entities_sub_title: "Entities" + av_entities_users_url: "Users" + av_entities_active_instances_url: "Active Instances" + av_other_sub_title: "Other" + av_other_debug_base_url: "Base (for debugging base.jade)" + u_title: "User List" + lg_title: "Latest Games" + clas: "CLAs" + + editor: + main_title: "CodeCombat Editors" + main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!" + article_title: "Article Editor" + article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns." + thang_title: "Thang Editor" + thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics." + level_title: "Level Editor" + level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!" + security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, " + contact_us: "contact us!" + hipchat_prefix: "You can also find us in our" + hipchat_url: "HipChat room." + back: "Back" + revert: "Revert" + revert_models: "Revert Models" + fork_title: "Fork New Version" + fork_creating: "Creating Fork..." + more: "More" + wiki: "Wiki" + live_chat: "Live Chat" + level_publish: "Publish This Level (irreversible)?" + level_some_options: "Some Options?" + level_tab_thangs: "Thangs" + level_tab_scripts: "Scripts" + level_tab_settings: "Settings" + level_tab_components: "Components" + level_tab_systems: "Systems" + level_tab_thangs_title: "Current Thangs" + level_tab_thangs_all: "All" + level_tab_thangs_conditions: "Starting Conditions" + level_tab_thangs_add: "Add Thangs" + delete: "Delete" + duplicate: "Duplicate" + level_settings_title: "Settings" + level_component_tab_title: "Current Components" + level_component_btn_new: "Create New Component" + level_systems_tab_title: "Current Systems" + level_systems_btn_new: "Create New System" + level_systems_btn_add: "Add System" + level_components_title: "Back to All Thangs" + level_components_type: "Type" + level_component_edit_title: "Edit Component" + level_component_config_schema: "Config Schema" + level_component_settings: "Settings" + level_system_edit_title: "Edit System" + create_system_title: "Create New System" + new_component_title: "Create New Component" + new_component_field_system: "System" + new_article_title: "Create a New Article" + new_thang_title: "Create a New Thang Type" + new_level_title: "Create a New Level" + article_search_title: "Search Articles Here" + thang_search_title: "Search Thang Types Here" + level_search_title: "Search Levels Here" + signup_to_create: "Sign Up to Create a New Content" + read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + + article: + edit_btn_preview: "Preview" + edit_article_title: "Edit Article" + + general: + and: "and" + name: "Name" + body: "Body" + version: "Version" + commit_msg: "Commit Message" + version_history: "Version History" + version_history_for: "Version History for: " + result: "Result" + results: "Results" + description: "Description" + or: "or" + subject: "Subject" + email: "Email" + password: "Password" + message: "Message" + code: "Code" + ladder: "Ladder" + when: "When" + opponent: "Opponent" + rank: "Rank" + score: "Score" + win: "Win" + loss: "Loss" + tie: "Tie" + easy: "Easy" + medium: "Medium" + hard: "Hard" + + about: + who_is_codecombat: "Who is CodeCombat?" + why_codecombat: "Why CodeCombat?" + who_description_prefix: "together started CodeCombat in 2013. We also created " + who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." + who_description_ending: "Now it's time to teach people to write code." + why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." + why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." + why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" + why_paragraph_3_italic: "yay a badge" + why_paragraph_3_center: "but fun like" + why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!" + why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing." + why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age." + why_ending: "And hey, it's free. " + why_ending_url: "Start wizarding now!" + george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere." + scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one." + nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat." + jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy." + michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online." + glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!" + + legal: + page_title: "Legal" + opensource_intro: "CodeCombat is free to play and completely open source." + opensource_description_prefix: "Check out " + github_url: "our GitHub" + opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See " + archmage_wiki_url: "our Archmage wiki" + opensource_description_suffix: "for a list of the software that makes this game possible." + practices_title: "Respectful Best Practices" + practices_description: "These are our promises to you, the player, in slightly less legalese." + privacy_title: "Privacy" + privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent." + security_title: "Security" + security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems." + email_title: "Email" + email_description_prefix: "We will not inundate you with spam. Through" + email_settings_url: "your email settings" + email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time." + cost_title: "Cost" + cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:" + recruitment_title: "Recruitment" + recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizard–not just in the game, but also in real life." + url_hire_programmers: "No one can hire programmers fast enough" + recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you" + recruitment_description_italic: "a lot" + recruitment_description_ending: "the site remains free and everybody's happy. That's the plan." + copyrights_title: "Copyrights and Licenses" + contributor_title: "Contributor License Agreement" + contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our" + cla_url: "CLA" + contributor_description_suffix: "to which you should agree before contributing." + code_title: "Code - MIT" + code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the" + mit_license_url: "MIT license" + code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels." + art_title: "Art/Music - Creative Commons " + art_description_prefix: "All common content is available under the" + cc_license_url: "Creative Commons Attribution 4.0 International License" + art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:" + art_music: "Music" + art_sound: "Sound" + art_artwork: "Artwork" + art_sprites: "Sprites" + art_other: "Any and all other non-code creative works that are made available when creating Levels." + art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible." + art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:" + use_list_1: "If used in a movie or another game, include codecombat.com in the credits." + use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution." + art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any." + rights_title: "Rights Reserved" + rights_desc: "All rights are reserved for Levels themselves. This includes" + rights_scripts: "Scripts" + rights_unit: "Unit configuration" + rights_description: "Description" + rights_writings: "Writings" + rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels." + rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not." + nutshell_title: "In a Nutshell" + nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening." + canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." + + contribute: + page_title: "Contributing" + character_classes_title: "Character Classes" + introduction_desc_intro: "We have high hopes for CodeCombat." + introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " + introduction_desc_github_url: "CodeCombat is totally open source" + introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." + introduction_desc_ending: "We hope you'll join our party!" + introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" + alert_account_message_intro: "Hey there!" + alert_account_message_pref: "To subscribe for class emails, you'll need to " + alert_account_message_suf: "first." + alert_account_message_create_url: "create an account" + archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." + archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever." + class_attributes: "Class Attributes" + archmage_attribute_1_pref: "Knowledge in " + archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax." + archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you." + how_to_join: "How To Join" + join_desc_1: "Anyone can help out! Just check out our " + join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? " + join_desc_3: ", or find us in our " + join_desc_4: "and we'll go from there!" + join_url_email: "Email us" + join_url_hipchat: "public HipChat room" + more_about_archmage: "Learn More About Becoming an Archmage" + archmage_subscribe_desc: "Get emails on new coding opportunities and announcements." + artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to" + artisan_summary_suf: ", then this class is for you." + artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to" + artisan_introduction_suf: ", then this class might be for you." + artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!" + artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix." + artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!" + artisan_join_desc: "Use the Level Editor in these steps, give or take:" + artisan_join_step1: "Read the documentation." + artisan_join_step2: "Create a new level and explore existing levels." + artisan_join_step3: "Find us in our public HipChat room for help." + artisan_join_step4: "Post your levels on the forum for feedback." + more_about_artisan: "Learn More About Becoming an Artisan" + artisan_subscribe_desc: "Get emails on level editor updates and announcements." + adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you." + adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you." + adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though." + adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve." + adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like" + adventurer_forum_url: "our forum" + adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!" + more_about_adventurer: "Learn More About Becoming an Adventurer" + adventurer_subscribe_desc: "Get emails when there are new levels to test." + scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the " + scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you." + scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you." + scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others." + contact_us_url: "Contact us" + scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!" + more_about_scribe: "Learn More About Becoming a Scribe" + scribe_subscribe_desc: "Get emails about article writing announcements." + diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you." + diplomat_introduction_pref: "So, if there's one thing we learned from the " + diplomat_launch_url: "launch in October" + diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you." + diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!" + diplomat_join_pref_github: "Find your language locale file " + diplomat_github_url: "on GitHub" + diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" + more_about_diplomat: "Learn More About Becoming a Diplomat" + diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." + ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you." + ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." + ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!" + ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!" + ambassador_join_note_strong: "Note" + ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" + more_about_ambassador: "Learn More About Becoming an Ambassador" + ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." + counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you." + counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design." + counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you." + counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful." + counselor_attribute_2: "A little bit of free time!" + counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)." + more_about_counselor: "Learn More About Becoming a Counselor" + changes_auto_save: "Changes are saved automatically when you toggle checkboxes." + diligent_scribes: "Our Diligent Scribes:" + powerful_archmages: "Our Powerful Archmages:" + creative_artisans: "Our Creative Artisans:" + brave_adventurers: "Our Brave Adventurers:" + translating_diplomats: "Our Translating Diplomats:" + helpful_ambassadors: "Our Helpful Ambassadors:" + + classes: + archmage_title: "Archmage" + archmage_title_description: "(Coder)" + artisan_title: "Artisan" + artisan_title_description: "(Level Builder)" + adventurer_title: "Adventurer" + adventurer_title_description: "(Level Playtester)" + scribe_title: "Scribe" + scribe_title_description: "(Article Editor)" + diplomat_title: "Diplomat" + diplomat_title_description: "(Translator)" + ambassador_title: "Ambassador" + ambassador_title_description: "(Support)" + counselor_title: "Counselor" + counselor_title_description: "(Expert/Teacher)" + + ladder: + please_login: "Please log in first before playing a ladder game." + my_matches: "My Matches" + simulate: "Simulate" + simulation_explanation: "By simulating games you can get your game ranked faster!" + simulate_games: "Simulate Games!" + simulate_all: "RESET AND SIMULATE GAMES" + games_simulated_by: "Games simulated by you:" + games_simulated_for: "Games simulated for you:" + leaderboard: "Leaderboard" + battle_as: "Battle as " + summary_your: "Your " + summary_matches: "Matches - " + summary_wins: " Wins, " + summary_losses: " Losses" + rank_no_code: "No New Code to Rank" + rank_my_game: "Rank My Game!" + rank_submitting: "Submitting..." + rank_submitted: "Submitted for Ranking" + rank_failed: "Failed to Rank" + rank_being_ranked: "Game Being Ranked" + code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in." + no_ranked_matches_pre: "No ranked matches for the " + no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked." + choose_opponent: "Choose an Opponent" + tutorial_play: "Play Tutorial" + tutorial_recommended: "Recommended if you've never played before" + tutorial_skip: "Skip Tutorial" + tutorial_not_sure: "Not sure what's going on?" + tutorial_play_first: "Play the Tutorial first." + simple_ai: "Simple AI" + warmup: "Warmup" + vs: "VS" + + multiplayer_launch: + introducing_dungeon_arena: "Introducing Dungeon Arena" + new_way: "The new way to compete with code." + to_battle: "To Battle, Developers!" + modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." + arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." + ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" + fork_our_arenas: "fork our arenas" + create_worlds: "and create your own worlds." + javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" + tutorial: "tutorial" + new_to_programming: ". New to programming? Hit our beginner campaign to skill up." + so_ready: "I Am So Ready for This" + + loading_error: + could_not_load: "Error loading from server" + connection_failure: "Connection failed." + unauthorized: "You need to be signed in. Do you have cookies disabled?" + forbidden: "You do not have the permissions." + not_found: "Not found." + not_allowed: "Method not allowed." + timeout: "Server timeout." + conflict: "Resource conflict." + bad_input: "Bad input." + server_error: "Server error." + unknown: "Unknown error." + + resources: + your_sessions: "Your Sessions" + level: "Level" + social_network_apis: "Social Network APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook Friends" + facebook_friend_sessions: "Facebook Friend Sessions" + gplus_friends: "G+ Friends" + gplus_friend_sessions: "G+ Friend Sessions" + leaderboard: "Leaderboard" + user_schema: "User Schema" + user_profile: "User Profile" diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index 8f55469fb..62d86f07f 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -1,664 +1,664 @@ -module.exports = nativeDescription: "Nederlands (Belgi�)", englishDescription: "Dutch (Belgium)", translation: - common: - loading: "Aan het laden..." - saving: "Opslaan..." - sending: "Verzenden..." -# send: "Send" - cancel: "Annuleren" - save: "Opslagen" - create: "Creëer" - delay_1_sec: "1 seconde" - delay_3_sec: "3 secondes" - delay_5_sec: "5 secondes" - manual: "Handleiding" - fork: "Fork" - play: "Spelen" - retry: "Probeer opnieuw" - - units: - second: "seconde" - seconds: "seconden" - minute: "minuut" - minutes: "minuten" - hour: "uur" - hours: "uren" - - modal: - close: "Sluiten" - okay: "Oké" - - not_found: - page_not_found: "Pagina niet gevonden" - - nav: - play: "Levels" - editor: "Editor" - blog: "Blog" - forum: "Forum" - admin: "Administrator" - home: "Home" - contribute: "Bijdragen" - legal: "Legaal" - about: "Over Ons" - contact: "Contact" - twitter_follow: "Volgen" - employers: "Werkgevers" - - versions: - save_version_title: "Nieuwe versie opslagen" - new_major_version: "Nieuwe hoofd versie" -# update_break_level: "(Could this update break old solutions of the level?)" -# update_break_component: "(Could this update break anything depending on this Component?)" -# update_break_system: "(Could this update break anything depending on this System?)" - cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" - cla_url: "CLA" - cla_suffix: "." - cla_agree: "IK GA AKKOORD" - - login: - sign_up: "Account maken" - log_in: "Inloggen" - logging_in: "Bezig met inloggen" - log_out: "Uitloggen" - recover: "account herstellen" - - recover: - recover_account_title: "Herstel Account" - send_password: "Verzend nieuw wachtwoord" - - signup: - create_account_title: "Maak een account aan om je vooruitgang op te slaan" - description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" - email_announcements: "Ontvang aankondigingen via email" - coppa: "13+ of niet uit de VS" - coppa_why: "(Waarom?)" - creating: "Account aanmaken..." - sign_up: "Aanmelden" - log_in: "inloggen met wachtwoord" - - home: - slogan: "Leer programmeren in JavaScript door het spelen van een spel" - no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" - no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" - play: "Speel" - old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" - old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" - campaign: "Campagne" - for_beginners: "Voor Beginners" - multiplayer: "Multiplayer" - for_developers: "Voor ontwikkelaars" - - play: - choose_your_level: "Kies Je Level" - adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op " - adventurer_forum: "het Avonturiersforum" - adventurer_suffix: "." - campaign_beginner: "Beginnercampagne" - campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." - campaign_dev: "Willekeurige moeilijkere levels" - campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." - campaign_multiplayer: "Multiplayer Arena's" - campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt." - campaign_player_created: "Door-spelers-gemaakt" - campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." - level_difficulty: "Moeilijkheidsgraad: " - play_as: "Speel als " - spectate: "Toeschouwen" - - contact: - contact_us: "Contact opnemen met CodeCombat" - welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen." - contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze " - contribute_page: "pagina over bijdragen" - contribute_suffix: "!" - forum_prefix: "Voor iets publiekelijks, probeer dan " - forum_page: "ons forum" - forum_suffix: "." - send: "Feedback Verzonden" -# contact_candidate: "Contact Candidate" -# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." - - diplomat_suggestion: - title: "Help CodeCombat vertalen!" - sub_heading: "We hebben je taalvaardigheden nodig." - pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands." - missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is." - learn_more: "Meer informatie over het zijn van een Diplomaat" - subscribe_as_diplomat: "Abonneren als Diplomaat" - - wizard_settings: - title: "Tovenaar instellingen" - customize_avatar: "Bewerk je avatar" -# active: "Active" -# color: "Color" -# group: "Group" - clothes: "Kleren" - trim: "Trim" - cloud: "Wolk" -# team: "Team" - spell: "Spreuk" - boots: "Laarzen" - hue: "Hue" - saturation: "Saturatie" - lightness: "Helderheid" - - account_settings: - title: "Account Instellingen" - not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." - autosave: "Aanpassingen Automatisch Opgeslagen" - me_tab: "Ik" - picture_tab: "Afbeelding" - wizard_tab: "Tovenaar" - password_tab: "Wachtwoord" - emails_tab: "Emails" - admin: "Administrator" - wizard_color: "Tovenaar Kleding Kleur" - new_password: "Nieuw Wachtwoord" - new_password_verify: "Verifieer" - email_subscriptions: "E-mail Abonnementen" - email_announcements: "Aankondigingen" - email_notifications: "Notificaties" - email_notifications_description: "Krijg periodieke meldingen voor jouw account." - email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." - contributor_emails: "Medewerker Klasse emails" - contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " - contribute_page: "bijdragepagina" - contribute_suffix: " om meer te weten te komen." - email_toggle: "Vink alles aan/af" - error_saving: "Fout Tijdens Het Opslaan" - saved: "Aanpassingen Opgeslagen" - password_mismatch: "Het wachtwoord komt niet overeen." -# job_profile: "Job Profile" -# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." -# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." - - account_profile: - edit_settings: "Instellingen Aanpassen" - profile_for_prefix: "Profiel voor " - profile_for_suffix: "" -# approved: "Approved" -# not_approved: "Not Approved" -# looking_for: "Looking for:" -# last_updated: "Last updated:" -# contact: "Contact" -# work_experience: "Work Experience" -# education: "Education" -# our_notes: "Our Notes" -# projects: "Projects" - -# employers: -# want_to_hire_our_players: "Want to hire expert CodeCombat players?" -# contact_george: "Contact George to see our candidates" -# candidates_count_prefix: "We currently have " -# candidates_count_many: "many" -# candidates_count_suffix: "highly skilled and vetted developers looking for work." -# candidate_name: "Name" -# candidate_location: "Location" -# candidate_looking_for: "Looking For" -# candidate_role: "Role" -# candidate_top_skills: "Top Skills" -# candidate_years_experience: "Yrs Exp" -# candidate_last_updated: "Last Updated" - - play_level: - level_load_error: "Level kon niet geladen worden: " - done: "Klaar" - grid: "Raster" - customize_wizard: "Pas Tovenaar aan" - home: "Home" - guide: "Handleiding" - multiplayer: "Multiplayer" - restart: "Herstarten" - goals: "Doelen" - action_timeline: "Actie tijdlijn" - click_to_select: "Klik op een eenheid om deze te selecteren." - reload_title: "Alle Code Herladen?" - reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" - reload_confirm: "Herlaad Alles" - victory_title_prefix: "" - victory_title_suffix: " Compleet" - victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" - victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" - victory_rate_the_level: "Beoordeel het level: " - victory_rank_my_game: "Rankschik mijn Wedstrijd" - victory_ranking_game: "Verzenden..." - victory_return_to_ladder: "Keer terug naar de ladder" - victory_play_next_level: "Speel Volgend Level" - victory_go_home: "Ga naar Home" - victory_review: "Vertel ons meer!" - victory_hour_of_code_done: "Ben Je Klaar?" - victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" - multiplayer_title: "Multiplayer Instellingen" - multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." - multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" - guide_title: "Handleiding" - tome_minion_spells: "Jouw Minions' Spreuken" - tome_read_only_spells: "Read-Only Spreuken" - tome_other_units: "Andere Eenheden" - tome_cast_button_castable: "Uitvoeren" - tome_cast_button_casting: "Aan het uitvoeren" - tome_cast_button_cast: "Spreuk uitvoeren" - tome_autocast_delay: "Spreuk Uitvoeren vertraging" - tome_select_spell: "Selecteer een Spreuk" - tome_select_a_thang: "Selecteer Iemand voor " - tome_available_spells: "Beschikbare spreuken" - hud_continue: "Ga verder (druk shift-space)" - spell_saved: "Spreuk Opgeslagen" - skip_tutorial: "Overslaan (esc)" - editor_config: "Editor Configuratie" - editor_config_title: "Editor Configuratie" - editor_config_language_label: "Programmeertaal" - editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." - editor_config_keybindings_label: "Toets instellingen" - editor_config_keybindings_default: "Standaard (Ace)" - editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." - editor_config_invisibles_label: "Toon onzichtbare" - editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." - editor_config_indentguides_label: "Toon inspringing regels" - editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." - editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." - loading_ready: "Klaar!" - tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." - tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." - tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." - tip_open_source: "CodeCombat is 100% open source!" - tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." - tip_js_beginning: "JavaScript is nog maar het begin." - tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." - think_solution: "Denk aan de oplossing, niet aan het probleem" - tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" - tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" - tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" - tip_forums: "Ga naar de forums en vertel ons wat je denkt!" - tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." - tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." - tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." -# tip_reticulating: "Reticulating spines." - tip_harry: "Je bent een tovenaar, " - tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." - tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." - tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." - tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" - tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" - tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" - tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." - tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" - tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" - tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" - time_current: "Nu:" - time_total: "Maximum:" - time_goto: "Ga naar:" - - admin: - av_title: "Administrator panels" - av_entities_sub_title: "Entiteiten" - av_entities_users_url: "Gebruikers" - av_entities_active_instances_url: "Actieve instanties" - av_other_sub_title: "Andere" - av_other_debug_base_url: "Base (om base.jade te debuggen)" - u_title: "Gebruikerslijst" - lg_title: "Laatste Spelletjes" - clas: "CLAs" - - editor: - main_title: "CodeCombat Editors" - main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!" - article_title: "Artikel Editor" - article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." - thang_title: "Thang Editor" - thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." - level_title: "Level Editor" - level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" - security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " - contact_us: "contacteer ons!" - hipchat_prefix: "Je kan ons ook vinden in ons" - hipchat_url: "(Engelstalig) HipChat kanaal." -# back: "Back" - revert: "Keer wijziging terug" - revert_models: "keer wijziging model terug" -# fork_title: "Fork New Version" -# fork_creating: "Creating Fork..." -# more: "More" -# wiki: "Wiki" -# live_chat: "Live Chat" -# level_publish: "Publish This Level (irreversible)?" - level_some_options: "Enkele opties?" - level_tab_thangs: "Elementen" - level_tab_scripts: "Scripts" - level_tab_settings: "Instellingen" - level_tab_components: "Componenten" - level_tab_systems: "Systemen" - level_tab_thangs_title: "Huidige Elementen" -# level_tab_thangs_all: "All" - level_tab_thangs_conditions: "Start Condities" - level_tab_thangs_add: "Voeg element toe" -# delete: "Delete" -# duplicate: "Duplicate" - level_settings_title: "Instellingen" - level_component_tab_title: "Huidige Componenten" - level_component_btn_new: "Maak een nieuwe component aan" - level_systems_tab_title: "Huidige Systemen" - level_systems_btn_new: "Maak een nieuw systeem aan" - level_systems_btn_add: "Voeg Systeem toe" - level_components_title: "Terug naar Alle Elementen" - level_components_type: "Type" - level_component_edit_title: "Wijzig Component" - level_component_config_schema: "Schema" - level_component_settings: "Instellingen" - level_system_edit_title: "Wijzig Systeem" - create_system_title: "Maak een nieuw Systeem aan" - new_component_title: "Maak een nieuwe Component aan" - new_component_field_system: "Systeem" - new_article_title: "Maak een Nieuw Artikel" - new_thang_title: "Maak een Nieuw Thang Type" - new_level_title: "Maak een Nieuw Level" - article_search_title: "Zoek Artikels Hier" - thang_search_title: "Zoek Thang Types Hier" - level_search_title: "Zoek Levels Hier" -# signup_to_create: "Sign Up to Create a New Content" - read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." - - article: - edit_btn_preview: "Voorbeeld" - edit_article_title: "Wijzig Artikel" - - general: - and: "en" - name: "Naam" - body: "Inhoud" - version: "Versie" - commit_msg: "Commit Bericht" -# version_history: "Version History" - version_history_for: "Versie geschiedenis voor: " - result: "Resultaat" - results: "Resultaten" - description: "Beschrijving" - or: "of" -# subject: "Subject" - email: "Email" - password: "Wachtwoord" - message: "Bericht" - code: "Code" - ladder: "Ladder" - when: "Wanneer" - opponent: "Tegenstander" - rank: "Rang" - score: "Score" - win: "Win" - loss: "Verlies" - tie: "Gelijkstand" - easy: "Gemakkelijk" - medium: "Medium" - hard: "Moeilijk" - - about: - who_is_codecombat: "Wie is CodeCombat?" - why_codecombat: "Waarom CodeCombat?" - who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " - who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." - who_description_ending: "Nu is het tijd om mensen te leren programmeren." - why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." - why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." - why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" - why_paragraph_3_italic: "joepie een medaille" - why_paragraph_3_center: "maar tof zoals" - why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" - why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." - why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." - why_ending: "En hallo, het is gratis." - why_ending_url: "Start nu met toveren!" - george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs." - scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar." - nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen." - jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy." - michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt." - glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!" - - legal: - page_title: "Legaal" - opensource_intro: "CodeCombat is gratis en volledig open source." - opensource_description_prefix: "Bekijk " - github_url: "onze GitHub" - opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " - archmage_wiki_url: "onze Tovenaar wiki" - opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." - practices_title: "Goede Respectvolle gewoonten" - practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." - privacy_title: "Privacy" - privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." - security_title: "Beveiliging" - security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." - email_title: "E-mail" - email_description_prefix: "We zullen je niet overspoelen met spam. Door" - email_settings_url: "jouw e-mail instellingen" - email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven." - cost_title: "Kosten" - cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:" - recruitment_title: "Aanwervingen" - recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." - url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" - recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" - recruitment_description_italic: "enorm veel" - recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." - copyrights_title: "Auteursrechten en licenties" - contributor_title: "Licentieovereenkomst voor vrijwilligers" - contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze" - cla_url: "CLA" - contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." - code_title: "Code - MIT" - code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" - mit_license_url: "MIT licentie" - code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." - art_title: "Art/Music - Creative Commons " - art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" - cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" - art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" - art_music: "Muziek" - art_sound: "Geluid" - art_artwork: "Illustraties" - art_sprites: "Sprites" - art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." - art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." - art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" - use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." - use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." - art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." - rights_title: "Rechten Voorbehouden" - rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" - rights_scripts: "Scripts" - rights_unit: "Eenheid Configuratie" - rights_description: "Beschrijvingen" - rights_writings: "Literaire werken" - rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels." - rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen." - nutshell_title: "In een notendop" - nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren." - canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang." - - contribute: - page_title: "Bijdragen" - character_classes_title: "Karakterklassen" - introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." - introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " - introduction_desc_github_url: "CodeCombat is volledig open source" - introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." - introduction_desc_ending: "We hopen dat je met ons meedoet!" - introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" - alert_account_message_intro: "Hallo!" - alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " - alert_account_message_suf: "." - alert_account_message_create_url: "een account aanmaken" - archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." - archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." - class_attributes: "Klasse kenmerken" - archmage_attribute_1_pref: "Ervaring met " - archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." - archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." - how_to_join: "Hoe deel te nemen" - join_desc_1: "Iedereen kan helpen! Bekijk onze " - join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " - join_desc_3: ", of vind ons in " - join_desc_4: "en we bekijken het verder vandaar!" - join_url_email: "E-mail ons" - join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" - more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" - archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." - artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" - artisan_summary_suf: ", dan is dit de klasse voor jou." - artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" - artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." - artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" - artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." - artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." - artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" - artisan_join_step1: "Lees de documentatie." - artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." - artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" - artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." - more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." - artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." - adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." - adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." - adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." - adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." - adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" - adventurer_forum_url: "ons forum" - adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" - more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." - adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." - scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " - scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." - scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." - scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." - contact_us_url: "Contacteer ons" - scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" - more_about_scribe: "Leer meer over het worden van een ijverige Klerk." - scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." - diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." - diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " - diplomat_launch_url: "release in oktober" - diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." - diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" - diplomat_join_pref_github: "Vind van jouw taal het locale bestand " - diplomat_github_url: "op GitHub" - diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." - more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" - diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." - ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." - ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" - ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" - ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" - ambassador_join_note_strong: "Opmerking" - ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" - more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" - ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." - counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." - counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design." - counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou." - counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn." - counselor_attribute_2: "Een beetje vrije tijd!" - counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)." - more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever" - changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt." - diligent_scribes: "Onze ijverige Klerks:" - powerful_archmages: "Onze machtige Tovenaars:" - creative_artisans: "Onze creatieve Ambachtslieden:" - brave_adventurers: "Onze dappere Avonturiers:" - translating_diplomats: "Onze vertalende Diplomaten:" - helpful_ambassadors: "Onze behulpzame Ambassadeurs:" - - classes: - archmage_title: "Tovenaar" - archmage_title_description: "(Programmeur)" - artisan_title: "Ambachtsman" - artisan_title_description: "(Level Bouwer)" - adventurer_title: "Avonturier" - adventurer_title_description: "(Level Tester)" - scribe_title: "Klerk" - scribe_title_description: "(Redacteur)" - diplomat_title: "Diplomaat" - diplomat_title_description: "(Vertaler)" - ambassador_title: "Ambassadeur" - ambassador_title_description: "(Ondersteuning)" - counselor_title: "Raadgever" - counselor_title_description: "(Expert/Leraar)" - - ladder: - please_login: "Log alstublieft eerst in voordat u een ladderspel speelt." - my_matches: "Mijn Wedstrijden" - simulate: "Simuleer" - simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" - simulate_games: "Simuleer spellen!" - simulate_all: "RESET EN SIMULEER SPELLEN" - games_simulated_by: "Door jou gesimuleerde spellen:" - games_simulated_for: "Voor jou gesimuleerde spellen:" - leaderboard: "Leaderboard" - battle_as: "Vecht als " - summary_your: "Jouw " - summary_matches: "Wedstrijden - " - summary_wins: " Overwinningen, " - summary_losses: " Nederlagen" - rank_no_code: "Geen nieuwe code om te Beoordelen!" - rank_my_game: "Beoordeel mijn spel!" - rank_submitting: "Verzenden..." - rank_submitted: "Verzonden voor Beoordeling" - rank_failed: "Beoordeling mislukt" - rank_being_ranked: "Spel wordt Beoordeeld" - code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." - no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" - no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." - choose_opponent: "Kies een tegenstander" - tutorial_play: "Speel de Tutorial" - tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" - tutorial_skip: "Sla Tutorial over" - tutorial_not_sure: "Niet zeker wat er aan de hand is?" - tutorial_play_first: "Speel eerst de Tutorial." - simple_ai: "Simpele AI" - warmup: "Opwarming" - vs: "tegen" - - multiplayer_launch: - introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." - to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." - arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." - ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" - fork_our_arenas: "onze arenas forken" - create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" - tutorial: "tutorial" - new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." - so_ready: "Ik ben hier zo klaar voor" - - loading_error: - could_not_load: "Fout bij het laden van de server" - connection_failure: "Verbinding mislukt." - unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" - forbidden: "Je hebt hier geen toestemming voor." - not_found: "Niet gevonden." - not_allowed: "Methode niet toegestaan." - timeout: "Server timeout." - conflict: "Conflict van resources" - bad_input: "Slechte input." - server_error: "Fout van de server." - unknown: "Onbekende fout." - - resources: - your_sessions: "Jouw sessies." - level: "Level" - social_network_apis: "Sociale netwerk APIs" - facebook_status: "Facebook Status" - facebook_friends: "Facebook vrienden" - facebook_friend_sessions: "Sessies van Facebook vrienden" - gplus_friends: "G+ vrienden" - gplus_friend_sessions: "Sessies van G+ vrienden" - leaderboard: "Scorebord" -# user_schema: "User Schema" -# user_profile: "User Profile" +module.exports = nativeDescription: "Nederlands (België)", englishDescription: "Dutch (Belgium)", translation: + common: + loading: "Aan het laden..." + saving: "Opslaan..." + sending: "Verzenden..." +# send: "Send" + cancel: "Annuleren" + save: "Opslagen" + create: "Creëer" + delay_1_sec: "1 seconde" + delay_3_sec: "3 secondes" + delay_5_sec: "5 secondes" + manual: "Handleiding" + fork: "Fork" + play: "Spelen" + retry: "Probeer opnieuw" + + units: + second: "seconde" + seconds: "seconden" + minute: "minuut" + minutes: "minuten" + hour: "uur" + hours: "uren" + + modal: + close: "Sluiten" + okay: "Oké" + + not_found: + page_not_found: "Pagina niet gevonden" + + nav: + play: "Levels" + editor: "Editor" + blog: "Blog" + forum: "Forum" + admin: "Administrator" + home: "Home" + contribute: "Bijdragen" + legal: "Legaal" + about: "Over Ons" + contact: "Contact" + twitter_follow: "Volgen" + employers: "Werkgevers" + + versions: + save_version_title: "Nieuwe versie opslagen" + new_major_version: "Nieuwe hoofd versie" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" + cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" + cla_url: "CLA" + cla_suffix: "." + cla_agree: "IK GA AKKOORD" + + login: + sign_up: "Account maken" + log_in: "Inloggen" + logging_in: "Bezig met inloggen" + log_out: "Uitloggen" + recover: "account herstellen" + + recover: + recover_account_title: "Herstel Account" + send_password: "Verzend nieuw wachtwoord" + + signup: + create_account_title: "Maak een account aan om je vooruitgang op te slaan" + description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" + email_announcements: "Ontvang aankondigingen via email" + coppa: "13+ of niet uit de VS" + coppa_why: "(Waarom?)" + creating: "Account aanmaken..." + sign_up: "Aanmelden" + log_in: "inloggen met wachtwoord" + + home: + slogan: "Leer programmeren in JavaScript door het spelen van een spel" + no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" + no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" + play: "Speel" + old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" + old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" + campaign: "Campagne" + for_beginners: "Voor Beginners" + multiplayer: "Multiplayer" + for_developers: "Voor ontwikkelaars" + + play: + choose_your_level: "Kies Je Level" + adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op " + adventurer_forum: "het Avonturiersforum" + adventurer_suffix: "." + campaign_beginner: "Beginnercampagne" + campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." + campaign_dev: "Willekeurige moeilijkere levels" + campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." + campaign_multiplayer: "Multiplayer Arena's" + campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt." + campaign_player_created: "Door-spelers-gemaakt" + campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." + level_difficulty: "Moeilijkheidsgraad: " + play_as: "Speel als " + spectate: "Toeschouwen" + + contact: + contact_us: "Contact opnemen met CodeCombat" + welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen." + contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze " + contribute_page: "pagina over bijdragen" + contribute_suffix: "!" + forum_prefix: "Voor iets publiekelijks, probeer dan " + forum_page: "ons forum" + forum_suffix: "." + send: "Feedback Verzonden" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." + + diplomat_suggestion: + title: "Help CodeCombat vertalen!" + sub_heading: "We hebben je taalvaardigheden nodig." + pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands." + missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is." + learn_more: "Meer informatie over het zijn van een Diplomaat" + subscribe_as_diplomat: "Abonneren als Diplomaat" + + wizard_settings: + title: "Tovenaar instellingen" + customize_avatar: "Bewerk je avatar" +# active: "Active" +# color: "Color" +# group: "Group" + clothes: "Kleren" + trim: "Trim" + cloud: "Wolk" +# team: "Team" + spell: "Spreuk" + boots: "Laarzen" + hue: "Hue" + saturation: "Saturatie" + lightness: "Helderheid" + + account_settings: + title: "Account Instellingen" + not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." + autosave: "Aanpassingen Automatisch Opgeslagen" + me_tab: "Ik" + picture_tab: "Afbeelding" + wizard_tab: "Tovenaar" + password_tab: "Wachtwoord" + emails_tab: "Emails" + admin: "Administrator" + wizard_color: "Tovenaar Kleding Kleur" + new_password: "Nieuw Wachtwoord" + new_password_verify: "Verifieer" + email_subscriptions: "E-mail Abonnementen" + email_announcements: "Aankondigingen" + email_notifications: "Notificaties" + email_notifications_description: "Krijg periodieke meldingen voor jouw account." + email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." + contributor_emails: "Medewerker Klasse emails" + contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " + contribute_page: "bijdragepagina" + contribute_suffix: " om meer te weten te komen." + email_toggle: "Vink alles aan/af" + error_saving: "Fout Tijdens Het Opslaan" + saved: "Aanpassingen Opgeslagen" + password_mismatch: "Het wachtwoord komt niet overeen." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." + + account_profile: + edit_settings: "Instellingen Aanpassen" + profile_for_prefix: "Profiel voor " + profile_for_suffix: "" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" + + play_level: + level_load_error: "Level kon niet geladen worden: " + done: "Klaar" + grid: "Raster" + customize_wizard: "Pas Tovenaar aan" + home: "Home" + guide: "Handleiding" + multiplayer: "Multiplayer" + restart: "Herstarten" + goals: "Doelen" + action_timeline: "Actie tijdlijn" + click_to_select: "Klik op een eenheid om deze te selecteren." + reload_title: "Alle Code Herladen?" + reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" + reload_confirm: "Herlaad Alles" + victory_title_prefix: "" + victory_title_suffix: " Compleet" + victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" + victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" + victory_rate_the_level: "Beoordeel het level: " + victory_rank_my_game: "Rankschik mijn Wedstrijd" + victory_ranking_game: "Verzenden..." + victory_return_to_ladder: "Keer terug naar de ladder" + victory_play_next_level: "Speel Volgend Level" + victory_go_home: "Ga naar Home" + victory_review: "Vertel ons meer!" + victory_hour_of_code_done: "Ben Je Klaar?" + victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" + multiplayer_title: "Multiplayer Instellingen" + multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." + multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" + guide_title: "Handleiding" + tome_minion_spells: "Jouw Minions' Spreuken" + tome_read_only_spells: "Read-Only Spreuken" + tome_other_units: "Andere Eenheden" + tome_cast_button_castable: "Uitvoeren" + tome_cast_button_casting: "Aan het uitvoeren" + tome_cast_button_cast: "Spreuk uitvoeren" + tome_autocast_delay: "Spreuk Uitvoeren vertraging" + tome_select_spell: "Selecteer een Spreuk" + tome_select_a_thang: "Selecteer Iemand voor " + tome_available_spells: "Beschikbare spreuken" + hud_continue: "Ga verder (druk shift-space)" + spell_saved: "Spreuk Opgeslagen" + skip_tutorial: "Overslaan (esc)" + editor_config: "Editor Configuratie" + editor_config_title: "Editor Configuratie" + editor_config_language_label: "Programmeertaal" + editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." + editor_config_keybindings_label: "Toets instellingen" + editor_config_keybindings_default: "Standaard (Ace)" + editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." + editor_config_invisibles_label: "Toon onzichtbare" + editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." + editor_config_indentguides_label: "Toon inspringing regels" + editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." + editor_config_behaviors_label: "Slim gedrag" + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + loading_ready: "Klaar!" + tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." + tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." + tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." + tip_js_beginning: "JavaScript is nog maar het begin." + tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." + think_solution: "Denk aan de oplossing, niet aan het probleem" + tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" + tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" + tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" + tip_forums: "Ga naar de forums en vertel ons wat je denkt!" + tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." + tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." + tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." +# tip_reticulating: "Reticulating spines." + tip_harry: "Je bent een tovenaar, " + tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." + tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." + tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." + tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" + tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" + tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" + tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." + tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" + tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" + tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" + time_current: "Nu:" + time_total: "Maximum:" + time_goto: "Ga naar:" + + admin: + av_title: "Administrator panels" + av_entities_sub_title: "Entiteiten" + av_entities_users_url: "Gebruikers" + av_entities_active_instances_url: "Actieve instanties" + av_other_sub_title: "Andere" + av_other_debug_base_url: "Base (om base.jade te debuggen)" + u_title: "Gebruikerslijst" + lg_title: "Laatste Spelletjes" + clas: "CLAs" + + editor: + main_title: "CodeCombat Editors" + main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!" + article_title: "Artikel Editor" + article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." + thang_title: "Thang Editor" + thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." + level_title: "Level Editor" + level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" + security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " + contact_us: "contacteer ons!" + hipchat_prefix: "Je kan ons ook vinden in ons" + hipchat_url: "(Engelstalig) HipChat kanaal." +# back: "Back" + revert: "Keer wijziging terug" + revert_models: "keer wijziging model terug" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" + level_some_options: "Enkele opties?" + level_tab_thangs: "Elementen" + level_tab_scripts: "Scripts" + level_tab_settings: "Instellingen" + level_tab_components: "Componenten" + level_tab_systems: "Systemen" + level_tab_thangs_title: "Huidige Elementen" +# level_tab_thangs_all: "All" + level_tab_thangs_conditions: "Start Condities" + level_tab_thangs_add: "Voeg element toe" +# delete: "Delete" +# duplicate: "Duplicate" + level_settings_title: "Instellingen" + level_component_tab_title: "Huidige Componenten" + level_component_btn_new: "Maak een nieuwe component aan" + level_systems_tab_title: "Huidige Systemen" + level_systems_btn_new: "Maak een nieuw systeem aan" + level_systems_btn_add: "Voeg Systeem toe" + level_components_title: "Terug naar Alle Elementen" + level_components_type: "Type" + level_component_edit_title: "Wijzig Component" + level_component_config_schema: "Schema" + level_component_settings: "Instellingen" + level_system_edit_title: "Wijzig Systeem" + create_system_title: "Maak een nieuw Systeem aan" + new_component_title: "Maak een nieuwe Component aan" + new_component_field_system: "Systeem" + new_article_title: "Maak een Nieuw Artikel" + new_thang_title: "Maak een Nieuw Thang Type" + new_level_title: "Maak een Nieuw Level" + article_search_title: "Zoek Artikels Hier" + thang_search_title: "Zoek Thang Types Hier" + level_search_title: "Zoek Levels Hier" +# signup_to_create: "Sign Up to Create a New Content" + read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." + + article: + edit_btn_preview: "Voorbeeld" + edit_article_title: "Wijzig Artikel" + + general: + and: "en" + name: "Naam" + body: "Inhoud" + version: "Versie" + commit_msg: "Commit Bericht" +# version_history: "Version History" + version_history_for: "Versie geschiedenis voor: " + result: "Resultaat" + results: "Resultaten" + description: "Beschrijving" + or: "of" +# subject: "Subject" + email: "Email" + password: "Wachtwoord" + message: "Bericht" + code: "Code" + ladder: "Ladder" + when: "Wanneer" + opponent: "Tegenstander" + rank: "Rang" + score: "Score" + win: "Win" + loss: "Verlies" + tie: "Gelijkstand" + easy: "Gemakkelijk" + medium: "Medium" + hard: "Moeilijk" + + about: + who_is_codecombat: "Wie is CodeCombat?" + why_codecombat: "Waarom CodeCombat?" + who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " + who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." + who_description_ending: "Nu is het tijd om mensen te leren programmeren." + why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." + why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." + why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" + why_paragraph_3_italic: "joepie een medaille" + why_paragraph_3_center: "maar tof zoals" + why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" + why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." + why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." + why_ending: "En hallo, het is gratis." + why_ending_url: "Start nu met toveren!" + george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs." + scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar." + nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen." + jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy." + michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt." + glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!" + + legal: + page_title: "Legaal" + opensource_intro: "CodeCombat is gratis en volledig open source." + opensource_description_prefix: "Bekijk " + github_url: "onze GitHub" + opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " + archmage_wiki_url: "onze Tovenaar wiki" + opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." + practices_title: "Goede Respectvolle gewoonten" + practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." + privacy_title: "Privacy" + privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." + security_title: "Beveiliging" + security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." + email_title: "E-mail" + email_description_prefix: "We zullen je niet overspoelen met spam. Door" + email_settings_url: "jouw e-mail instellingen" + email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven." + cost_title: "Kosten" + cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:" + recruitment_title: "Aanwervingen" + recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." + url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" + recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" + recruitment_description_italic: "enorm veel" + recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." + copyrights_title: "Auteursrechten en licenties" + contributor_title: "Licentieovereenkomst voor vrijwilligers" + contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze" + cla_url: "CLA" + contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." + code_title: "Code - MIT" + code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" + mit_license_url: "MIT licentie" + code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." + art_title: "Art/Music - Creative Commons " + art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" + cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" + art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" + art_music: "Muziek" + art_sound: "Geluid" + art_artwork: "Illustraties" + art_sprites: "Sprites" + art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." + art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." + art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" + use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." + use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." + art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." + rights_title: "Rechten Voorbehouden" + rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" + rights_scripts: "Scripts" + rights_unit: "Eenheid Configuratie" + rights_description: "Beschrijvingen" + rights_writings: "Literaire werken" + rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels." + rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen." + nutshell_title: "In een notendop" + nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren." + canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang." + + contribute: + page_title: "Bijdragen" + character_classes_title: "Karakterklassen" + introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." + introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " + introduction_desc_github_url: "CodeCombat is volledig open source" + introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." + introduction_desc_ending: "We hopen dat je met ons meedoet!" + introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" + alert_account_message_intro: "Hallo!" + alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " + alert_account_message_suf: "." + alert_account_message_create_url: "een account aanmaken" + archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." + archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." + class_attributes: "Klasse kenmerken" + archmage_attribute_1_pref: "Ervaring met " + archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." + archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." + how_to_join: "Hoe deel te nemen" + join_desc_1: "Iedereen kan helpen! Bekijk onze " + join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " + join_desc_3: ", of vind ons in " + join_desc_4: "en we bekijken het verder vandaar!" + join_url_email: "E-mail ons" + join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" + more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" + archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." + artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" + artisan_summary_suf: ", dan is dit de klasse voor jou." + artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" + artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." + artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" + artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." + artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." + artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" + artisan_join_step1: "Lees de documentatie." + artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." + artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" + artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." + more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." + artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." + adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." + adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." + adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" + adventurer_forum_url: "ons forum" + adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" + more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." + adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." + scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " + scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." + scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." + scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." + contact_us_url: "Contacteer ons" + scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" + more_about_scribe: "Leer meer over het worden van een ijverige Klerk." + scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." + diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." + diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " + diplomat_launch_url: "release in oktober" + diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." + diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" + diplomat_join_pref_github: "Vind van jouw taal het locale bestand " + diplomat_github_url: "op GitHub" + diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." + more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" + diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." + ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." + ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" + ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" + ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" + ambassador_join_note_strong: "Opmerking" + ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" + more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" + ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." + counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." + counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design." + counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou." + counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn." + counselor_attribute_2: "Een beetje vrije tijd!" + counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)." + more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever" + changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt." + diligent_scribes: "Onze ijverige Klerks:" + powerful_archmages: "Onze machtige Tovenaars:" + creative_artisans: "Onze creatieve Ambachtslieden:" + brave_adventurers: "Onze dappere Avonturiers:" + translating_diplomats: "Onze vertalende Diplomaten:" + helpful_ambassadors: "Onze behulpzame Ambassadeurs:" + + classes: + archmage_title: "Tovenaar" + archmage_title_description: "(Programmeur)" + artisan_title: "Ambachtsman" + artisan_title_description: "(Level Bouwer)" + adventurer_title: "Avonturier" + adventurer_title_description: "(Level Tester)" + scribe_title: "Klerk" + scribe_title_description: "(Redacteur)" + diplomat_title: "Diplomaat" + diplomat_title_description: "(Vertaler)" + ambassador_title: "Ambassadeur" + ambassador_title_description: "(Ondersteuning)" + counselor_title: "Raadgever" + counselor_title_description: "(Expert/Leraar)" + + ladder: + please_login: "Log alstublieft eerst in voordat u een ladderspel speelt." + my_matches: "Mijn Wedstrijden" + simulate: "Simuleer" + simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" + simulate_games: "Simuleer spellen!" + simulate_all: "RESET EN SIMULEER SPELLEN" + games_simulated_by: "Door jou gesimuleerde spellen:" + games_simulated_for: "Voor jou gesimuleerde spellen:" + leaderboard: "Leaderboard" + battle_as: "Vecht als " + summary_your: "Jouw " + summary_matches: "Wedstrijden - " + summary_wins: " Overwinningen, " + summary_losses: " Nederlagen" + rank_no_code: "Geen nieuwe code om te Beoordelen!" + rank_my_game: "Beoordeel mijn spel!" + rank_submitting: "Verzenden..." + rank_submitted: "Verzonden voor Beoordeling" + rank_failed: "Beoordeling mislukt" + rank_being_ranked: "Spel wordt Beoordeeld" + code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." + no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" + no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." + choose_opponent: "Kies een tegenstander" + tutorial_play: "Speel de Tutorial" + tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" + tutorial_skip: "Sla Tutorial over" + tutorial_not_sure: "Niet zeker wat er aan de hand is?" + tutorial_play_first: "Speel eerst de Tutorial." + simple_ai: "Simpele AI" + warmup: "Opwarming" + vs: "tegen" + + multiplayer_launch: + introducing_dungeon_arena: "Introductie van Dungeon Arena" + new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." + to_battle: "Naar het slagveld, ontwikkelaars!" + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." + ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" + fork_our_arenas: "onze arenas forken" + create_worlds: "en jouw eigen werelden creëren." + javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" + tutorial: "tutorial" + new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." + so_ready: "Ik ben hier zo klaar voor" + + loading_error: + could_not_load: "Fout bij het laden van de server" + connection_failure: "Verbinding mislukt." + unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" + forbidden: "Je hebt hier geen toestemming voor." + not_found: "Niet gevonden." + not_allowed: "Methode niet toegestaan." + timeout: "Server timeout." + conflict: "Conflict van resources" + bad_input: "Slechte input." + server_error: "Fout van de server." + unknown: "Onbekende fout." + + resources: + your_sessions: "Jouw sessies." + level: "Level" + social_network_apis: "Sociale netwerk APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook vrienden" + facebook_friend_sessions: "Sessies van Facebook vrienden" + gplus_friends: "G+ vrienden" + gplus_friend_sessions: "Sessies van G+ vrienden" + leaderboard: "Scorebord" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index 6d52e9b04..2182cc359 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -1,664 +1,664 @@ -module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: - common: - loading: "Aan het laden..." - saving: "Opslaan..." - sending: "Verzenden..." -# send: "Send" - cancel: "Annuleren" - save: "Opslagen" - create: "Creëer" - delay_1_sec: "1 seconde" - delay_3_sec: "3 secondes" - delay_5_sec: "5 secondes" - manual: "Handleiding" - fork: "Fork" - play: "Spelen" - retry: "Probeer opnieuw" - - units: - second: "seconde" - seconds: "seconden" - minute: "minuut" - minutes: "minuten" - hour: "uur" - hours: "uren" - - modal: - close: "Sluiten" - okay: "Oké" - - not_found: - page_not_found: "Pagina niet gevonden" - - nav: - play: "Levels" - editor: "Editor" - blog: "Blog" - forum: "Forum" - admin: "Administrator" - home: "Home" - contribute: "Bijdragen" - legal: "Legaal" - about: "Over Ons" - contact: "Contact" - twitter_follow: "Volgen" - employers: "Werkgevers" - - versions: - save_version_title: "Nieuwe versie opslagen" - new_major_version: "Nieuwe hoofd versie" -# update_break_level: "(Could this update break old solutions of the level?)" -# update_break_component: "(Could this update break anything depending on this Component?)" -# update_break_system: "(Could this update break anything depending on this System?)" - cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" - cla_url: "CLA" - cla_suffix: "." - cla_agree: "IK GA AKKOORD" - - login: - sign_up: "Account maken" - log_in: "Inloggen" - logging_in: "Bezig met inloggen" - log_out: "Uitloggen" - recover: "account herstellen" - - recover: - recover_account_title: "Herstel Account" - send_password: "Verzend nieuw wachtwoord" - - signup: - create_account_title: "Maak een account aan om je vooruitgang op te slaan" - description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" - email_announcements: "Ontvang aankondigingen via email" - coppa: "13+ of niet uit de VS" - coppa_why: "(Waarom?)" - creating: "Account aanmaken..." - sign_up: "Aanmelden" - log_in: "inloggen met wachtwoord" - - home: - slogan: "Leer programmeren in JavaScript door het spelen van een spel" - no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" - no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" - play: "Speel" - old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" - old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" - campaign: "Campagne" - for_beginners: "Voor Beginners" - multiplayer: "Multiplayer" - for_developers: "Voor ontwikkelaars" - - play: - choose_your_level: "Kies Je Level" - adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op " - adventurer_forum: "het Avonturiersforum" - adventurer_suffix: "." - campaign_beginner: "Beginnercampagne" - campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." - campaign_dev: "Willekeurige moeilijkere levels" - campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." - campaign_multiplayer: "Multiplayer Arena's" - campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt." - campaign_player_created: "Door-spelers-gemaakt" - campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." - level_difficulty: "Moeilijkheidsgraad: " - play_as: "Speel als " - spectate: "Toeschouwen" - - contact: - contact_us: "Contact opnemen met CodeCombat" - welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen." - contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze " - contribute_page: "pagina over bijdragen" - contribute_suffix: "!" - forum_prefix: "Voor iets publiekelijks, probeer dan " - forum_page: "ons forum" - forum_suffix: "." - send: "Feedback Verzonden" -# contact_candidate: "Contact Candidate" -# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." - - diplomat_suggestion: - title: "Help CodeCombat vertalen!" - sub_heading: "We hebben je taalvaardigheden nodig." - pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands." - missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is." - learn_more: "Meer informatie over het zijn van een Diplomaat" - subscribe_as_diplomat: "Abonneren als Diplomaat" - - wizard_settings: - title: "Tovenaar instellingen" - customize_avatar: "Bewerk je avatar" -# active: "Active" -# color: "Color" -# group: "Group" - clothes: "Kleren" - trim: "Trim" - cloud: "Wolk" -# team: "Team" - spell: "Spreuk" - boots: "Laarzen" - hue: "Hue" - saturation: "Saturatie" - lightness: "Helderheid" - - account_settings: - title: "Account Instellingen" - not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." - autosave: "Aanpassingen Automatisch Opgeslagen" - me_tab: "Ik" - picture_tab: "Afbeelding" - wizard_tab: "Tovenaar" - password_tab: "Wachtwoord" - emails_tab: "Emails" - admin: "Administrator" - wizard_color: "Tovenaar Kleding Kleur" - new_password: "Nieuw Wachtwoord" - new_password_verify: "Verifieer" - email_subscriptions: "E-mail Abonnementen" - email_announcements: "Aankondigingen" - email_notifications: "Notificaties" - email_notifications_description: "Krijg periodieke meldingen voor jouw account." - email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." - contributor_emails: "Medewerker Klasse emails" - contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " - contribute_page: "bijdragepagina" - contribute_suffix: " om meer te weten te komen." - email_toggle: "Vink alles aan/af" - error_saving: "Fout Tijdens Het Opslaan" - saved: "Aanpassingen Opgeslagen" - password_mismatch: "Het wachtwoord komt niet overeen." -# job_profile: "Job Profile" -# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." -# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." - - account_profile: - edit_settings: "Instellingen Aanpassen" - profile_for_prefix: "Profiel voor " - profile_for_suffix: "" -# approved: "Approved" -# not_approved: "Not Approved" -# looking_for: "Looking for:" -# last_updated: "Last updated:" -# contact: "Contact" -# work_experience: "Work Experience" -# education: "Education" -# our_notes: "Our Notes" -# projects: "Projects" - -# employers: -# want_to_hire_our_players: "Want to hire expert CodeCombat players?" -# contact_george: "Contact George to see our candidates" -# candidates_count_prefix: "We currently have " -# candidates_count_many: "many" -# candidates_count_suffix: "highly skilled and vetted developers looking for work." -# candidate_name: "Name" -# candidate_location: "Location" -# candidate_looking_for: "Looking For" -# candidate_role: "Role" -# candidate_top_skills: "Top Skills" -# candidate_years_experience: "Yrs Exp" -# candidate_last_updated: "Last Updated" - - play_level: - level_load_error: "Level kon niet geladen worden: " - done: "Klaar" - grid: "Raster" - customize_wizard: "Pas Tovenaar aan" - home: "Home" - guide: "Handleiding" - multiplayer: "Multiplayer" - restart: "Herstarten" - goals: "Doelen" - action_timeline: "Actie tijdlijn" - click_to_select: "Klik op een eenheid om deze te selecteren." - reload_title: "Alle Code Herladen?" - reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" - reload_confirm: "Herlaad Alles" - victory_title_prefix: "" - victory_title_suffix: " Compleet" - victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" - victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" - victory_rate_the_level: "Beoordeel het level: " - victory_rank_my_game: "Rankschik mijn Wedstrijd" - victory_ranking_game: "Verzenden..." - victory_return_to_ladder: "Keer terug naar de ladder" - victory_play_next_level: "Speel Volgend Level" - victory_go_home: "Ga naar Home" - victory_review: "Vertel ons meer!" - victory_hour_of_code_done: "Ben Je Klaar?" - victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" - multiplayer_title: "Multiplayer Instellingen" - multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." - multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" - guide_title: "Handleiding" - tome_minion_spells: "Jouw Minions' Spreuken" - tome_read_only_spells: "Read-Only Spreuken" - tome_other_units: "Andere Eenheden" - tome_cast_button_castable: "Uitvoeren" - tome_cast_button_casting: "Aan het uitvoeren" - tome_cast_button_cast: "Spreuk uitvoeren" - tome_autocast_delay: "Spreuk Uitvoeren vertraging" - tome_select_spell: "Selecteer een Spreuk" - tome_select_a_thang: "Selecteer Iemand voor " - tome_available_spells: "Beschikbare spreuken" - hud_continue: "Ga verder (druk shift-space)" - spell_saved: "Spreuk Opgeslagen" - skip_tutorial: "Overslaan (esc)" - editor_config: "Editor Configuratie" - editor_config_title: "Editor Configuratie" - editor_config_language_label: "Programmeertaal" - editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." - editor_config_keybindings_label: "Toets instellingen" - editor_config_keybindings_default: "Standaard (Ace)" - editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." - editor_config_invisibles_label: "Toon onzichtbare" - editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." - editor_config_indentguides_label: "Toon inspringing regels" - editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." - editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." - loading_ready: "Klaar!" - tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." - tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." - tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." - tip_open_source: "CodeCombat is 100% open source!" - tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." - tip_js_beginning: "JavaScript is nog maar het begin." - tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." - think_solution: "Denk aan de oplossing, niet aan het probleem" - tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" - tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" - tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" - tip_forums: "Ga naar de forums en vertel ons wat je denkt!" - tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." - tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." - tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." -# tip_reticulating: "Reticulating spines." - tip_harry: "Je bent een tovenaar, " - tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." - tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." - tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." - tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" - tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" - tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" - tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." - tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" - tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" - tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" - time_current: "Nu:" - time_total: "Maximum:" - time_goto: "Ga naar:" - - admin: - av_title: "Administrator panels" - av_entities_sub_title: "Entiteiten" - av_entities_users_url: "Gebruikers" - av_entities_active_instances_url: "Actieve instanties" - av_other_sub_title: "Andere" - av_other_debug_base_url: "Base (om base.jade te debuggen)" - u_title: "Gebruikerslijst" - lg_title: "Laatste Spelletjes" - clas: "CLAs" - - editor: - main_title: "CodeCombat Editors" - main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!" - article_title: "Artikel Editor" - article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." - thang_title: "Thang Editor" - thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." - level_title: "Level Editor" - level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" - security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " - contact_us: "contacteer ons!" - hipchat_prefix: "Je kan ons ook vinden in ons" - hipchat_url: "(Engelstalig) HipChat kanaal." -# back: "Back" - revert: "Keer wijziging terug" - revert_models: "keer wijziging model terug" -# fork_title: "Fork New Version" -# fork_creating: "Creating Fork..." -# more: "More" -# wiki: "Wiki" -# live_chat: "Live Chat" -# level_publish: "Publish This Level (irreversible)?" - level_some_options: "Enkele opties?" - level_tab_thangs: "Elementen" - level_tab_scripts: "Scripts" - level_tab_settings: "Instellingen" - level_tab_components: "Componenten" - level_tab_systems: "Systemen" - level_tab_thangs_title: "Huidige Elementen" -# level_tab_thangs_all: "All" - level_tab_thangs_conditions: "Start Condities" - level_tab_thangs_add: "Voeg element toe" -# delete: "Delete" -# duplicate: "Duplicate" - level_settings_title: "Instellingen" - level_component_tab_title: "Huidige Componenten" - level_component_btn_new: "Maak een nieuwe component aan" - level_systems_tab_title: "Huidige Systemen" - level_systems_btn_new: "Maak een nieuw systeem aan" - level_systems_btn_add: "Voeg Systeem toe" - level_components_title: "Terug naar Alle Elementen" - level_components_type: "Type" - level_component_edit_title: "Wijzig Component" - level_component_config_schema: "Schema" - level_component_settings: "Instellingen" - level_system_edit_title: "Wijzig Systeem" - create_system_title: "Maak een nieuw Systeem aan" - new_component_title: "Maak een nieuwe Component aan" - new_component_field_system: "Systeem" - new_article_title: "Maak een Nieuw Artikel" - new_thang_title: "Maak een Nieuw Thang Type" - new_level_title: "Maak een Nieuw Level" - article_search_title: "Zoek Artikels Hier" - thang_search_title: "Zoek Thang Types Hier" - level_search_title: "Zoek Levels Hier" -# signup_to_create: "Sign Up to Create a New Content" -# read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." - - article: - edit_btn_preview: "Voorbeeld" - edit_article_title: "Wijzig Artikel" - - general: - and: "en" - name: "Naam" - body: "Inhoud" - version: "Versie" - commit_msg: "Commit Bericht" -# version_history: "Version History" - version_history_for: "Versie geschiedenis voor: " - result: "Resultaat" - results: "Resultaten" - description: "Beschrijving" - or: "of" -# subject: "Subject" - email: "Email" - password: "Wachtwoord" - message: "Bericht" - code: "Code" - ladder: "Ladder" - when: "Wanneer" - opponent: "Tegenstander" - rank: "Rang" - score: "Score" - win: "Win" - loss: "Verlies" - tie: "Gelijkstand" - easy: "Gemakkelijk" - medium: "Medium" - hard: "Moeilijk" - - about: - who_is_codecombat: "Wie is CodeCombat?" - why_codecombat: "Waarom CodeCombat?" - who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " - who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." - who_description_ending: "Nu is het tijd om mensen te leren programmeren." - why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." - why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." - why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" - why_paragraph_3_italic: "joepie een medaille" - why_paragraph_3_center: "maar tof zoals" - why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" - why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." - why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." - why_ending: "En hallo, het is gratis." - why_ending_url: "Start nu met toveren!" - george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs." - scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar." - nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen." - jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy." - michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt." - glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!" - - legal: - page_title: "Legaal" - opensource_intro: "CodeCombat is gratis en volledig open source." - opensource_description_prefix: "Bekijk " - github_url: "onze GitHub" - opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " - archmage_wiki_url: "onze Tovenaar wiki" - opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." - practices_title: "Goede Respectvolle gewoonten" - practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." - privacy_title: "Privacy" - privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." - security_title: "Beveiliging" - security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." - email_title: "E-mail" - email_description_prefix: "We zullen je niet overspoelen met spam. Door" - email_settings_url: "jouw e-mail instellingen" - email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven." - cost_title: "Kosten" - cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:" - recruitment_title: "Aanwervingen" - recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." - url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" - recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" - recruitment_description_italic: "enorm veel" - recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." - copyrights_title: "Auteursrechten en licenties" - contributor_title: "Licentieovereenkomst voor vrijwilligers" - contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze" - cla_url: "CLA" - contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." - code_title: "Code - MIT" - code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" - mit_license_url: "MIT licentie" - code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." - art_title: "Art/Music - Creative Commons " - art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" - cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" - art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" - art_music: "Muziek" - art_sound: "Geluid" - art_artwork: "Illustraties" - art_sprites: "Sprites" - art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." - art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." - art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" - use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." - use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." - art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." - rights_title: "Rechten Voorbehouden" - rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" - rights_scripts: "Scripts" - rights_unit: "Eenheid Configuratie" - rights_description: "Beschrijvingen" - rights_writings: "Literaire werken" - rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels." - rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen." - nutshell_title: "In een notendop" - nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren." - canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang." - - contribute: - page_title: "Bijdragen" - character_classes_title: "Karakterklassen" - introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." - introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " - introduction_desc_github_url: "CodeCombat is volledig open source" - introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." - introduction_desc_ending: "We hopen dat je met ons meedoet!" - introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" - alert_account_message_intro: "Hallo!" - alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " - alert_account_message_suf: "." - alert_account_message_create_url: "een account aanmaken" - archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." - archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." - class_attributes: "Klasse kenmerken" - archmage_attribute_1_pref: "Ervaring met " - archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." - archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." - how_to_join: "Hoe deel te nemen" - join_desc_1: "Iedereen kan helpen! Bekijk onze " - join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " - join_desc_3: ", of vind ons in " - join_desc_4: "en we bekijken het verder vandaar!" - join_url_email: "E-mail ons" - join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" - more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" - archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." - artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" - artisan_summary_suf: ", dan is dit de klasse voor jou." - artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" - artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." - artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" - artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." - artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." - artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" - artisan_join_step1: "Lees de documentatie." - artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." - artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" - artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." - more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." - artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." - adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." - adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." - adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." - adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." - adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" - adventurer_forum_url: "ons forum" - adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" - more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." - adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." - scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " - scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." - scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." - scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." - contact_us_url: "Contacteer ons" - scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" - more_about_scribe: "Leer meer over het worden van een ijverige Klerk." - scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." - diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." - diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " - diplomat_launch_url: "release in oktober" - diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." - diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" - diplomat_join_pref_github: "Vind van jouw taal het locale bestand " - diplomat_github_url: "op GitHub" - diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." - more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" - diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." - ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." - ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" - ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" - ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" - ambassador_join_note_strong: "Opmerking" - ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" - more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" - ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." - counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." - counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design." - counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou." - counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn." - counselor_attribute_2: "Een beetje vrije tijd!" - counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)." - more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever" - changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt." - diligent_scribes: "Onze ijverige Klerks:" - powerful_archmages: "Onze machtige Tovenaars:" - creative_artisans: "Onze creatieve Ambachtslieden:" - brave_adventurers: "Onze dappere Avonturiers:" - translating_diplomats: "Onze vertalende Diplomaten:" - helpful_ambassadors: "Onze behulpzame Ambassadeurs:" - - classes: - archmage_title: "Tovenaar" - archmage_title_description: "(Programmeur)" - artisan_title: "Ambachtsman" - artisan_title_description: "(Level Bouwer)" - adventurer_title: "Avonturier" - adventurer_title_description: "(Level Tester)" - scribe_title: "Klerk" - scribe_title_description: "(Redacteur)" - diplomat_title: "Diplomaat" - diplomat_title_description: "(Vertaler)" - ambassador_title: "Ambassadeur" - ambassador_title_description: "(Ondersteuning)" - counselor_title: "Raadgever" - counselor_title_description: "(Expert/Leraar)" - - ladder: - please_login: "Log alstublieft eerst in voordat u een ladderspel speelt." - my_matches: "Mijn Wedstrijden" - simulate: "Simuleer" - simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" - simulate_games: "Simuleer spellen!" - simulate_all: "RESET EN SIMULEER SPELLEN" - games_simulated_by: "Door jou gesimuleerde spellen:" - games_simulated_for: "Voor jou gesimuleerde spellen:" - leaderboard: "Leaderboard" - battle_as: "Vecht als " - summary_your: "Jouw " - summary_matches: "Wedstrijden - " - summary_wins: " Overwinningen, " - summary_losses: " Nederlagen" - rank_no_code: "Geen nieuwe code om te Beoordelen!" - rank_my_game: "Beoordeel mijn spel!" - rank_submitting: "Verzenden..." - rank_submitted: "Verzonden voor Beoordeling" - rank_failed: "Beoordeling mislukt" - rank_being_ranked: "Spel wordt Beoordeeld" - code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." - no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" - no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." - choose_opponent: "Kies een tegenstander" - tutorial_play: "Speel de Tutorial" - tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" - tutorial_skip: "Sla Tutorial over" - tutorial_not_sure: "Niet zeker wat er aan de hand is?" - tutorial_play_first: "Speel eerst de Tutorial." - simple_ai: "Simpele AI" - warmup: "Opwarming" - vs: "tegen" - - multiplayer_launch: - introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." - to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." - arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." - ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" - fork_our_arenas: "onze arenas forken" - create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" - tutorial: "tutorial" - new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." - so_ready: "Ik ben hier zo klaar voor" - - loading_error: - could_not_load: "Fout bij het laden van de server" - connection_failure: "Verbinding mislukt." - unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" - forbidden: "Je hebt hier geen toestemming voor." - not_found: "Niet gevonden." - not_allowed: "Methode niet toegestaan." - timeout: "Server timeout." - conflict: "Conflict van resources" - bad_input: "Slechte input." - server_error: "Fout van de server." - unknown: "Onbekende fout." - - resources: - your_sessions: "Jouw sessies." - level: "Level" - social_network_apis: "Sociale netwerk APIs" - facebook_status: "Facebook Status" - facebook_friends: "Facebook vrienden" - facebook_friend_sessions: "Sessies van Facebook vrienden" - gplus_friends: "G+ vrienden" - gplus_friend_sessions: "Sessies van G+ vrienden" - leaderboard: "Scorebord" -# user_schema: "User Schema" -# user_profile: "User Profile" +module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: + common: + loading: "Aan het laden..." + saving: "Opslaan..." + sending: "Verzenden..." +# send: "Send" + cancel: "Annuleren" + save: "Opslagen" + create: "Creëer" + delay_1_sec: "1 seconde" + delay_3_sec: "3 secondes" + delay_5_sec: "5 secondes" + manual: "Handleiding" + fork: "Fork" + play: "Spelen" + retry: "Probeer opnieuw" + + units: + second: "seconde" + seconds: "seconden" + minute: "minuut" + minutes: "minuten" + hour: "uur" + hours: "uren" + + modal: + close: "Sluiten" + okay: "Oké" + + not_found: + page_not_found: "Pagina niet gevonden" + + nav: + play: "Levels" + editor: "Editor" + blog: "Blog" + forum: "Forum" + admin: "Administrator" + home: "Home" + contribute: "Bijdragen" + legal: "Legaal" + about: "Over Ons" + contact: "Contact" + twitter_follow: "Volgen" + employers: "Werkgevers" + + versions: + save_version_title: "Nieuwe versie opslagen" + new_major_version: "Nieuwe hoofd versie" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" + cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" + cla_url: "CLA" + cla_suffix: "." + cla_agree: "IK GA AKKOORD" + + login: + sign_up: "Account maken" + log_in: "Inloggen" + logging_in: "Bezig met inloggen" + log_out: "Uitloggen" + recover: "account herstellen" + + recover: + recover_account_title: "Herstel Account" + send_password: "Verzend nieuw wachtwoord" + + signup: + create_account_title: "Maak een account aan om je vooruitgang op te slaan" + description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" + email_announcements: "Ontvang aankondigingen via email" + coppa: "13+ of niet uit de VS" + coppa_why: "(Waarom?)" + creating: "Account aanmaken..." + sign_up: "Aanmelden" + log_in: "inloggen met wachtwoord" + + home: + slogan: "Leer programmeren in JavaScript door het spelen van een spel" + no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" + no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" + play: "Speel" + old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" + old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" + campaign: "Campagne" + for_beginners: "Voor Beginners" + multiplayer: "Multiplayer" + for_developers: "Voor ontwikkelaars" + + play: + choose_your_level: "Kies Je Level" + adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op " + adventurer_forum: "het Avonturiersforum" + adventurer_suffix: "." + campaign_beginner: "Beginnercampagne" + campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." + campaign_dev: "Willekeurige moeilijkere levels" + campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." + campaign_multiplayer: "Multiplayer Arena's" + campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt." + campaign_player_created: "Door-spelers-gemaakt" + campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." + level_difficulty: "Moeilijkheidsgraad: " + play_as: "Speel als " + spectate: "Toeschouwen" + + contact: + contact_us: "Contact opnemen met CodeCombat" + welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen." + contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze " + contribute_page: "pagina over bijdragen" + contribute_suffix: "!" + forum_prefix: "Voor iets publiekelijks, probeer dan " + forum_page: "ons forum" + forum_suffix: "." + send: "Feedback Verzonden" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." + + diplomat_suggestion: + title: "Help CodeCombat vertalen!" + sub_heading: "We hebben je taalvaardigheden nodig." + pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands." + missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is." + learn_more: "Meer informatie over het zijn van een Diplomaat" + subscribe_as_diplomat: "Abonneren als Diplomaat" + + wizard_settings: + title: "Tovenaar instellingen" + customize_avatar: "Bewerk je avatar" +# active: "Active" +# color: "Color" +# group: "Group" + clothes: "Kleren" + trim: "Trim" + cloud: "Wolk" +# team: "Team" + spell: "Spreuk" + boots: "Laarzen" + hue: "Hue" + saturation: "Saturatie" + lightness: "Helderheid" + + account_settings: + title: "Account Instellingen" + not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." + autosave: "Aanpassingen Automatisch Opgeslagen" + me_tab: "Ik" + picture_tab: "Afbeelding" + wizard_tab: "Tovenaar" + password_tab: "Wachtwoord" + emails_tab: "Emails" + admin: "Administrator" + wizard_color: "Tovenaar Kleding Kleur" + new_password: "Nieuw Wachtwoord" + new_password_verify: "Verifieer" + email_subscriptions: "E-mail Abonnementen" + email_announcements: "Aankondigingen" + email_notifications: "Notificaties" + email_notifications_description: "Krijg periodieke meldingen voor jouw account." + email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." + contributor_emails: "Medewerker Klasse emails" + contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " + contribute_page: "bijdragepagina" + contribute_suffix: " om meer te weten te komen." + email_toggle: "Vink alles aan/af" + error_saving: "Fout Tijdens Het Opslaan" + saved: "Aanpassingen Opgeslagen" + password_mismatch: "Het wachtwoord komt niet overeen." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." + + account_profile: + edit_settings: "Instellingen Aanpassen" + profile_for_prefix: "Profiel voor " + profile_for_suffix: "" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" + + play_level: + level_load_error: "Level kon niet geladen worden: " + done: "Klaar" + grid: "Raster" + customize_wizard: "Pas Tovenaar aan" + home: "Home" + guide: "Handleiding" + multiplayer: "Multiplayer" + restart: "Herstarten" + goals: "Doelen" + action_timeline: "Actie tijdlijn" + click_to_select: "Klik op een eenheid om deze te selecteren." + reload_title: "Alle Code Herladen?" + reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" + reload_confirm: "Herlaad Alles" + victory_title_prefix: "" + victory_title_suffix: " Compleet" + victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" + victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" + victory_rate_the_level: "Beoordeel het level: " + victory_rank_my_game: "Rankschik mijn Wedstrijd" + victory_ranking_game: "Verzenden..." + victory_return_to_ladder: "Keer terug naar de ladder" + victory_play_next_level: "Speel Volgend Level" + victory_go_home: "Ga naar Home" + victory_review: "Vertel ons meer!" + victory_hour_of_code_done: "Ben Je Klaar?" + victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" + multiplayer_title: "Multiplayer Instellingen" + multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." + multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" + guide_title: "Handleiding" + tome_minion_spells: "Jouw Minions' Spreuken" + tome_read_only_spells: "Read-Only Spreuken" + tome_other_units: "Andere Eenheden" + tome_cast_button_castable: "Uitvoeren" + tome_cast_button_casting: "Aan het uitvoeren" + tome_cast_button_cast: "Spreuk uitvoeren" + tome_autocast_delay: "Spreuk Uitvoeren vertraging" + tome_select_spell: "Selecteer een Spreuk" + tome_select_a_thang: "Selecteer Iemand voor " + tome_available_spells: "Beschikbare spreuken" + hud_continue: "Ga verder (druk shift-space)" + spell_saved: "Spreuk Opgeslagen" + skip_tutorial: "Overslaan (esc)" + editor_config: "Editor Configuratie" + editor_config_title: "Editor Configuratie" + editor_config_language_label: "Programmeertaal" + editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." + editor_config_keybindings_label: "Toets instellingen" + editor_config_keybindings_default: "Standaard (Ace)" + editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." + editor_config_invisibles_label: "Toon onzichtbare" + editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." + editor_config_indentguides_label: "Toon inspringing regels" + editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." + editor_config_behaviors_label: "Slim gedrag" + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + loading_ready: "Klaar!" + tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." + tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." + tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." + tip_js_beginning: "JavaScript is nog maar het begin." + tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." + think_solution: "Denk aan de oplossing, niet aan het probleem" + tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" + tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" + tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" + tip_forums: "Ga naar de forums en vertel ons wat je denkt!" + tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." + tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." + tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." +# tip_reticulating: "Reticulating spines." + tip_harry: "Je bent een tovenaar, " + tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." + tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." + tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." + tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" + tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" + tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" + tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." + tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" + tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" + tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" + time_current: "Nu:" + time_total: "Maximum:" + time_goto: "Ga naar:" + + admin: + av_title: "Administrator panels" + av_entities_sub_title: "Entiteiten" + av_entities_users_url: "Gebruikers" + av_entities_active_instances_url: "Actieve instanties" + av_other_sub_title: "Andere" + av_other_debug_base_url: "Base (om base.jade te debuggen)" + u_title: "Gebruikerslijst" + lg_title: "Laatste Spelletjes" + clas: "CLAs" + + editor: + main_title: "CodeCombat Editors" + main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!" + article_title: "Artikel Editor" + article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." + thang_title: "Thang Editor" + thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." + level_title: "Level Editor" + level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" + security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " + contact_us: "contacteer ons!" + hipchat_prefix: "Je kan ons ook vinden in ons" + hipchat_url: "(Engelstalig) HipChat kanaal." +# back: "Back" + revert: "Keer wijziging terug" + revert_models: "keer wijziging model terug" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" + level_some_options: "Enkele opties?" + level_tab_thangs: "Elementen" + level_tab_scripts: "Scripts" + level_tab_settings: "Instellingen" + level_tab_components: "Componenten" + level_tab_systems: "Systemen" + level_tab_thangs_title: "Huidige Elementen" +# level_tab_thangs_all: "All" + level_tab_thangs_conditions: "Start Condities" + level_tab_thangs_add: "Voeg element toe" +# delete: "Delete" +# duplicate: "Duplicate" + level_settings_title: "Instellingen" + level_component_tab_title: "Huidige Componenten" + level_component_btn_new: "Maak een nieuwe component aan" + level_systems_tab_title: "Huidige Systemen" + level_systems_btn_new: "Maak een nieuw systeem aan" + level_systems_btn_add: "Voeg Systeem toe" + level_components_title: "Terug naar Alle Elementen" + level_components_type: "Type" + level_component_edit_title: "Wijzig Component" + level_component_config_schema: "Schema" + level_component_settings: "Instellingen" + level_system_edit_title: "Wijzig Systeem" + create_system_title: "Maak een nieuw Systeem aan" + new_component_title: "Maak een nieuwe Component aan" + new_component_field_system: "Systeem" + new_article_title: "Maak een Nieuw Artikel" + new_thang_title: "Maak een Nieuw Thang Type" + new_level_title: "Maak een Nieuw Level" + article_search_title: "Zoek Artikels Hier" + thang_search_title: "Zoek Thang Types Hier" + level_search_title: "Zoek Levels Hier" +# signup_to_create: "Sign Up to Create a New Content" +# read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." + + article: + edit_btn_preview: "Voorbeeld" + edit_article_title: "Wijzig Artikel" + + general: + and: "en" + name: "Naam" + body: "Inhoud" + version: "Versie" + commit_msg: "Commit Bericht" +# version_history: "Version History" + version_history_for: "Versie geschiedenis voor: " + result: "Resultaat" + results: "Resultaten" + description: "Beschrijving" + or: "of" +# subject: "Subject" + email: "Email" + password: "Wachtwoord" + message: "Bericht" + code: "Code" + ladder: "Ladder" + when: "Wanneer" + opponent: "Tegenstander" + rank: "Rang" + score: "Score" + win: "Win" + loss: "Verlies" + tie: "Gelijkstand" + easy: "Gemakkelijk" + medium: "Medium" + hard: "Moeilijk" + + about: + who_is_codecombat: "Wie is CodeCombat?" + why_codecombat: "Waarom CodeCombat?" + who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " + who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." + who_description_ending: "Nu is het tijd om mensen te leren programmeren." + why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." + why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." + why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" + why_paragraph_3_italic: "joepie een medaille" + why_paragraph_3_center: "maar tof zoals" + why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" + why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." + why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." + why_ending: "En hallo, het is gratis." + why_ending_url: "Start nu met toveren!" + george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs." + scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar." + nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen." + jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy." + michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt." + glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!" + + legal: + page_title: "Legaal" + opensource_intro: "CodeCombat is gratis en volledig open source." + opensource_description_prefix: "Bekijk " + github_url: "onze GitHub" + opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " + archmage_wiki_url: "onze Tovenaar wiki" + opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." + practices_title: "Goede Respectvolle gewoonten" + practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." + privacy_title: "Privacy" + privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." + security_title: "Beveiliging" + security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." + email_title: "E-mail" + email_description_prefix: "We zullen je niet overspoelen met spam. Door" + email_settings_url: "jouw e-mail instellingen" + email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven." + cost_title: "Kosten" + cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:" + recruitment_title: "Aanwervingen" + recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." + url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" + recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" + recruitment_description_italic: "enorm veel" + recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." + copyrights_title: "Auteursrechten en licenties" + contributor_title: "Licentieovereenkomst voor vrijwilligers" + contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze" + cla_url: "CLA" + contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." + code_title: "Code - MIT" + code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" + mit_license_url: "MIT licentie" + code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." + art_title: "Art/Music - Creative Commons " + art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" + cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" + art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" + art_music: "Muziek" + art_sound: "Geluid" + art_artwork: "Illustraties" + art_sprites: "Sprites" + art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." + art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." + art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" + use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." + use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." + art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." + rights_title: "Rechten Voorbehouden" + rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" + rights_scripts: "Scripts" + rights_unit: "Eenheid Configuratie" + rights_description: "Beschrijvingen" + rights_writings: "Literaire werken" + rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels." + rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen." + nutshell_title: "In een notendop" + nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren." + canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang." + + contribute: + page_title: "Bijdragen" + character_classes_title: "Karakterklassen" + introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." + introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " + introduction_desc_github_url: "CodeCombat is volledig open source" + introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." + introduction_desc_ending: "We hopen dat je met ons meedoet!" + introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" + alert_account_message_intro: "Hallo!" + alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " + alert_account_message_suf: "." + alert_account_message_create_url: "een account aanmaken" + archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." + archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." + class_attributes: "Klasse kenmerken" + archmage_attribute_1_pref: "Ervaring met " + archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." + archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." + how_to_join: "Hoe deel te nemen" + join_desc_1: "Iedereen kan helpen! Bekijk onze " + join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " + join_desc_3: ", of vind ons in " + join_desc_4: "en we bekijken het verder vandaar!" + join_url_email: "E-mail ons" + join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" + more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" + archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." + artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" + artisan_summary_suf: ", dan is dit de klasse voor jou." + artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" + artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." + artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" + artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." + artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." + artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" + artisan_join_step1: "Lees de documentatie." + artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." + artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" + artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." + more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." + artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." + adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." + adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." + adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" + adventurer_forum_url: "ons forum" + adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" + more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." + adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." + scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " + scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." + scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." + scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." + contact_us_url: "Contacteer ons" + scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" + more_about_scribe: "Leer meer over het worden van een ijverige Klerk." + scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." + diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." + diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " + diplomat_launch_url: "release in oktober" + diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." + diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" + diplomat_join_pref_github: "Vind van jouw taal het locale bestand " + diplomat_github_url: "op GitHub" + diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." + more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" + diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." + ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." + ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" + ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" + ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" + ambassador_join_note_strong: "Opmerking" + ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" + more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" + ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." + counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." + counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design." + counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou." + counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn." + counselor_attribute_2: "Een beetje vrije tijd!" + counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)." + more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever" + changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt." + diligent_scribes: "Onze ijverige Klerks:" + powerful_archmages: "Onze machtige Tovenaars:" + creative_artisans: "Onze creatieve Ambachtslieden:" + brave_adventurers: "Onze dappere Avonturiers:" + translating_diplomats: "Onze vertalende Diplomaten:" + helpful_ambassadors: "Onze behulpzame Ambassadeurs:" + + classes: + archmage_title: "Tovenaar" + archmage_title_description: "(Programmeur)" + artisan_title: "Ambachtsman" + artisan_title_description: "(Level Bouwer)" + adventurer_title: "Avonturier" + adventurer_title_description: "(Level Tester)" + scribe_title: "Klerk" + scribe_title_description: "(Redacteur)" + diplomat_title: "Diplomaat" + diplomat_title_description: "(Vertaler)" + ambassador_title: "Ambassadeur" + ambassador_title_description: "(Ondersteuning)" + counselor_title: "Raadgever" + counselor_title_description: "(Expert/Leraar)" + + ladder: + please_login: "Log alstublieft eerst in voordat u een ladderspel speelt." + my_matches: "Mijn Wedstrijden" + simulate: "Simuleer" + simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" + simulate_games: "Simuleer spellen!" + simulate_all: "RESET EN SIMULEER SPELLEN" + games_simulated_by: "Door jou gesimuleerde spellen:" + games_simulated_for: "Voor jou gesimuleerde spellen:" + leaderboard: "Leaderboard" + battle_as: "Vecht als " + summary_your: "Jouw " + summary_matches: "Wedstrijden - " + summary_wins: " Overwinningen, " + summary_losses: " Nederlagen" + rank_no_code: "Geen nieuwe code om te Beoordelen!" + rank_my_game: "Beoordeel mijn spel!" + rank_submitting: "Verzenden..." + rank_submitted: "Verzonden voor Beoordeling" + rank_failed: "Beoordeling mislukt" + rank_being_ranked: "Spel wordt Beoordeeld" + code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." + no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" + no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." + choose_opponent: "Kies een tegenstander" + tutorial_play: "Speel de Tutorial" + tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" + tutorial_skip: "Sla Tutorial over" + tutorial_not_sure: "Niet zeker wat er aan de hand is?" + tutorial_play_first: "Speel eerst de Tutorial." + simple_ai: "Simpele AI" + warmup: "Opwarming" + vs: "tegen" + + multiplayer_launch: + introducing_dungeon_arena: "Introductie van Dungeon Arena" + new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." + to_battle: "Naar het slagveld, ontwikkelaars!" + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." + ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" + fork_our_arenas: "onze arenas forken" + create_worlds: "en jouw eigen werelden creëren." + javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" + tutorial: "tutorial" + new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." + so_ready: "Ik ben hier zo klaar voor" + + loading_error: + could_not_load: "Fout bij het laden van de server" + connection_failure: "Verbinding mislukt." + unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" + forbidden: "Je hebt hier geen toestemming voor." + not_found: "Niet gevonden." + not_allowed: "Methode niet toegestaan." + timeout: "Server timeout." + conflict: "Conflict van resources" + bad_input: "Slechte input." + server_error: "Fout van de server." + unknown: "Onbekende fout." + + resources: + your_sessions: "Jouw sessies." + level: "Level" + social_network_apis: "Sociale netwerk APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook vrienden" + facebook_friend_sessions: "Sessies van Facebook vrienden" + gplus_friends: "G+ vrienden" + gplus_friend_sessions: "Sessies van G+ vrienden" + leaderboard: "Scorebord" +# user_schema: "User Schema" +# user_profile: "User Profile" diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index cd332bb12..5f890ed8d 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -1,664 +1,664 @@ -module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", translation: - common: - loading: "Aan het laden..." - saving: "Opslaan..." - sending: "Verzenden..." -# send: "Send" - cancel: "Annuleren" - save: "Opslagen" - create: "Creëer" - delay_1_sec: "1 seconde" - delay_3_sec: "3 secondes" - delay_5_sec: "5 secondes" - manual: "Handleiding" - fork: "Fork" - play: "Spelen" - retry: "Probeer opnieuw" - - units: - second: "seconde" - seconds: "seconden" - minute: "minuut" - minutes: "minuten" - hour: "uur" - hours: "uren" - - modal: - close: "Sluiten" - okay: "Oké" - - not_found: - page_not_found: "Pagina niet gevonden" - - nav: - play: "Levels" - editor: "Editor" - blog: "Blog" - forum: "Forum" - admin: "Administrator" - home: "Home" - contribute: "Bijdragen" - legal: "Legaal" - about: "Over Ons" - contact: "Contact" - twitter_follow: "Volgen" - employers: "Werkgevers" - - versions: - save_version_title: "Nieuwe versie opslagen" - new_major_version: "Nieuwe hoofd versie" -# update_break_level: "(Could this update break old solutions of the level?)" -# update_break_component: "(Could this update break anything depending on this Component?)" -# update_break_system: "(Could this update break anything depending on this System?)" - cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" - cla_url: "CLA" - cla_suffix: "." - cla_agree: "IK GA AKKOORD" - - login: - sign_up: "Account maken" - log_in: "Inloggen" - logging_in: "Bezig met inloggen" - log_out: "Uitloggen" - recover: "account herstellen" - - recover: - recover_account_title: "Herstel Account" - send_password: "Verzend nieuw wachtwoord" - - signup: - create_account_title: "Maak een account aan om je vooruitgang op te slaan" - description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" - email_announcements: "Ontvang aankondigingen via email" - coppa: "13+ of niet uit de VS" - coppa_why: "(Waarom?)" - creating: "Account aanmaken..." - sign_up: "Aanmelden" - log_in: "inloggen met wachtwoord" - - home: - slogan: "Leer programmeren in JavaScript door het spelen van een spel" - no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" - no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" - play: "Speel" - old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" - old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" - campaign: "Campagne" - for_beginners: "Voor Beginners" - multiplayer: "Multiplayer" - for_developers: "Voor ontwikkelaars" - - play: - choose_your_level: "Kies Je Level" - adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op " - adventurer_forum: "het Avonturiersforum" - adventurer_suffix: "." - campaign_beginner: "Beginnercampagne" - campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." - campaign_dev: "Willekeurige moeilijkere levels" - campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." - campaign_multiplayer: "Multiplayer Arena's" - campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt." - campaign_player_created: "Door-spelers-gemaakt" - campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." - level_difficulty: "Moeilijkheidsgraad: " - play_as: "Speel als " - spectate: "Toeschouwen" - - contact: - contact_us: "Contact opnemen met CodeCombat" - welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen." - contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze " - contribute_page: "pagina over bijdragen" - contribute_suffix: "!" - forum_prefix: "Voor iets publiekelijks, probeer dan " - forum_page: "ons forum" - forum_suffix: "." - send: "Feedback Verzonden" -# contact_candidate: "Contact Candidate" -# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." - - diplomat_suggestion: - title: "Help CodeCombat vertalen!" - sub_heading: "We hebben je taalvaardigheden nodig." - pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands." - missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is." - learn_more: "Meer informatie over het zijn van een Diplomaat" - subscribe_as_diplomat: "Abonneren als Diplomaat" - - wizard_settings: - title: "Tovenaar instellingen" - customize_avatar: "Bewerk je avatar" -# active: "Active" -# color: "Color" -# group: "Group" - clothes: "Kleren" - trim: "Trim" - cloud: "Wolk" -# team: "Team" - spell: "Spreuk" - boots: "Laarzen" - hue: "Hue" - saturation: "Saturatie" - lightness: "Helderheid" - - account_settings: - title: "Account Instellingen" - not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." - autosave: "Aanpassingen Automatisch Opgeslagen" - me_tab: "Ik" - picture_tab: "Afbeelding" - wizard_tab: "Tovenaar" - password_tab: "Wachtwoord" - emails_tab: "Emails" - admin: "Administrator" - wizard_color: "Tovenaar Kleding Kleur" - new_password: "Nieuw Wachtwoord" - new_password_verify: "Verifieer" - email_subscriptions: "E-mail Abonnementen" - email_announcements: "Aankondigingen" - email_notifications: "Notificaties" - email_notifications_description: "Krijg periodieke meldingen voor jouw account." - email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." - contributor_emails: "Medewerker Klasse emails" - contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " - contribute_page: "bijdragepagina" - contribute_suffix: " om meer te weten te komen." - email_toggle: "Vink alles aan/af" - error_saving: "Fout Tijdens Het Opslaan" - saved: "Aanpassingen Opgeslagen" - password_mismatch: "Het wachtwoord komt niet overeen." -# job_profile: "Job Profile" -# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." -# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." - - account_profile: - edit_settings: "Instellingen Aanpassen" - profile_for_prefix: "Profiel voor " - profile_for_suffix: "" -# approved: "Approved" -# not_approved: "Not Approved" -# looking_for: "Looking for:" -# last_updated: "Last updated:" -# contact: "Contact" -# work_experience: "Work Experience" -# education: "Education" -# our_notes: "Our Notes" -# projects: "Projects" - -# employers: -# want_to_hire_our_players: "Want to hire expert CodeCombat players?" -# contact_george: "Contact George to see our candidates" -# candidates_count_prefix: "We currently have " -# candidates_count_many: "many" -# candidates_count_suffix: "highly skilled and vetted developers looking for work." -# candidate_name: "Name" -# candidate_location: "Location" -# candidate_looking_for: "Looking For" -# candidate_role: "Role" -# candidate_top_skills: "Top Skills" -# candidate_years_experience: "Yrs Exp" -# candidate_last_updated: "Last Updated" - - play_level: - level_load_error: "Level kon niet geladen worden: " - done: "Klaar" - grid: "Raster" - customize_wizard: "Pas Tovenaar aan" - home: "Home" - guide: "Handleiding" - multiplayer: "Multiplayer" - restart: "Herstarten" - goals: "Doelen" - action_timeline: "Actie tijdlijn" - click_to_select: "Klik op een eenheid om deze te selecteren." - reload_title: "Alle Code Herladen?" - reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" - reload_confirm: "Herlaad Alles" - victory_title_prefix: "" - victory_title_suffix: " Compleet" - victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" - victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" - victory_rate_the_level: "Beoordeel het level: " - victory_rank_my_game: "Rankschik mijn Wedstrijd" - victory_ranking_game: "Verzenden..." - victory_return_to_ladder: "Keer terug naar de ladder" - victory_play_next_level: "Speel Volgend Level" - victory_go_home: "Ga naar Home" - victory_review: "Vertel ons meer!" - victory_hour_of_code_done: "Ben Je Klaar?" - victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" - multiplayer_title: "Multiplayer Instellingen" - multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." - multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" - guide_title: "Handleiding" - tome_minion_spells: "Jouw Minions' Spreuken" - tome_read_only_spells: "Read-Only Spreuken" - tome_other_units: "Andere Eenheden" - tome_cast_button_castable: "Uitvoeren" - tome_cast_button_casting: "Aan het uitvoeren" - tome_cast_button_cast: "Spreuk uitvoeren" - tome_autocast_delay: "Spreuk Uitvoeren vertraging" - tome_select_spell: "Selecteer een Spreuk" - tome_select_a_thang: "Selecteer Iemand voor " - tome_available_spells: "Beschikbare spreuken" - hud_continue: "Ga verder (druk shift-space)" - spell_saved: "Spreuk Opgeslagen" - skip_tutorial: "Overslaan (esc)" - editor_config: "Editor Configuratie" - editor_config_title: "Editor Configuratie" - editor_config_language_label: "Programmeertaal" - editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." - editor_config_keybindings_label: "Toets instellingen" - editor_config_keybindings_default: "Standaard (Ace)" - editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." - editor_config_invisibles_label: "Toon onzichtbare" - editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." - editor_config_indentguides_label: "Toon inspringing regels" - editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." - editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." - loading_ready: "Klaar!" - tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." - tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." - tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." - tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." - tip_open_source: "CodeCombat is 100% open source!" - tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." - tip_js_beginning: "JavaScript is nog maar het begin." - tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." - think_solution: "Denk aan de oplossing, niet aan het probleem" - tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" - tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" - tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" - tip_forums: "Ga naar de forums en vertel ons wat je denkt!" - tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." - tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." - tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." -# tip_reticulating: "Reticulating spines." - tip_harry: "Je bent een tovenaar, " - tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." - tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." - tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." - tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" - tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" - tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" - tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." - tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" - tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" - tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" - time_current: "Nu:" - time_total: "Maximum:" - time_goto: "Ga naar:" - - admin: - av_title: "Administrator panels" - av_entities_sub_title: "Entiteiten" - av_entities_users_url: "Gebruikers" - av_entities_active_instances_url: "Actieve instanties" - av_other_sub_title: "Andere" - av_other_debug_base_url: "Base (om base.jade te debuggen)" - u_title: "Gebruikerslijst" - lg_title: "Laatste Spelletjes" - clas: "CLAs" - - editor: - main_title: "CodeCombat Editors" - main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!" - article_title: "Artikel Editor" - article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." - thang_title: "Thang Editor" - thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." - level_title: "Level Editor" - level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" - security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " - contact_us: "contacteer ons!" - hipchat_prefix: "Je kan ons ook vinden in ons" - hipchat_url: "(Engelstalig) HipChat kanaal." -# back: "Back" - revert: "Keer wijziging terug" - revert_models: "keer wijziging model terug" -# fork_title: "Fork New Version" -# fork_creating: "Creating Fork..." -# more: "More" -# wiki: "Wiki" -# live_chat: "Live Chat" -# level_publish: "Publish This Level (irreversible)?" - level_some_options: "Enkele opties?" - level_tab_thangs: "Elementen" - level_tab_scripts: "Scripts" - level_tab_settings: "Instellingen" - level_tab_components: "Componenten" - level_tab_systems: "Systemen" - level_tab_thangs_title: "Huidige Elementen" -# level_tab_thangs_all: "All" - level_tab_thangs_conditions: "Start Condities" - level_tab_thangs_add: "Voeg element toe" -# delete: "Delete" -# duplicate: "Duplicate" - level_settings_title: "Instellingen" - level_component_tab_title: "Huidige Componenten" - level_component_btn_new: "Maak een nieuwe component aan" - level_systems_tab_title: "Huidige Systemen" - level_systems_btn_new: "Maak een nieuw systeem aan" - level_systems_btn_add: "Voeg Systeem toe" - level_components_title: "Terug naar Alle Elementen" - level_components_type: "Type" - level_component_edit_title: "Wijzig Component" - level_component_config_schema: "Schema" - level_component_settings: "Instellingen" - level_system_edit_title: "Wijzig Systeem" - create_system_title: "Maak een nieuw Systeem aan" - new_component_title: "Maak een nieuwe Component aan" - new_component_field_system: "Systeem" - new_article_title: "Maak een Nieuw Artikel" - new_thang_title: "Maak een Nieuw Thang Type" - new_level_title: "Maak een Nieuw Level" - article_search_title: "Zoek Artikels Hier" - thang_search_title: "Zoek Thang Types Hier" - level_search_title: "Zoek Levels Hier" -# signup_to_create: "Sign Up to Create a New Content" - read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." - - article: - edit_btn_preview: "Voorbeeld" - edit_article_title: "Wijzig Artikel" - - general: - and: "en" - name: "Naam" - body: "Inhoud" - version: "Versie" - commit_msg: "Commit Bericht" -# version_history: "Version History" - version_history_for: "Versie geschiedenis voor: " - result: "Resultaat" - results: "Resultaten" - description: "Beschrijving" - or: "of" -# subject: "Subject" - email: "Email" - password: "Wachtwoord" - message: "Bericht" - code: "Code" - ladder: "Ladder" - when: "Wanneer" - opponent: "Tegenstander" - rank: "Rang" - score: "Score" - win: "Win" - loss: "Verlies" - tie: "Gelijkstand" - easy: "Gemakkelijk" - medium: "Medium" - hard: "Moeilijk" - - about: - who_is_codecombat: "Wie is CodeCombat?" - why_codecombat: "Waarom CodeCombat?" - who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " - who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." - who_description_ending: "Nu is het tijd om mensen te leren programmeren." - why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." - why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." - why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" - why_paragraph_3_italic: "joepie een medaille" - why_paragraph_3_center: "maar tof zoals" - why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" - why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." - why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." - why_ending: "En hallo, het is gratis." - why_ending_url: "Start nu met toveren!" - george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs." - scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar." - nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen." - jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy." - michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt." - glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!" - - legal: - page_title: "Legaal" - opensource_intro: "CodeCombat is gratis en volledig open source." - opensource_description_prefix: "Bekijk " - github_url: "onze GitHub" - opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " - archmage_wiki_url: "onze Tovenaar wiki" - opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." - practices_title: "Goede Respectvolle gewoonten" - practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." - privacy_title: "Privacy" - privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." - security_title: "Beveiliging" - security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." - email_title: "E-mail" - email_description_prefix: "We zullen je niet overspoelen met spam. Door" - email_settings_url: "jouw e-mail instellingen" - email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven." - cost_title: "Kosten" - cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:" - recruitment_title: "Aanwervingen" - recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." - url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" - recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" - recruitment_description_italic: "enorm veel" - recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." - copyrights_title: "Auteursrechten en licenties" - contributor_title: "Licentieovereenkomst voor vrijwilligers" - contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze" - cla_url: "CLA" - contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." - code_title: "Code - MIT" - code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" - mit_license_url: "MIT licentie" - code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." - art_title: "Art/Music - Creative Commons " - art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" - cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" - art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" - art_music: "Muziek" - art_sound: "Geluid" - art_artwork: "Illustraties" - art_sprites: "Sprites" - art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." - art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." - art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" - use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." - use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." - art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." - rights_title: "Rechten Voorbehouden" - rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" - rights_scripts: "Scripts" - rights_unit: "Eenheid Configuratie" - rights_description: "Beschrijvingen" - rights_writings: "Literaire werken" - rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels." - rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen." - nutshell_title: "In een notendop" - nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren." - canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang." - - contribute: - page_title: "Bijdragen" - character_classes_title: "Karakterklassen" - introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." - introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " - introduction_desc_github_url: "CodeCombat is volledig open source" - introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." - introduction_desc_ending: "We hopen dat je met ons meedoet!" - introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" - alert_account_message_intro: "Hallo!" - alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " - alert_account_message_suf: "." - alert_account_message_create_url: "een account aanmaken" - archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." - archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." - class_attributes: "Klasse kenmerken" - archmage_attribute_1_pref: "Ervaring met " - archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." - archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." - how_to_join: "Hoe deel te nemen" - join_desc_1: "Iedereen kan helpen! Bekijk onze " - join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " - join_desc_3: ", of vind ons in " - join_desc_4: "en we bekijken het verder vandaar!" - join_url_email: "E-mail ons" - join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" - more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" - archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." - artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" - artisan_summary_suf: ", dan is dit de klasse voor jou." - artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" - artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." - artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" - artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." - artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." - artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" - artisan_join_step1: "Lees de documentatie." - artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." - artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" - artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." - more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." - artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." - adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." - adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." - adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." - adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." - adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" - adventurer_forum_url: "ons forum" - adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" - more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." - adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." - scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " - scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." - scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " - scribe_introduction_url_mozilla: "Mozilla Developer Network" - scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." - scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." - contact_us_url: "Contacteer ons" - scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" - more_about_scribe: "Leer meer over het worden van een ijverige Klerk." - scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." - diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." - diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " - diplomat_launch_url: "release in oktober" - diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." - diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" - diplomat_join_pref_github: "Vind van jouw taal het locale bestand " - diplomat_github_url: "op GitHub" - diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." - more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" - diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." - ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." - ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" - ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" - ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" - ambassador_join_note_strong: "Opmerking" - ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" - more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" - ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." - counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." - counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design." - counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou." - counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn." - counselor_attribute_2: "Een beetje vrije tijd!" - counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)." - more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever" - changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt." - diligent_scribes: "Onze ijverige Klerks:" - powerful_archmages: "Onze machtige Tovenaars:" - creative_artisans: "Onze creatieve Ambachtslieden:" - brave_adventurers: "Onze dappere Avonturiers:" - translating_diplomats: "Onze vertalende Diplomaten:" - helpful_ambassadors: "Onze behulpzame Ambassadeurs:" - - classes: - archmage_title: "Tovenaar" - archmage_title_description: "(Programmeur)" - artisan_title: "Ambachtsman" - artisan_title_description: "(Level Bouwer)" - adventurer_title: "Avonturier" - adventurer_title_description: "(Level Tester)" - scribe_title: "Klerk" - scribe_title_description: "(Redacteur)" - diplomat_title: "Diplomaat" - diplomat_title_description: "(Vertaler)" - ambassador_title: "Ambassadeur" - ambassador_title_description: "(Ondersteuning)" - counselor_title: "Raadgever" - counselor_title_description: "(Expert/Leraar)" - - ladder: - please_login: "Log alstublieft eerst in voordat u een ladderspel speelt." - my_matches: "Mijn Wedstrijden" - simulate: "Simuleer" - simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" - simulate_games: "Simuleer spellen!" - simulate_all: "RESET EN SIMULEER SPELLEN" - games_simulated_by: "Door jou gesimuleerde spellen:" - games_simulated_for: "Voor jou gesimuleerde spellen:" - leaderboard: "Leaderboard" - battle_as: "Vecht als " - summary_your: "Jouw " - summary_matches: "Wedstrijden - " - summary_wins: " Overwinningen, " - summary_losses: " Nederlagen" - rank_no_code: "Geen nieuwe code om te Beoordelen!" - rank_my_game: "Beoordeel mijn spel!" - rank_submitting: "Verzenden..." - rank_submitted: "Verzonden voor Beoordeling" - rank_failed: "Beoordeling mislukt" - rank_being_ranked: "Spel wordt Beoordeeld" - code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." - no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" - no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." - choose_opponent: "Kies een tegenstander" - tutorial_play: "Speel de Tutorial" - tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" - tutorial_skip: "Sla Tutorial over" - tutorial_not_sure: "Niet zeker wat er aan de hand is?" - tutorial_play_first: "Speel eerst de Tutorial." - simple_ai: "Simpele AI" - warmup: "Opwarming" - vs: "tegen" - - multiplayer_launch: - introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." - to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." - arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." - ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" - fork_our_arenas: "onze arenas forken" - create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" - tutorial: "tutorial" - new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." - so_ready: "Ik ben hier zo klaar voor" - - loading_error: - could_not_load: "Fout bij het laden van de server" - connection_failure: "Verbinding mislukt." - unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" - forbidden: "Je hebt hier geen toestemming voor." - not_found: "Niet gevonden." - not_allowed: "Methode niet toegestaan." - timeout: "Server timeout." - conflict: "Conflict van resources" - bad_input: "Slechte input." - server_error: "Fout van de server." - unknown: "Onbekende fout." - - resources: - your_sessions: "Jouw sessies." - level: "Level" - social_network_apis: "Sociale netwerk APIs" - facebook_status: "Facebook Status" - facebook_friends: "Facebook vrienden" - facebook_friend_sessions: "Sessies van Facebook vrienden" - gplus_friends: "G+ vrienden" - gplus_friend_sessions: "Sessies van G+ vrienden" - leaderboard: "Scorebord" -# user_schema: "User Schema" -# user_profile: "User Profile" +module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", translation: + common: + loading: "Aan het laden..." + saving: "Opslaan..." + sending: "Verzenden..." +# send: "Send" + cancel: "Annuleren" + save: "Opslagen" + create: "Creëer" + delay_1_sec: "1 seconde" + delay_3_sec: "3 secondes" + delay_5_sec: "5 secondes" + manual: "Handleiding" + fork: "Fork" + play: "Spelen" + retry: "Probeer opnieuw" + + units: + second: "seconde" + seconds: "seconden" + minute: "minuut" + minutes: "minuten" + hour: "uur" + hours: "uren" + + modal: + close: "Sluiten" + okay: "Oké" + + not_found: + page_not_found: "Pagina niet gevonden" + + nav: + play: "Levels" + editor: "Editor" + blog: "Blog" + forum: "Forum" + admin: "Administrator" + home: "Home" + contribute: "Bijdragen" + legal: "Legaal" + about: "Over Ons" + contact: "Contact" + twitter_follow: "Volgen" + employers: "Werkgevers" + + versions: + save_version_title: "Nieuwe versie opslagen" + new_major_version: "Nieuwe hoofd versie" +# update_break_level: "(Could this update break old solutions of the level?)" +# update_break_component: "(Could this update break anything depending on this Component?)" +# update_break_system: "(Could this update break anything depending on this System?)" + cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze" + cla_url: "CLA" + cla_suffix: "." + cla_agree: "IK GA AKKOORD" + + login: + sign_up: "Account maken" + log_in: "Inloggen" + logging_in: "Bezig met inloggen" + log_out: "Uitloggen" + recover: "account herstellen" + + recover: + recover_account_title: "Herstel Account" + send_password: "Verzend nieuw wachtwoord" + + signup: + create_account_title: "Maak een account aan om je vooruitgang op te slaan" + description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" + email_announcements: "Ontvang aankondigingen via email" + coppa: "13+ of niet uit de VS" + coppa_why: "(Waarom?)" + creating: "Account aanmaken..." + sign_up: "Aanmelden" + log_in: "inloggen met wachtwoord" + + home: + slogan: "Leer programmeren in JavaScript door het spelen van een spel" + no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" + no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" + play: "Speel" + old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" + old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" + campaign: "Campagne" + for_beginners: "Voor Beginners" + multiplayer: "Multiplayer" + for_developers: "Voor ontwikkelaars" + + play: + choose_your_level: "Kies Je Level" + adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op " + adventurer_forum: "het Avonturiersforum" + adventurer_suffix: "." + campaign_beginner: "Beginnercampagne" + campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert." + campaign_dev: "Willekeurige moeilijkere levels" + campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." + campaign_multiplayer: "Multiplayer Arena's" + campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt." + campaign_player_created: "Door-spelers-gemaakt" + campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." + level_difficulty: "Moeilijkheidsgraad: " + play_as: "Speel als " + spectate: "Toeschouwen" + + contact: + contact_us: "Contact opnemen met CodeCombat" + welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen." + contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze " + contribute_page: "pagina over bijdragen" + contribute_suffix: "!" + forum_prefix: "Voor iets publiekelijks, probeer dan " + forum_page: "ons forum" + forum_suffix: "." + send: "Feedback Verzonden" +# contact_candidate: "Contact Candidate" +# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." + + diplomat_suggestion: + title: "Help CodeCombat vertalen!" + sub_heading: "We hebben je taalvaardigheden nodig." + pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands." + missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is." + learn_more: "Meer informatie over het zijn van een Diplomaat" + subscribe_as_diplomat: "Abonneren als Diplomaat" + + wizard_settings: + title: "Tovenaar instellingen" + customize_avatar: "Bewerk je avatar" +# active: "Active" +# color: "Color" +# group: "Group" + clothes: "Kleren" + trim: "Trim" + cloud: "Wolk" +# team: "Team" + spell: "Spreuk" + boots: "Laarzen" + hue: "Hue" + saturation: "Saturatie" + lightness: "Helderheid" + + account_settings: + title: "Account Instellingen" + not_logged_in: "Log in of maak een account aan om je instellingen aan te passen." + autosave: "Aanpassingen Automatisch Opgeslagen" + me_tab: "Ik" + picture_tab: "Afbeelding" + wizard_tab: "Tovenaar" + password_tab: "Wachtwoord" + emails_tab: "Emails" + admin: "Administrator" + wizard_color: "Tovenaar Kleding Kleur" + new_password: "Nieuw Wachtwoord" + new_password_verify: "Verifieer" + email_subscriptions: "E-mail Abonnementen" + email_announcements: "Aankondigingen" + email_notifications: "Notificaties" + email_notifications_description: "Krijg periodieke meldingen voor jouw account." + email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." + contributor_emails: "Medewerker Klasse emails" + contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de " + contribute_page: "bijdragepagina" + contribute_suffix: " om meer te weten te komen." + email_toggle: "Vink alles aan/af" + error_saving: "Fout Tijdens Het Opslaan" + saved: "Aanpassingen Opgeslagen" + password_mismatch: "Het wachtwoord komt niet overeen." +# job_profile: "Job Profile" +# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks." +# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job." + + account_profile: + edit_settings: "Instellingen Aanpassen" + profile_for_prefix: "Profiel voor " + profile_for_suffix: "" +# approved: "Approved" +# not_approved: "Not Approved" +# looking_for: "Looking for:" +# last_updated: "Last updated:" +# contact: "Contact" +# work_experience: "Work Experience" +# education: "Education" +# our_notes: "Our Notes" +# projects: "Projects" + +# employers: +# want_to_hire_our_players: "Want to hire expert CodeCombat players?" +# contact_george: "Contact George to see our candidates" +# candidates_count_prefix: "We currently have " +# candidates_count_many: "many" +# candidates_count_suffix: "highly skilled and vetted developers looking for work." +# candidate_name: "Name" +# candidate_location: "Location" +# candidate_looking_for: "Looking For" +# candidate_role: "Role" +# candidate_top_skills: "Top Skills" +# candidate_years_experience: "Yrs Exp" +# candidate_last_updated: "Last Updated" + + play_level: + level_load_error: "Level kon niet geladen worden: " + done: "Klaar" + grid: "Raster" + customize_wizard: "Pas Tovenaar aan" + home: "Home" + guide: "Handleiding" + multiplayer: "Multiplayer" + restart: "Herstarten" + goals: "Doelen" + action_timeline: "Actie tijdlijn" + click_to_select: "Klik op een eenheid om deze te selecteren." + reload_title: "Alle Code Herladen?" + reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" + reload_confirm: "Herlaad Alles" + victory_title_prefix: "" + victory_title_suffix: " Compleet" + victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" + victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" + victory_rate_the_level: "Beoordeel het level: " + victory_rank_my_game: "Rankschik mijn Wedstrijd" + victory_ranking_game: "Verzenden..." + victory_return_to_ladder: "Keer terug naar de ladder" + victory_play_next_level: "Speel Volgend Level" + victory_go_home: "Ga naar Home" + victory_review: "Vertel ons meer!" + victory_hour_of_code_done: "Ben Je Klaar?" + victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" + multiplayer_title: "Multiplayer Instellingen" + multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." + multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" + guide_title: "Handleiding" + tome_minion_spells: "Jouw Minions' Spreuken" + tome_read_only_spells: "Read-Only Spreuken" + tome_other_units: "Andere Eenheden" + tome_cast_button_castable: "Uitvoeren" + tome_cast_button_casting: "Aan het uitvoeren" + tome_cast_button_cast: "Spreuk uitvoeren" + tome_autocast_delay: "Spreuk Uitvoeren vertraging" + tome_select_spell: "Selecteer een Spreuk" + tome_select_a_thang: "Selecteer Iemand voor " + tome_available_spells: "Beschikbare spreuken" + hud_continue: "Ga verder (druk shift-space)" + spell_saved: "Spreuk Opgeslagen" + skip_tutorial: "Overslaan (esc)" + editor_config: "Editor Configuratie" + editor_config_title: "Editor Configuratie" + editor_config_language_label: "Programmeertaal" + editor_config_language_description: "Definieer de programmeertaal waarin jij wilt programmeren." + editor_config_keybindings_label: "Toets instellingen" + editor_config_keybindings_default: "Standaard (Ace)" + editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." + editor_config_invisibles_label: "Toon onzichtbare" + editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." + editor_config_indentguides_label: "Toon inspringing regels" + editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." + editor_config_behaviors_label: "Slim gedrag" + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + loading_ready: "Klaar!" + tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." + tip_toggle_play: "Verwissel speel/pauze met Ctrl+P." + tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen." + tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie." + tip_open_source: "CodeCombat is 100% open source!" + tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." + tip_js_beginning: "JavaScript is nog maar het begin." + tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." + think_solution: "Denk aan de oplossing, niet aan het probleem" + tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" + tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" + tip_debugging_program: "Als debuggen het proces is om bugs te verwijderen, dan moet programmeren het proces zijn om ze erin te stoppen. - Edsger W. Dijkstra" + tip_forums: "Ga naar de forums en vertel ons wat je denkt!" + tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn." + tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd." + tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren." +# tip_reticulating: "Reticulating spines." + tip_harry: "Je bent een tovenaar, " + tip_great_responsibility: "Met een groots talent voor programmeren komt een grootse debug verantwoordelijkheid." + tip_munchkin: "Als je je groentjes niet opeet zal een munchkin je ontvoeren terwijl je slaapt." + tip_binary: "Er zijn 10 soorten mensen in de wereld: Mensen die binair kunnen tellen en mensen die dat niet kunnen." + tip_commitment_yoda: "Een programmeur moet de grootste inzet hebben, een meest serieuze geest. ~ Yoda" + tip_no_try: "Doe het. Of doe het niet. Je kunt niet proberen. - Yoda" + tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" + tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." + tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" + tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds" + tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay" + time_current: "Nu:" + time_total: "Maximum:" + time_goto: "Ga naar:" + + admin: + av_title: "Administrator panels" + av_entities_sub_title: "Entiteiten" + av_entities_users_url: "Gebruikers" + av_entities_active_instances_url: "Actieve instanties" + av_other_sub_title: "Andere" + av_other_debug_base_url: "Base (om base.jade te debuggen)" + u_title: "Gebruikerslijst" + lg_title: "Laatste Spelletjes" + clas: "CLAs" + + editor: + main_title: "CodeCombat Editors" + main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!" + article_title: "Artikel Editor" + article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." + thang_title: "Thang Editor" + thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund." + level_title: "Level Editor" + level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!" + security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " + contact_us: "contacteer ons!" + hipchat_prefix: "Je kan ons ook vinden in ons" + hipchat_url: "(Engelstalig) HipChat kanaal." +# back: "Back" + revert: "Keer wijziging terug" + revert_models: "keer wijziging model terug" +# fork_title: "Fork New Version" +# fork_creating: "Creating Fork..." +# more: "More" +# wiki: "Wiki" +# live_chat: "Live Chat" +# level_publish: "Publish This Level (irreversible)?" + level_some_options: "Enkele opties?" + level_tab_thangs: "Elementen" + level_tab_scripts: "Scripts" + level_tab_settings: "Instellingen" + level_tab_components: "Componenten" + level_tab_systems: "Systemen" + level_tab_thangs_title: "Huidige Elementen" +# level_tab_thangs_all: "All" + level_tab_thangs_conditions: "Start Condities" + level_tab_thangs_add: "Voeg element toe" +# delete: "Delete" +# duplicate: "Duplicate" + level_settings_title: "Instellingen" + level_component_tab_title: "Huidige Componenten" + level_component_btn_new: "Maak een nieuwe component aan" + level_systems_tab_title: "Huidige Systemen" + level_systems_btn_new: "Maak een nieuw systeem aan" + level_systems_btn_add: "Voeg Systeem toe" + level_components_title: "Terug naar Alle Elementen" + level_components_type: "Type" + level_component_edit_title: "Wijzig Component" + level_component_config_schema: "Schema" + level_component_settings: "Instellingen" + level_system_edit_title: "Wijzig Systeem" + create_system_title: "Maak een nieuw Systeem aan" + new_component_title: "Maak een nieuwe Component aan" + new_component_field_system: "Systeem" + new_article_title: "Maak een Nieuw Artikel" + new_thang_title: "Maak een Nieuw Thang Type" + new_level_title: "Maak een Nieuw Level" + article_search_title: "Zoek Artikels Hier" + thang_search_title: "Zoek Thang Types Hier" + level_search_title: "Zoek Levels Hier" +# signup_to_create: "Sign Up to Create a New Content" + read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator." + + article: + edit_btn_preview: "Voorbeeld" + edit_article_title: "Wijzig Artikel" + + general: + and: "en" + name: "Naam" + body: "Inhoud" + version: "Versie" + commit_msg: "Commit Bericht" +# version_history: "Version History" + version_history_for: "Versie geschiedenis voor: " + result: "Resultaat" + results: "Resultaten" + description: "Beschrijving" + or: "of" +# subject: "Subject" + email: "Email" + password: "Wachtwoord" + message: "Bericht" + code: "Code" + ladder: "Ladder" + when: "Wanneer" + opponent: "Tegenstander" + rank: "Rang" + score: "Score" + win: "Win" + loss: "Verlies" + tie: "Gelijkstand" + easy: "Gemakkelijk" + medium: "Medium" + hard: "Moeilijk" + + about: + who_is_codecombat: "Wie is CodeCombat?" + why_codecombat: "Waarom CodeCombat?" + who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " + who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." + who_description_ending: "Nu is het tijd om mensen te leren programmeren." + why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen." + why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." + why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" + why_paragraph_3_italic: "joepie een medaille" + why_paragraph_3_center: "maar tof zoals" + why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" + why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." + why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." + why_ending: "En hallo, het is gratis." + why_ending_url: "Start nu met toveren!" + george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs." + scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar." + nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen." + jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy." + michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt." + glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!" + + legal: + page_title: "Legaal" + opensource_intro: "CodeCombat is gratis en volledig open source." + opensource_description_prefix: "Bekijk " + github_url: "onze GitHub" + opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook " + archmage_wiki_url: "onze Tovenaar wiki" + opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt." + practices_title: "Goede Respectvolle gewoonten" + practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." + privacy_title: "Privacy" + privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." + security_title: "Beveiliging" + security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." + email_title: "E-mail" + email_description_prefix: "We zullen je niet overspoelen met spam. Door" + email_settings_url: "jouw e-mail instellingen" + email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven." + cost_title: "Kosten" + cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:" + recruitment_title: "Aanwervingen" + recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." + url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" + recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" + recruitment_description_italic: "enorm veel" + recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." + copyrights_title: "Auteursrechten en licenties" + contributor_title: "Licentieovereenkomst voor vrijwilligers" + contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze" + cla_url: "CLA" + contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." + code_title: "Code - MIT" + code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de" + mit_license_url: "MIT licentie" + code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels." + art_title: "Art/Music - Creative Commons " + art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" + cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" + art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:" + art_music: "Muziek" + art_sound: "Geluid" + art_artwork: "Illustraties" + art_sprites: "Sprites" + art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." + art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." + art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" + use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." + use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig." + art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan." + rights_title: "Rechten Voorbehouden" + rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:" + rights_scripts: "Scripts" + rights_unit: "Eenheid Configuratie" + rights_description: "Beschrijvingen" + rights_writings: "Literaire werken" + rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels." + rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen." + nutshell_title: "In een notendop" + nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren." + canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang." + + contribute: + page_title: "Bijdragen" + character_classes_title: "Karakterklassen" + introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." + introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " + introduction_desc_github_url: "CodeCombat is volledig open source" + introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken." + introduction_desc_ending: "We hopen dat je met ons meedoet!" + introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen" + alert_account_message_intro: "Hallo!" + alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " + alert_account_message_suf: "." + alert_account_message_create_url: "een account aanmaken" + archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." + archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." + class_attributes: "Klasse kenmerken" + archmage_attribute_1_pref: "Ervaring met " + archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." + archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." + how_to_join: "Hoe deel te nemen" + join_desc_1: "Iedereen kan helpen! Bekijk onze " + join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? " + join_desc_3: ", of vind ons in " + join_desc_4: "en we bekijken het verder vandaar!" + join_url_email: "E-mail ons" + join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" + more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" + archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen." + artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot" + artisan_summary_suf: ", dan is dit de klasse voor jou." + artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot" + artisan_introduction_suf: ", dan is deze klasse waarschijnlijk iets voor jou." + artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" + artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen." + artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen." + artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:" + artisan_join_step1: "Lees de documentatie." + artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." + artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" + artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." + more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." + artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." + adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou." + adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." + adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." + adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals" + adventurer_forum_url: "ons forum" + adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" + more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden." + adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." + scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het " + scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." + scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het " + scribe_introduction_url_mozilla: "Mozilla Developer Network" + scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." + scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen." + contact_us_url: "Contacteer ons" + scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" + more_about_scribe: "Leer meer over het worden van een ijverige Klerk." + scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." + diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou." + diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " + diplomat_launch_url: "release in oktober" + diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." + diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" + diplomat_join_pref_github: "Vind van jouw taal het locale bestand " + diplomat_github_url: "op GitHub" + diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." + more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" + diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." + ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." + ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" + ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" + ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" + ambassador_join_note_strong: "Opmerking" + ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" + more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" + ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." + counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." + counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design." + counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou." + counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn." + counselor_attribute_2: "Een beetje vrije tijd!" + counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)." + more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever" + changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt." + diligent_scribes: "Onze ijverige Klerks:" + powerful_archmages: "Onze machtige Tovenaars:" + creative_artisans: "Onze creatieve Ambachtslieden:" + brave_adventurers: "Onze dappere Avonturiers:" + translating_diplomats: "Onze vertalende Diplomaten:" + helpful_ambassadors: "Onze behulpzame Ambassadeurs:" + + classes: + archmage_title: "Tovenaar" + archmage_title_description: "(Programmeur)" + artisan_title: "Ambachtsman" + artisan_title_description: "(Level Bouwer)" + adventurer_title: "Avonturier" + adventurer_title_description: "(Level Tester)" + scribe_title: "Klerk" + scribe_title_description: "(Redacteur)" + diplomat_title: "Diplomaat" + diplomat_title_description: "(Vertaler)" + ambassador_title: "Ambassadeur" + ambassador_title_description: "(Ondersteuning)" + counselor_title: "Raadgever" + counselor_title_description: "(Expert/Leraar)" + + ladder: + please_login: "Log alstublieft eerst in voordat u een ladderspel speelt." + my_matches: "Mijn Wedstrijden" + simulate: "Simuleer" + simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" + simulate_games: "Simuleer spellen!" + simulate_all: "RESET EN SIMULEER SPELLEN" + games_simulated_by: "Door jou gesimuleerde spellen:" + games_simulated_for: "Voor jou gesimuleerde spellen:" + leaderboard: "Leaderboard" + battle_as: "Vecht als " + summary_your: "Jouw " + summary_matches: "Wedstrijden - " + summary_wins: " Overwinningen, " + summary_losses: " Nederlagen" + rank_no_code: "Geen nieuwe code om te Beoordelen!" + rank_my_game: "Beoordeel mijn spel!" + rank_submitting: "Verzenden..." + rank_submitted: "Verzonden voor Beoordeling" + rank_failed: "Beoordeling mislukt" + rank_being_ranked: "Spel wordt Beoordeeld" + code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." + no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" + no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." + choose_opponent: "Kies een tegenstander" + tutorial_play: "Speel de Tutorial" + tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" + tutorial_skip: "Sla Tutorial over" + tutorial_not_sure: "Niet zeker wat er aan de hand is?" + tutorial_play_first: "Speel eerst de Tutorial." + simple_ai: "Simpele AI" + warmup: "Opwarming" + vs: "tegen" + + multiplayer_launch: + introducing_dungeon_arena: "Introductie van Dungeon Arena" + new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." + to_battle: "Naar het slagveld, ontwikkelaars!" + modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." + arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." + ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" + fork_our_arenas: "onze arenas forken" + create_worlds: "en jouw eigen werelden creëren." + javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" + tutorial: "tutorial" + new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." + so_ready: "Ik ben hier zo klaar voor" + + loading_error: + could_not_load: "Fout bij het laden van de server" + connection_failure: "Verbinding mislukt." + unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?" + forbidden: "Je hebt hier geen toestemming voor." + not_found: "Niet gevonden." + not_allowed: "Methode niet toegestaan." + timeout: "Server timeout." + conflict: "Conflict van resources" + bad_input: "Slechte input." + server_error: "Fout van de server." + unknown: "Onbekende fout." + + resources: + your_sessions: "Jouw sessies." + level: "Level" + social_network_apis: "Sociale netwerk APIs" + facebook_status: "Facebook Status" + facebook_friends: "Facebook vrienden" + facebook_friend_sessions: "Sessies van Facebook vrienden" + gplus_friends: "G+ vrienden" + gplus_friend_sessions: "Sessies van G+ vrienden" + leaderboard: "Scorebord" +# user_schema: "User Schema" +# user_profile: "User Profile" From 177dd2c8cd814c48590add83ec224a56f0cb22b0 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 15:37:04 -0700 Subject: [PATCH 44/79] Set up Bootstrap 3 glyphicons. --- .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 ++++++++++++++++++ .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes app/styles/base.sass | 7 + 5 files changed, 236 insertions(+) create mode 100644 app/assets/fonts/glyphicons-halflings-regular.eot create mode 100644 app/assets/fonts/glyphicons-halflings-regular.svg create mode 100644 app/assets/fonts/glyphicons-halflings-regular.ttf create mode 100644 app/assets/fonts/glyphicons-halflings-regular.woff diff --git a/app/assets/fonts/glyphicons-halflings-regular.eot b/app/assets/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 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 literal 0 HcmV?d00001 diff --git a/app/assets/fonts/glyphicons-halflings-regular.svg b/app/assets/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 000000000..e3e2dc739 --- /dev/null +++ b/app/assets/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg"> +<metadata></metadata> +<defs> +<font id="glyphicons_halflingsregular" horiz-adv-x="1200" > +<font-face units-per-em="1200" ascent="960" descent="-240" /> +<missing-glyph horiz-adv-x="500" /> +<glyph /> +<glyph /> +<glyph unicode="
" /> +<glyph unicode=" " /> +<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" /> +<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" /> +<glyph unicode=" " /> +<glyph unicode=" " horiz-adv-x="652" /> +<glyph unicode=" " horiz-adv-x="1304" /> +<glyph unicode=" " horiz-adv-x="652" /> +<glyph unicode=" " horiz-adv-x="1304" /> +<glyph unicode=" " horiz-adv-x="434" /> +<glyph unicode=" " horiz-adv-x="326" /> +<glyph unicode=" " horiz-adv-x="217" /> +<glyph unicode=" " horiz-adv-x="217" /> +<glyph unicode=" " horiz-adv-x="163" /> +<glyph unicode=" " horiz-adv-x="260" /> +<glyph unicode=" " horiz-adv-x="72" /> +<glyph unicode=" " horiz-adv-x="260" /> +<glyph unicode=" " horiz-adv-x="326" /> +<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" /> +<glyph unicode="−" d="M200 400h900v300h-900v-300z" /> +<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" /> +<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" /> +<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" /> +<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" /> +<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" /> +<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" /> +<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" /> +<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" /> +<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" /> +<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" /> +<glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" /> +<glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" /> +<glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" /> +<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" /> +<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" /> +<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" /> +<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" /> +<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" /> +<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" /> +<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" /> +<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" /> +<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" /> +<glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" /> +<glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" /> +<glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" /> +<glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" /> +<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" /> +<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" /> +<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" /> +<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" /> +<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" /> +<glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" /> +<glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" /> +<glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" /> +<glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" /> +<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" /> +<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" /> +<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" /> +<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" /> +<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" /> +<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" /> +<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" /> +<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" /> +<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" /> +<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" /> +<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" /> +<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" /> +<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" /> +<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" /> +<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " /> +<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" /> +<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" /> +<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" /> +<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" /> +<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" /> +<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" /> +<glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" /> +<glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" /> +<glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" /> +<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " /> +<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" /> +<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" /> +<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" /> +<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" /> +<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" /> +<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" /> +<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" /> +<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" /> +<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" /> +<glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" /> +<glyph unicode="" d="M200 0l900 550l-900 550v-1100z" /> +<glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" /> +<glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" /> +<glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" /> +<glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" /> +<glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" /> +<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" /> +<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" /> +<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" /> +<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" /> +<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" /> +<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" /> +<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" /> +<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" /> +<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" /> +<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" /> +<glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" /> +<glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" /> +<glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" /> +<glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" /> +<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" /> +<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" /> +<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" /> +<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" /> +<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" /> +<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" /> +<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" /> +<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" /> +<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" /> +<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" /> +<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" /> +<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" /> +<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" /> +<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" /> +<glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" /> +<glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" /> +<glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" /> +<glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" /> +<glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" /> +<glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" /> +<glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" /> +<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" /> +<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" /> +<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" /> +<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" /> +<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" /> +<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" /> +<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" /> +<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" /> +<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" /> +<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" /> +<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" /> +<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" /> +<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" /> +<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" /> +<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" /> +<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" /> +<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" /> +<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" /> +<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" /> +<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" /> +<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" /> +<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" /> +<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" /> +<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" /> +<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" /> +<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" /> +<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" /> +<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" /> +<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" /> +<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" /> +<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" /> +<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" /> +<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" /> +<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" /> +<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" /> +<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" /> +<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" /> +<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" /> +<glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" /> +<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" /> +<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" /> +<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" /> +<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" /> +<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " /> +<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" /> +<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" /> +<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" /> +<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" /> +<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" /> +<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" /> +<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" /> +<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" /> +<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" /> +<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" /> +<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" /> +<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" /> +<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" /> +<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" /> +<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" /> +<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" /> +<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" /> +<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" /> +<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" /> +<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" /> +<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" /> +<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" /> +<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" /> +<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" /> +<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" /> +<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" /> +<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" /> +<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" /> +</font> +</defs></svg> \ No newline at end of file diff --git a/app/assets/fonts/glyphicons-halflings-regular.ttf b/app/assets/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 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℞P`J|cdg0FGqEGC9fAe(nbGgL}Bh`JgXZqNU1^s}T?Z&&Uvu{=| z5MH=A_x0$8O;41sZ5(v6BZW*);fXVLeCNVT@<W|9{<bsv3mv_Mh1U$Wx@$Yv_B?&b zC%)A2)ODQCN^F<BSbPEe<>kB}m6<AMG?Ov%AZtmw{n%C_Ck@}oQb5~67xs_8&)Vb{ z<<o?K5EWD@qq@o%Go}VJS_nU(*(AlQIh4M>&MwIx%*C_4-Kj)_rGq6J%mIJM#ave| z6W_b;$tSPtXlr}!^3VTT99+%bTYl9u??3I@aP6-itZ}+F;Z~$u6l4`VD`Otmv91d} zER<(S#b#32t`d6j;d0id9}tJcA&h=ofez}MOMLIh@MGecx|6jH@5S#($3Hm!f&3l$ zJD6Q&(h@95us6di-`kyGsRm0GTk_j84vH5XTyyaJs;URwjqa+=zdhYJa8^~?^<Wk5 zU*Ts}Rt1}o6N*?{T2)I~l`xI$8P$4FmC8lQN}MB^z_?b4Hmznbu7eX-i8BS$sVA<; zDmCudA&^oXetr1$LP1Q?@4Eym=F78?96~C>^8KtwNh&Fei-jtC-6@O7#R52HmK*O{ zb{aZAuyEO0ulKHHb62|T!ydZ}`=7qNxi+xAMLg%B;s5c3YOm_eH`jzt&r4U@9n$wC zpM7|lQe8tUd+7K(@(<((1)oqStP_e*@>*4IMh%tKx(s^5)cTCd4yu8&8t{;8P)(Qv zVE3AU;@u~S9&cl)Pc<pvd_nWNFa>OVYDiH%eQKR|9}_GlobT-NdeEVO-@<}^H#0Y+ z8Q5L)1Y^CPR4l~m!D{tOS)0XjnbmLA4_v#m^vM^Q_j}*d-(&C6IsFf%o!9CIaPl&X zg|#geFV+9@;`eX`hJ?@aA^BN(won6(WNK|j6%G<ly2@Ie!P4FRVuXe8CI<X2$<iSg zrkru@wb!?G-gw<7hI(gRfBWA4{wHp~ewO4J*s`)+UNC#ke7Sw)mVv(OZ@s0sdUf%Z zTdxPLj(<~_C*O~;w+l|NRNR;I#hK5>d{TZs`|W+=eeBozwtMwk^=<ckPLyI?DE(QV z$$a{|>|gMSwn`IzBM5z3t%CUFVn_xPg)&+-Z}Nm+_k}F^P&%JTTTZ;stRF1+?)Mjd z@9iZ^PjW}`nw`J<%#J^P=9j<Zbiy0v6SNu3;~v)2keb1|d$YkX^P3X^7GS%QGu8i9 zXC~RMdl)O+pDS%u)vcx6{RRE_J){L2-(SqvB?ne2A6An($bf{9hQ^)2j8KIlE^1Zf zvQ`~~ptNMvhMa0GtBqOJkx^4Q)mc`XvZ_0yw&YY#S#8UzzKq(DQ~hPNGfVxCWOGCg zrgrmjl*{|9PLIDalvQO9iKu<HDkVU>)n&CF?*><fvudooud%7ElTO7vS{zp<o7=l+ zS1M~gB$%8I2&US)zCP8hX!T(dP+fez>`C<GCcb=-f|#XoHt9HBC#xUsFO2>{+zjvK zuNOv-VW}N|3CU6jr(;`3FW{u)Z?q=6LBotNQy3JAAabkPmIDEaWZ{fDos*^;yfMJ( zfi(x~V>RAAS`5<>L~AaqQ?lA=oNs!R?p{dTU_il`#v4*K7~%2z>|@S{!3BYEIG}H) z_pxnpX#C#z?d;e^VeztYJHy`@w=?040O^T8t{05-eVK5saD{M-a1YjMP6ciHrC<aw zQg;E26wYXiw_@L4)@EOW{q~G@)@QKaSk_kEo&|Mw5p^^VF`W&}*F>KltrL=JU^%w? z%G&%P`t)e)acuLg*uJ=|U3XVDtKG{fM{{8sGiF08Ye*?QAHB~$=KSRE|D)H310@=Q zQ@pWVr#!_^eBAl$=<l+}PPTdMzfN{^+_fKj0Y?-_-i+}#jq#cakAttl<K2AvFV3m; zWpy@<s(KcUsk#ayx_-ilhE6e}+J=*lo<E4e?8Ts_Fqr1R<k6+kpn1V%ALa>-)<^As zJhjCaXt;)F)BDM{$J2alXh-S%@f4-CE-W<2@5?O&s9@<yvvin!Mamu+{_;=Q%lcVT zH?{!ZFyRv65_zsXS8(v_@-`N-F^i2|!fN$553pKRdq97azu}{Q;yzC6Z(^;Qpc|xx z=O<_fPzw?{HC$HX*<yW|)SUVhG@fuhZHA-JuPgdP(>VPh1%VaGs>!k%%NCO<x-^-< zw^B*kOx5FC$x$t%8S^v+Eu$y~A+r0_q@sHJ)Ea0VAy4f%ts~@x*5T>X!q7hU38p|b zovTxd{u+j_eYEZ&L7wLVxj-V2==n%JWNx8UD3m@%8`0O%MTNo`?Y_YEs;F@G1lm<7 z6B|dFie`mXi)&WTk!DpN9@opsy47=}Th&KCR=bk0jD2*^NKaw!Rn)8<*XyrZg3!aP zBWl)*%=02T#&ty@BtHoKp$@D49Dxi+JJ#tozAjnHMJVYQMGK5M)#A~d7;9g-==9M+ zC+sLPnKY*bgA}T+PoUvsAa#550cf*+sDeG+sdP`!3k^+d=n$DPfw7($6FBsXCobH2 zl%02U>xEDJ;>?F$edpDO&Sbv{2MRQk@FosD&zkxl&zG*#jvm#nE9D>W*MI%|7F>mk znUk(EmLpgb1%W{>X`^~fr%;5k(W+UUxg1kH8C5<=T0J^pMJF6Ela21U%bLQaO&%6D zgK<3auK;7Dt%RX3F)~Ql5#33aHxvaxlcG>7)XBT$-NHQKbm2UK)a&JCbx}s`1@%^N z>dh~!^F7)U+zkubO3-P(KsMA2u>BHcpF5E2BUWhiYBd=cmfCW#yk>y{qb^eRN%8a? zI@{~jT2CW}_xYn@Fv={!P(BpIW-dEZ?48L%z4>&$7n?oZ88MY%`Bd7HPGK|A;1<np zmNr{L7Be<Yq!b4H=7v<Q`2o>YEiG@Keut^O%am$rsLQ0x9U0T7rgScss@?4KCe!Dc zCnPOzoBk<Nd#BmB!jx?@-7&3Wxl~gnK44}S-dwyH|HXCj=9Ias&Ge~h9j8mRIAt<D zAXe2%r?<`cl&P(YzFgm)GUr-MpPHIEU8->zKkurMPR~sJlqu6;PIcA{-F)-Vx|?r? z`d|?X$B)aZ$q&7MOasjecMHWhX;F=^_B*??Sm@K4VoSC+2X&#Y3>A}<3RfGBXENMw zg?V3lkXD^WkCwy`019a$&9s<o;t~qDgWBZLAdl2eXsI5p3tR13wY#iVWsBWibWyht z7j=6`&xBAUK!AfNw5W`(EaR3NAJk4mK_gc3;YI2uebTGowlm+fX4cj`jrr_um*c}X z9j=0O`?Tia+0E0SL_)?8pBd6dW?8$t&^&EgGrpH~xLn6BC+2IOKD}9dVR*Lq0xaVX z_Zyp}b`f^ZOab{fuw&YUB2+Qx>)?Cn=eC2St6RCAO;o}h)=XB2SH>r+jiH(R9}{<p zx0mz-^iNzT-afo_crVEjaftYx1mIhc6D~m!8iXQ@C4ea4df1WXa?#9)U}h^Mg3p*u zTqhl+2vb<W<zWBDcDWqKzV2{|L#(YvzS-f@ox^9Ndy<#>PBK;&Wcg|NX{>QR@W3{K zY;bp3^^^Hp4EgCcp#a7O7KV(e2E!07sKTguG(W~^?4lZ66!OsI#=Iw^QS(<pPT3`w z4>L<sLfEm%ZnAX+&F{vZMX2)7DIc9OGsTG=T57zFG1==8<yfP)V&3{lN(AIR%*$po z@18ySd-@Cdd%+Lbnh!qEpPUDg@s05(_UsYQ)t~%;P7muK=>ZUvY)|-*On%Um?5>WA zl?50LJ%&XEbBcfmH}zOz=!^;alP6P=Rtc7q@Q=l%gyhRfi2{4}=YdE4KV#1hzuEkL zQ`e!oCxJ!)KmnXWYrzo%_u;5NbadmMK<}VRv{vp06NK?w7^1Q$Tj<s@%@jyYfOJ?H z=<b?DhNKd0kW^I)<SR$TU~@6TDbXTel|2deXZ;P5pZXivI{fUj1U!)l1#@jK6)?`= zSJ?N@qURwY0`S$al6-tFn=r6ZKCntzRSe|;%4EGq3!oJ+1z;p;HHzZhUnP4(TsNp! z)JUHi@a}h-d_h`c1uf)Lyw5SKO{lG`s6Y&|5s@!NY-A)QF773E?w&V}ys_t8<KwLN z*{b*7*PmX#yR`c#8+QWdMNxnHeLAo6=?bQu$g{P=h7q2vuqZTxQ5GeY05&cR+zMaT zQ%}H``-v}M5%;OpiW=xsafFyN$a~@gcRt6=7J=(QCud2i4ih<{oQfxx9X-1H)Lf~b zN7Ikkh4_+~lVb`r2b(L>1RM!76<rcBIQ|Tc1dMMRR5_WsxK7ri_~La0J3#gJ<wEg% zP6Fr{`&R~8x6R=ym9nfYTiP)EXbt-}l3aQc6Q8|_W%kGf8U}!%%pIX2<~>dG8csvB z!8uB~T2M}Lf-thpE(M7RjA_gX6%1j2BB6X0eI$mNZ8{a1K44Q>^W@3P_G84KehO22 zJG-|8&J9&`rg~weKrl1JkCIVq&`ucl7;DHYw@0%Zyc$6}?KFTU+2;?{&=A`cEfAzN zU!jp_g3S-`18T6M@<#h3A_2$=zd4rj5XfwaD;BKizzZu%((a@Bm!J{db@_d4*S%kS z85)uJ6H=aVdJ9w~XjG@unH$c0h>vFo<4HQ6M~DkI2t|eFJmy!hTnt8Ojt6To$AMXy z%Ec-Z9jL;jXKDjiV*u!Qj44=K))MH9htwFwi|JpZJZ~{M?9ff()c#tpX0uYaf>A6l zaV{Qgbe)MnbW#laMf4`G#PjHlIUp%<3ly2&o*d>RpmOTnmY2VHufF-SoA1<)E?~R( z=WgS$I7Euy4Rm(-QH_=+`sBw1ta=csoM*|uG8xBOE~wUwTAd@51<n9CCEysqpaEcl zVi?P*5Hs;Ctuc)`LPe7hgD`Qd2a7<dNZEkzz~v2MixdVZ0XeLgwA?3QXr#xzd|2>j zuy`QZW4sK^2*CTH5tN8z;Mj{$CxYdT<=<HPhxgL8#&%^clDsB;2=W?3*{Z_GAZ)%7 zBX&@&Ef-C-G-xK0)U_U3>Hw1#U3GNO1s#SIAVG`KswTTkWM*}C5vDY4%wW!qp-T+P zjiH`H`Pj08wXN8~6_I0Gp}9bcbE~-^4mD3Jt=O_<MF|SbUMMQ!A9s^J&iReTf-o=% z*loyI*T|DV5H4Ul@+W|VSVDdMEF$)^yy9XVlG%c8PrviJtyf)AXl}ak_FZ>gbB3QV zH@0hfXH~q;wCr?t<n%fArY8HG(@8{ecQwZR0dRGfaGG$TP|Of@`g3ZktoHJ84uedC z6<dZ@u?EnlwXC*!v@Eu!mDOn;&4aB_S(^pc&bER^PDi*NG!nE_2D8)R@%bg<ZYS0{ zH>u*vs1?)CViBPBqx&5q{6GO8C#^wH0-chR_FWDrbUXgQ%zxOyH_!jd8*jbwmGetZ z>mI9<zllR*+sp?k>0oWQ{QRn`etwI7z}UM6U%>aS8Ge=hn7*WU)BCt>J`RFVl82<X zfGc3iD{+%ziZj>?Fd<+Sqyf4cQeRYe?3g$5AO038R??pu*~f{I-;y@--*Usl#4Re< zL0XHkkYPBDUr**?V_4F#Mn-@8g*jJTGHZ?Tt9?CpKKr#hdN1F8-^loVTRu<vAGFU6 z3}ia@TM<eef%}Pmo6tU}lVEWziqY|5wb|zhhK%K%K@9D)xqJpc!+V%il5F(;u#y6B zOTZNb%LoP>^_1Pm+j5TO#%nF7n|JOqvwP95V~0xY6*TP0JMx!rzqf3C;CtWMZ5^~0 zfB$CDI*O00kSYqexd!cwb5wk$FblTdB4HV028U~%vtf*Q%f;rdIV3Y`GsSf4V#7cw zCfk?Lv4)H$nsHSE3V9aY)Liqi7Y81?fbh=cWVC3e2(E;^A(2-yY~Y<$WZLA)Y7gE$ zT8E=mZQ+p1K(^Syah8q-KrYPTrn>-c$%9<8=VN<XSxYUXPmi`3lpM^e%gV*R8FNXN zosNq-!&sU8f$Ey>nP74)pTvUR)I5b;omxX3DD3l3;dW|5Dauo)5oQzd4%ke=n%?~M z83VJpFzJdbi5`Mmay@YZ(+%OsARvLo1SC=ifx8=s3|(X#g#d^XKyO?vL1Z#q?Zb;5 zA-fy+dO>$`EsG3s{LwJd8U9DwWodXXebC_2=_AG&D82jX5Lrq30g|WU3-n9;qCyE< z1?eqPcW{p*(2a2s325o|LSc9|Aw45lHu+UfTu(L|)=yFP*VE`$m9;=Po8=Y}R!}aM z;WRW529hmKs7+7^%Bl}03PuiYIM^lC*n;I+XCVHGG6`wTL(U9~xvx*FgS6)E49qQ% zC;{JnAPtIzXtlv-0G~aTPufS%E41M&N2w&e_2F_XBhp*Ps!L~{dD73yyf)TNi=pdT zNP@zwBc%)LA(R<Rajxrmf$|guvxDn;ijS;d8x#DYU>5GyG`y`07Vhif3$W;Z9geJw zgy{`K@NafEbUml^`&HpcBusC(FOTyw{RZ@<`_@2y18KsYLzqEybJdUOVAyuJKY9E# zy8nLMKS(N6XIC9}f=p~dGDqksgTh&9$ghkW;;y0tOrSfn>_uvl!!@Z%D(&MWjXlLx z7&NiNe`EN*;PWEA7v?n9Fnd|GPcWzL5Jg4N0^J9*27<y{WU`6V39%N?-Js{hmBO>q z7YoDQg7}`yo;_9#7Azd&p?6FG5Qp_rgBBy82SCT5LYo66_9A;R95{9;5N0pvbL5-- zkqE^(jjVfQ!-e3bgNHXsw1b5N%MmuCoqMP$v;wgoMTy5;j9QS;YtRL7CxS8nfe{!6 zYy=iEL9<ry-#({1-2f63<0)K?$K;L&d{F2mxckvEiv$-o0qao~<l24->Hy%fV~2X0 z#O3|xh#tG%Z}*6UDbZ(VN9;Z^B|7ZGd+js^n6tA>CGoYbTiF@3mVJ2J=j|?+o!-zl z880I~AS@(>cJRd&JQ@M$a&ty)hnfb@Dh49Udl4-cqa2@%X3*EDM@yqOtz|8Tu0$~m zYE7Tknnsu6jma2wNo#M$UbG=W7NHtfw2m$aG@p0Bqoy_kFC!^NMs$OLQFh2!z+Ix7 zM>z-tp#eb?{XvR;XdvZpTC?;Pp)|W?cP_uOrPRD)YKOzQ8=6vKS83O-lDU7Vzki5< zI&>8&P1d?OJ+0UY_@_0)6vj2XSd1>}KL?^m6nZ%CJqw$-0WX955Z4na7eyyYccvyX z2oy84(4K}4Hj~9e7zP9&q!4U^wJrfm(Z$@1`9i)Pc3E?Oqwg$s=L%125BqXMlQ&{E z>$jY(Us+x6Y;n8Ureeo6gTdamKflqw7Liabz7AKF^yV>dXPvVae))f8uY5-TK6nmu zLi#@DYYY})m#|SN#)#+QW#bcJM;M=$vf9P1p(+nJjE@pf*Lay0t2mY|j1H`cWbB{< zX62)l?7%1mF)+<>Y}EIuEedwkE&~6dBlb|JM0baj?lBR1Nh1-F@yQZtvKvTG?J+hI z&{0KOurbPhb=|i^@dk$zgzj$L^7yjSm)G5T(>afPdhw-uA6jS0HA&OzL*Xj7Wgb&M zlRrD(WVJ}n+-Y0puDW+gX~U{BZY$ilWW@%sA>;t&rE~??y<?S;KtJK8g&1&=*PBEX z7fwb~^S)jhf;7N+m*i%WIT#9*mRxOp#@;l~Y%{U1iSeloH73)o_Re{ImRT9;^eK%# zCc&d&O{9}f=dpk7o^I{~F7#Xl7qVdv+$<F9h|<waQ8Wc<!Eu7?ouu1G0l=$va72m= zY6IOSs}r*YIshU%fHf4Wxg)0<CSEaIO<xPw;cGx3Xl(-ejX9&)AzJ|olK6^Z(WiJ1 zr=rRjf;85id?=yhEWo_t*uiMDG9?6d%PTNRrNE*^i*C9JucN!g7j|bofsS}Xsi1Ez zlp5k0zXE0Qi6@R7dO|v%mf3JRU=xphJzFSbr4^zrkPd^+q7Xm+4f!6(Kk6@#UMuxi zEOQfee0S|=x7+A0g3A8kPKKe|>=UgvhIy`es<9(OlyR{j0uR*$h-@{gKz7%1**%k? zlOYRapLB|@$Dc5IS1`Kn&y01wBjCvqRq&F2I@<N&E!1^!`$*ThyrZ>d%%3V$1Q2;S z`7-d2?uP^NVzR_O+)wXPjNWMt!S-8xyPDp`A$lL)3)O{|74C5<edN~P(^i;5SQog5 zmbV?4%Y^;O=O?yxtlgzkx?4w^$c~I|>YGP5#~nRMds7vZ5&8wZ(r^v{u0f2-j0|9Z zip8kJTaaIQyx-V2iuPB)t&iCs->brSvZGsL<3W8K8wA7Ug?@;aj&AC2jc$%R`qBL| zdSvwO<NEb+{_)A@$M@^++0KqOpACG>Cdpe&d%pIK&4rQpkrkD3LrejN4lxDjC1MIN zbgOuL!KFODppd1J+?pdF&NUDdw~~%f^u#*JCbB^gHccU`=Qh4}PL3Uz9NF=4`(x0F z!4s2d^>O=SPR@_sBD`gcXa1h;e}L-8c74pSj2ky(lN<+{$Yqronrf}kB1{D$72{Sr zg21pec7W=O5Y$8JI+^Eu1%a_gQk46_CW(W;L$pl@_}KW$<ByYhLo<h_Jc%#3fZJ$W zKft%SRM5F=xKNP_Fbhcz>rQ}4Z&r>0#QMlBVns7F0E8Zllg+cxU*K5-Sf8k)>cByD zR+)FVvn&69**9`M`(WL{B4+<s|D;$U{shqVkL=J`cRzfSKs7OS)1ty6jxUyE6}S$e zI_*4i5mSt;KS2F36kvV9t)|&%G(AucWFXcY{O#<T9EJwVr7bGH7j0{c4tt|*((N$U zed2b$zXk6M7Aghqj@U0W&qIikgZ;uI<bX(zxN;dmoVfcK_KctuKp_?P4@FdjYtSME zE+0kn0b_>Zf|eCMz5v#4M2e_>(&f1matzv>$xLYm+}2ys<ZHe1kgul3_u*b|ZQ*}d z%R-iX=UDZnOE)iFy17j{;;pUq9&_UT-EVyIVb-r70$T7BI=2*b`y67A>k)hGhn7C0 z(gTPkq8vJcwj0s41jbqohgBWoUbHHi+8U;|T7+t@X8;ywxom{_xz^qxr&GjB+{7?{ z?)snKaO2OeU$Eex`ugk*=bwFb>&zD)xMb4<4;<Vr{%Py4ZoB!_|GxjK{~jE)HEg<K z&!SK7=4T!toodX#77!Lx+6Nc{Ha%e!0Apd=8{RcS*f7k1Wi_8tX(G8OOyt?q{P3df zBQF}aj=Yn6XgQ@}qU&tQhpIZ+V`hW1LRy11eFC{;zcsmqAoM%|-InqZ1dk(hzC+9- zmN(xarc(%NaIsI!zU=C&BY_3W)-IWuTzc~tmR<GzTW@xqd8Wq_?6A8<o9(PT+kMVA zzx>6Q*3Y|V%e7a3;!|_hJy@6~o6q^?%_}agJ<l9m*tB3rckc4tn8yacy(C|Ryt25E z64naETGB9q$iOQ=1D56kW_Xu~8o{#GMAU$HX`eY9A=6O}Dq6IG2x28yaUg8CJY;2G ztRa!)wBhqXhO-8?`>3LmN6ZCOp;R)DbTxD_!`^<3T^{|m{t6j{><Ccww;$6FJoYx* z|7G^@Rr)6Ow=1s<oJBzUV{e<S--eOsq$_VK9e(WXw=c=Ehp)sn|9j<?tLsTd8NRyv zA*1TyL7rdf8Kw<<H)-If97~ZsaM3f0i~w5#uIeQD+~5HV2EvVCLCsc+xs>eFWHUZf zm^jAN4w)_Frm6I$XQV5vUy8DTjRhK9CUnLm-m&`L$(?y3a^Z#NM#AhO{Xt9h{8?*e z^%*@{9vd3z(Stqc5R0b}Wx?3b;V$q0wde}vW?eScuf6D37=90||J(*bzj%*0#>V?H z=Jx0K8Tas8B2mIGC}KU1@v@<#`+~6f>6ol&u{eSF72$P?(XxpM!b9KMW(*efuT1XT z8dfLf@77nq#YUqP(nh*8r}Q=I(+>R)bpG_uk`0L$)=UkOZjMm&65nC&!Fq&!W5aTZ zcq>1=B5*_zBuv5hn#YexXy!64NHIZGAxJb)(FDv#0PQS*H3Cr^_^>gcu0V`%0IMLy zE3x$VIT~8}zWy5U&60Q~YkJu@^0NMG{lLqJ@4%HW6O9e~_IA+N2Pzw0K?h<+AR-Lf zqCJHCVQm}rU?7eIF)rlQz#<Igfm~U9BWoBJ`Xcrp0AJtI7h*N$_rM$18A#F>;T}S| zkDDU0&~e-a63FN^N1Ke`+yL%j{4?%Uxe?v!#GC0gl^a%%-joS<jp`}>N<Ih0!dNnd zcHu@o<Ja#JyXiLpPNl|vWrQx=e}&lv>hi=Hx(eq+U;+S&`Fa@@1PE$UPz<mLQ)P01 z8;CR#3OYV`mwU=i)aokthSQM$KK(jbPxR~Dn!>M*eQ7r>_r@;&9^T|8jHMYXl7SkT z#`hU~qhNt%N5t;oAIpoW!<3=I-ZFS}+!*19z=J><MwnC1lF$HWf^_sV6mCvI)esDv z6ME>_5q4xuktJ1&?ts^Gq?H}xCMWxbjzPlxD9Qk_L>0cH`(Z+GzVq^oEQf(Ocfzf3 zl6xVHWb97-J`?UiV^o0OOO>0rPUEfUG^EgwDnsl%$$mrV$^<h_UOfEzQA0CE>zP~Z z#$5T9V3GbNe~riJGKAiyza=jJi~b1P@E39Iu=*Fa0bA5J&+%W#E97g)nn~JNo`oy{ z9Aq2xNB$~K53phNMSkh<OF_nlHFO^Bm5^)wjQos1c<vyNd_blPQr2i~!aTuBJt6Xe zgak!C?4!sBNHswVP?#(Qi13AIe8iFuk+58;gnLHX!+emlKEx}%i+H7X?=JB_9_}!D zaL*ogIzK$2U2f<QV{u8;E;!Cd+eNWKK#(amsA@vHoOZ}Bi-09Y#;U0?cs4pG1XPj3 z{Dfvv;>AfCbt0{@yiFB-)gTmsV4PVs3&S0q9$K<xYDN__!$~)XBNXmXL`+&jlN+(} z)g3!t-MJI*2X>s$mZp(2I6rax6k$S}jQBXCO;9W<Z9=%rNSnArdBS*svn=V!t=Yu< z?4f7hx!{DB+^)aP9{Tz_7Z7d0MWcK)1>V$4Id%HV>U6FP06B+x-ED9c3}wu<NLh^- zuq<fSkM>1qy@_{Yz3EU8f7CQ}8fUNcbR4E(RO5=;LRnx%r@Mm`?QTUg1HYU^S40y) zeeE|*g<eZRrxuqS%Js`Vzz!)>(uehGat~j*M|NAxqDi#LF4-sfg4U49oeo#ClF8fN zP@m|U-Bp)8eNO5wta21vH;!M$8qw^uTTBw-i#<W7hsmMnjFe<=&JJaBi<_#=)jjL= z4vIM&qYrs<r;TtlW*Qb`WXd9lCs?LfBVzChw5xeZZRb23B<=Xb?&jgeL;@h(n<wiS za@`Ea<B1Kw8wL?V1$O~jAB(xFhIjd5p$JD0_rpbbLX?mxx@zJC{xU>gC)&9mpp#UG zqN%=_@C`&|TOw(~H@Yy6KBy4;8WJ5DK73y6A*M_dC@d%3r!u7&X=>)ShtiWn`~@5t z5ix`gxR?cATtL`4sN*==n}>fEyEuqbxxn|McYeCmyJeI2M?b20eqHG^cSY7$U$Llk zfA=e;nvDxfi!QJJIefP_-CtWO`ImokPU(WZ@t0nzd*G%8msS7dC!Jp^Exe@q$3F^P zI=^J_>-bpD=vd5GC2r0Lr8h!5AzEl&li^1(Q#|I&Po9548x4-*aRC!KaWu+rT-3v< zLcbQ=dFN##|2d0|#&wPl-~6|cOK>fpbL0C^b3z}+ho@HhK#{0peK6wI#`<75H^)na zu|7atu~W5v(~h-2-l;!+%7*KS9c#-w^(Rhfb6us)V0^GYF}{%;YOFXEuL!#H<j|2= zJ2!<XB6cl^aiBHFRfqkFbVr~YqYy725AW(upU~=laZ2Hur#>ie*!<K7(<V2X?Z3Jp z=KDVwet+5rPi?OFVg%uQj#HR{JW<RYxnnCDohF*V*aF%BeF2eK3MCICe=osaA}_!G zOGC#Q_k972*SPPGVpWub4lT*}K56$r?x*PkteyCk2|tF8wGjRwGwHHO)&U9x$1q~B z5LOM<Qj@72tP)mD4f!#95w6>VMmqEGUdkz?-?<3F`puEwF^~KXmeY~n!P2F|69iS2 zekIN>VohjEi$2q68Bc%4?+C)ba@`v6Ne_%^YPw4@&%OIU9;W`EtA2G`>GoHjxzNho zMlZz1*`F9MYs`pmQ4DR7sjiIXuIP9nhJQZ1lz8YimfESme%sqSS?V@@Gb+MV4oEgS zf?de21|cEuly`zIXbBA6xB^>O;lI+r(sYsj8ryptOYhWQyG_Lree*W`HL-_&EWJa2 zZ5t%B5mWgfbT-O8UB<PxSQ*Yvf_VX~R3a-tBv?uwBOno|1w~ENz`}dZ<gAk8Wa9y{ zNI*{8Xt@d_X3JQf#^V;u7h$BflfMq8jG4stNMxlEV9C}@l@tD6e?p!rSNne&sP2UH z{#_-)()bYP>c8-Z!+zF*_u-cy!@&^T?ofd-v<RI-H&&Q#p_nE~-jyTgD0y$O7<ci? z3_z(-nPCRn-`$1C28YwvGnJYTF3trIErZ|~v<r^r45KW2q*z<9Nwdlggv5{42Att* zpd=7LS_;cYC<=TRttVG7No;V;NXNqe8T9%B@5RIE8TN!IUV-!Q%t;MC@2d#K*YEkE z$rbY=t=X^;3(VoOKArAVc2xzdox8jpDb4D)GhQ{|$okIAztEPxS-SltXY*S4DFxy9 zpAo}NxkFiuAGbP~nuE4MA+TCE=cYgpU>&S6{ieKMbjhfdVCfC!dz0YTeul6S!&fa^ zer>Z#fhirCi#LAZ?zb*#TX@lxpS<qIvsSv#_oip%*_62(Hl5iVl&uy&VvW8yV}^du zy5K$E>zRJ*dE2H<U!7}@^hLg-|M+JQt<KrZK6n0>s+EI#Q!~%Kbye1HGlgq%SI1&6 zVfr$}6FBAB@_zs;Ng#@C0oP*Zl+`&NZ90ZxAzstxfPJR+LP>*A^CLw+6f_zeVL<4h z%S4b|m+zPJy<$2T3Z~)n74y(=B9cqCm}#3`VY1Dg8y%cFrO6$0`IoIxOwpj-=9VO@ ztELg9A2!VzaHk&oYA}$V=k_jJY06c#T)42qEjnc@V-8QPH#Ie6adppR-x`cexurc| zPxjA<48EIQzPAux(B|{U+##!j$!353j9Hh@dYY}gtZnrpCX}G~)NA)!qZeHE#7gJ1 zy6(EBP>n~ncPv>G>$n^u=lJ)9o8))p98j>Ch+Uf{P=pN<ji(ynr1O!Od{E7owFMwT z9xC5}-Bwd;ZEou6=W$+uQl={2=LMy)qo;px9vAu;L~}M`LSmB3+|Xf4=Od;pC<73a z^uC5vPj}vo8X0*COqfw?uAjT?>Mft$_1P^~FPmF$uAO|~A<L}xGgsYk>$NM^was_1 ze0XYKq)Yu@wc~<2x-Pyrx!C6yhnnn7YgetGm&wdqziKUZChyzV&p2mFYg6v5X&1TJ zg5;d3H4E2K%KPdCYp>oq>*DJ5jg2%-K??!2P=Q5KM8j#qmxZF6W-3{tgBgkjReNi{ zJ>x(B^EX1E)vmfbT&nZCCe6kE=2EM^i}>z+4!6_Sy3fPkYxsLDe{baPNqR5hER~W; zm|>tHUK%md$oN9qW1s5i6P|ZCt2{NejmeJ69~-dakjp*cU`K~KP|LuJL~9D4&ang$ zIPWF0RtP*3G6JC=xB?kq`G`mZB99V${*39#&*?9JF1h0It1eF4ANs}f$xZigqGm#o zscsi*N(I|94V}IW+t8Yxbz4VOZLKAF#>UT%kz3jM;qrR|8!x<min~dFvv-I0iOUU& zX4clPsH+`*;$C+uo0?fYAl}k>U++Bw{-!2p_onm6Fp-Xb3Bu9Kb9%gx6GDo^8fi4y zLY6et=YUcNDC>&4q{)@63k=`vpW+|B`M=nA*mv|N$l)`4_Pm%JYcRz=JXjEaIoyt5 zH)PR3dnS=f@mc|_gDS>xzCgjF6dc`>QIlNGLa}jVi$NYG8LUPWL^4QG5R{{;wSv=w z2n*1{5wgi_5o`vNWY3V#H&5sT;T$Z&D5p4`RCsQ2h9xX!s<V(+Oy*P}h#;DwtwU^+ zJ6Nsg4;E^D=e%)_ueP8+s8lm^v%ky5=CGChLqq-gGx|Tdy8O-lD(BzyznvKz@GG{Z zOKpmOAb2LT{LM+LG5&adj%`vEhCEi2(U?=@9jwKgKY|azh&EzjC<+LMK9DF1qa2A$ z|3|k0Ga*vo!~OE&Z~(PwoCV-jh%fwzKkj=H-y69Qh|fZd8vl>==I`1f`xP(Kb*SxQ zN2Wpz<|LIBLexGyi#{H7W98)~s4&ZjaYmXOG*K+|4rQOE%FFX8Jh0MWV|R8T6d%|q zp`_q4nEHr*4jKDcAcy`+VHuAM@714T(hWPF)1ML_-*LkubnveLPKRD51ob6S*>2dm zfB62LHyQ_s-)M{|X2T0z)TpikG{i~H>2WC2ME4j&uuN(sT5R}f{bz_*V!J3H%!r>S zZk|Ro088`nPlB7<h4lg=+#r?UzP9mH4I5>G1+o<KgJK(i_*+4Z4vwX!s3-;%;*dO= z7vc*+R|qw2%W4^LxkL^;NFJ}EMWP^Ah=Sut!9;iqVmL!k)ceipZc1M8yG#(}BjuQ2 zqnee~>7L}Y=BVO;jg9^4^pcHV{O%VwE=gCLp_f8W7KchluZ*2l<8b)v6HRR$)r$3K zsb$5@mt46#ms@`2B{#2NYlyP+BJ#20zZ1SGUnIRjT9bq{_B@OHo~>saemDHj?4jQi zT=si$7SVdH@VfkCnQK>Y6hN<>E6x@Nf2Tj9?~%g8-w|j1o<KPIP4W0tp<vnq?9_^R z)FhB@P9p*k#==!=LSSS>I+2QQY`DNA63>7PL4(4JfOX|%*2>y`#BTc)D*1fwSL`O* zZ!IBiv`+scFGU0d9kr?c2sZ%Kd9)F*zKnD`XhCy@Vgrp=O-^kC?LEju;L*Y4d;v}c zHX+#r6{+!{3ez4Ti%0;Y>;ouETBsgvYv-eqLUE}$6ePk~31yXBVk_e-Djy-NtTUh! zVtJ*@;9g35O>X4W-kLJiDd!L}-1~}Xjd-KsmN25OTEba^VZ~7A@SU-Clk`-z*Y~Ir z!0}@<<*Fc`y;<Wu;tzyNEkRCCdgFX9K`S2@0Vk6-jx<@`m(h$wqyQ+0#xp`^0&z&> z50@i3geSZnq2yKRb|azH_-)K0#Q#!`hzDb3Al8`Z$a;jukBC&Flae7u9v4f1>_Qk8 zWA})I8!63k+?|e9Q*PPF)FPmPu@3OqHjIxAnh(#7<&~XaO2D*54JQMZlabJf34ts| z&ICDp?d6wQ3u}4#W&I#=IPor|g~7l0*$nK_ZTQW4o?S%ts6E3=LTRJnWZYd7Ckce$ z_R*ifPw^ksfA!K!L}DTcU%%XtdX!%Pf31_as22Df4|YL{5-1Mt@#8LV?bVH7cSwsM z*%0N$)S`&^<r!Kw0($uLo*c?l2i28An?gQv8bKH)Mr6{l>gH+Dr%jE1agQ%)dRo7S zi|v9jWROy9wfOsBx;-@9$iwK-WC`&gMy##_vMLX&hgVgDR|hrM%pR=;ZOihsX{`m0 zMa_w@I#Of6v<R*1kV8GwrGC>i)c#5)d_lx?HjrN_Ez+txl8@Ao+L*1WkzEb7!B<cV zPc~WPlK7S3vytL%ce+i|N`F|+OK*h(#Pd`zAX}ZSsyZrK0>Sv|qtK`AvPCk9?C7zt zm-Kg>4ptvvr|Z9yR&ck(*YPc~hZlnW7l1!nQSGRwl0}4M3q-U=b0kx%v&Ci}Q{9}T zytwX+QF^F3hhDWIf*4|yTq1eoGv(pIrb%lt2Vgk(LZbjEW-A$TrU)6H=7xoJe(xt{ zx^GzNHGBQ%`0>8-2KUS@iodSbYmF2xd1Tp5f1NtjTg#qsPMJH!(RnF5ClG#y&0BJ_ zKjy0q_!^n-mL>YPo<Yx>ERrJ}@HYGXmgax&nlYmbhyp{dN<e;Cewg$vUTTW6et>o3 zAK-5MLkdvfPfHKAKlD)hp{0M`zyHr8+ke`}zJo)5+P9CNez@)M(m(Cr|EHyg+mNnI zYc!2H<wZ2W<6Mg|hiGd$NIrA;m9=0KSkF)6Oj!%eKaG)x43;)H5nim(;w>mifJCX8 zEEhm2LMf3Z=Vf8WR`=14<a^;6Y5kk^Gt$|*PS^T-{e|5q7Q|jWdhjl+%EKQlD)h0T zXltSE^evX%ZKpTYzx;#Rq<%NM_SFN=9==Jxo9l$s&Jo!~?L^K7{N+3{7HF@KqhbJ9 zHG#~tEET(;niqzD9K((EQwHxMNhjgasJw}hu}ifA6r-0ZAPhxoQyW3xM!s&dS8c_r z(m^7;1q@LGIRdxoG)CMILP|1EjO8E1<*3k*k75d@<2_Qsl7Oo8aearzOQ6n8Y!?Wi z@10D51Fxd<>{{x)g!Qk0xTV#6j7}4-7bu#hkr#i1wTB38ASx_d?BdDvT|Cv($dQ}e z_jca*Vml8TZl4b6LP>J%==^@CQs<|PAwjEaM3)nNYO|tN_i27$8O6}_(>S`E2Z}+y z<C!dp8I5cKO38xsF;+B2aS{1Y9J2;AqG;|!yhWt=mmXNYX_K{7s7HeEB`$~Jyv*fT z%{o?Zx@^^^ZI(K>{*>i$*Z|2-n(N#@@_4--J<lAnO|r<cXtIBHjs6U=%HBm{m6EjE z-ZVQmyZm0)^^12c)t?EbAFW%*RtB0P0e_e=Q8GzRtE=kymG2PkAk#L2zt<qDhkPiY z9sEk59S|t2*Hb9JLY<l|PT}HUN*{>>_)@TxP%Z*5f)H(khK7Zm7zc#*d#G@PI^A%v zq#&91Tb%WBGpAjcXqTd>W5Ac1GzGL{Y2vERE)hb|WRL>13z<;nu2Nkh4JQi1-yy@} zc_nF~L^q4e)B<u+4B5s@iBJyLWmO)Bi(Ll1<Y}w^l&8+TZPP0I8}2&uCs}fn{<XFD z+D*&^g4tvT(;KBfmBd-Q7PIR;o<P-=PV<{`RazN-zv|0P0k*Qx?AM=J$Nu}>mEUx@ z9X1dQS|A+fpfF7{2^sIuSxqijEWL;coF^3XG}oqJPEE_G0bmML&#c%SAiJx1D#(+= z0T1b=RL_ramu7OZc!9ZSE+kzdt_uRB4#}Y-{_k`W>_M?8=@j5EGh|s1h|+Y*4(O#x z6%3gaOPq4ZHt?p4RaK8R1@vc@?pl1kJL%dSJagsq!5X9G*(`Nxoo=%NP5r5Uzu6ak z+``rnX)alH`KHzSFIG8O)#X9Qn)|#}qcmbAg3^9Sgw$V0e0!<l!w?0#^e!q~hk^A? zp$a-ZMh%!gUilRHdadPRD^I~`or0bt%^1n2l&1oOY$|%*O1?=aRC3LYOck|?dhRnv zVRFud$Ourb$qbg{c@UT%1pZ0Bct}CHND?Wj9%VXKm2}F@NRvnT#m!YI_w{VauBB|H zzxmOs;SVqa>|c0?{m(l6X+P?1NfvW;@SFFc>kFd6%d41Ub*|j8>e9<sT|$$It+6~_ z?{e$gFzWj2+syUu9|pbNAS*d69;;O4y-&Q7cU&aB9rNTV)B_1%%nf}7$Sm}?N_-jg z0FROEt9jr$(0C>|YV-*{2u+h0(4w($QcifKyoLxB9QCXMrgQiF=7vW{eSGiiVM!6{ z6T45pTwHy_Z}yzKM}LPL*zi^RnEjO(S&Fs1RPmubg*JJx>P@LwW|)EqxS=*-A|uoW zH7qEULGuHVq1sbH1r=-+66DBICqIV5v(%}oBvt$n3C@Ox4=uWW{GCheK57z>ecmA6 zV532g>94=|3h8wdY1Ch#k%E>OsnACB9a(CX=sSgsStne=WTlzlu2yZR7X&g9OYl~W z&<WLm@sFKIC#<80@Hv4<h%h5NZE~BIRN6Ea6o^4H;ugm>D=?v1aH#WUfn*>e1{UcW zIL39L@k5E=2dYPLk|vT@1qSxyfqaY#{Epa%@+g0K5Y6*>;R~oBZ&=!Z(U)b^&t#bT z5Vv{_5jzAbVq_o2gz}T6i-8?d23#(a4?cnE3s+xv`yF?G4kA~z1J$f*NOev-<H9Wu zet`?&Wi3E8gPpz8=gwcfmah4XGGMa{{-I0n*s+toG(!DRp75E27Jtx!m`zyD5iuVm zj1yT&B$Pyea+Cx_6@krA2FaV+3#1F%`CcG%z>}lMFTj~RP~}vfT;+LWIQ6D!#^cJg zIgN6r<`iMgxQ~k_e?FMSn?D%nkn%ZB((CywpfHYi_WaFSXKrB5V70Y+Rj|J=Z0(R* z+Re;#(I+Ae3CYz_<(jM5X2d!?S&s}rN*1j(wIQF+VfL7t>dek2m&+&1N!et#R0qu- zYt$RE*_#tHoeo>H*XgiiR=9m$cWZ6G)jh)<=$9nqEOjwSs+H`D!)s}<wbeI1%1)RE zY+d}?dfVI@hfj7!teJ@HUFe?&aNh2et`0Z$M^U=Y;&Cw1;YftUj96urf+=sfCR`u! zm>IL!eMxu(76d}Ac2|qP#^&`&Hb*EOh*{F6D#;`_CW1~$a(c~n25MQ-Zb!({aOIWG zMvL94$knTvXqKJl()t8TQxM^&xC4<<!gL@FAboGh6v{(MN734b3?h7n;!D?mb*Daj z?}t@iy>Z*{)9zOH75B7y#I+k=={;-X_P1_+_N=*?;io+w;OJ1Vh4qkqPjg=tRY)al z4mBoFSE9SD=DBqYCu(Pz41G)|=$BJaX#jvE=05yCJqNX}KAw}nYg!h2xb@aU)*IEj zB%csw{AAPZ<1z|>qsA$mhP+whjk;59!wN<88~6Mmck>5hhTgYMwh3GlKp^s{NrvE! zV^k8)*fR39DlS!Ipd$I%u&V`4pgL2OMn;PhiVq+a7J0A77D~74kCx=cKoqGW5EX#I z-<WMdc6w4+&k-D80{G2vjx>ep22d?&WPkzyb01V2c-29718EjeO;7-w7xG4#60)2r z`z=AIs;LU0n5A`B&|Fw?)hHTeKq;h!8dx0+Q!?Gcq@o5WH$9+$ma;mnnT%tCGNv^n zkCPA$5RU(G!<g+t0WZ3sKq;NjOOJ3HM5a!0TZ#OlerQJ{k$GPD80s_RRmV7YDbQvt zAwZL`%?P2)E6B73SgE8fx0QC5$m?o+h_6-lO5{?7qmLh#V*KOSgT_hmP2(E|p9=C` zd9UEW8Xbj=J}4{}eo?8|j_79~<qLBtTcgfFakPxu$LkVwXNygoW=*GoW>^^rLR&H} z*b8yumBjTpQrJ;xBW0NS{bjY^!~G`n%lq>4XIbI(<km)>*TJhqKP-iWPElO}yNj3A z(E1^Lwf5=IfATOLp0l}qa>j@{icp}nMQ|!4lWUZHE$!3$X|u@)!ch~7mO(*+&aP@U zR-tRG%1@AE_lUl3=;e3<ZG~Wqh#WN|BLr%+#c)$4jf4Q$=%*;@^}%J)j#w-dT!L3D z77VRuj^4m*#*WJkJ7<25MPeOMoQkpH#M)n@<%8}t&i|n;9_xsGJJw~onYmm++Ogk@ znpL^nieQXx1GZtue=SUtzYRNk8MG^kcL3B2D-P167o&zDS)QT#4T6@Yn1h*pYE0Sh zaM#wMHZqmL(y}>jM3}MM<g&CX!J9$;)-*YgEe!ltsb6oQvfVgbxr7Szz|To)W|Yx4 zupr?pkg%+-wllG1?#wCif#!6R!nP->-F0X9Z5^j2^cyX6*!6y2s4nI9G!Fl!dqMsT zo5|hTn5y=(v$|(&>a7W#yTxib^VqOuj%b=SMe$s)Y|hF}XEe>z1$OYCm-Y?Rd%9X$ z+vr!%%dAzzctXF%GK+m8=m|BZ=@$oQCi({&8w2!v`5sw$=)8?*{_VJ6na+;S+JE-i zPc_E#)%Y>`6CsOx<?qWwm~lPG%^)e<&T$+IuyT+ON{&%Yj1Vel4OA?n1%~@R$>KKR zaZnY^tD5-2PsSIAqbN@SWP!6cjaArB%XlyZ(-xJQV7bCS&q=%drQ7d0@4|a-doi(g z*1VV2E1uS?<_^xAwKnnOjQ)Y(*&9||=^U8VzrJtb)Gb%#=1)Ig@_h28+irX5lO1PV zI&bd3d@>Z8dfVL7=FYqHjE=fBr}YQVxZ<oUoc(i$>gR1(`PA2!pKtW9@A&)jwemls zPF4=+jvo!d7&Bh<9-)k=fRAyunE43^6@;KdJpq_Zl~8Cb5r#RqWA>S653;(!!5vn| z#Rv2o|L0t9M>s!tU~q@UdGP^u2lg|Oa3VjrWAN;A2lPJ<vJK}B>>Q-8e0y+*%}U?- z-*dg~Q}TmMJ{#Y%^KY$Jx^m&fC9OCzIH><|fZ8kZJZh>PNEKAV6bH{etq?r0su6Yv zM27McAdWCH*!LP$Uw8!#E^0Eo{7W5z6N_dOoIRuv16SbX+(xWo)LDpoE1CJF=@&fw z<QEE44c7{a6AbVD!HhLCW~?bl-wI?qB9V@4;MhD!?7xaH9D9vU%s@LyPcY<l^;lF) zO-4hZF%r{&_Tm`h?tE`Hgp&6bQXCj$G|T+-7f@*(3AfwT;$n6Dqf!6UfuFIhKRdue zjX3Id>u<X0BccD7e&82B6(p7xys*6wBbR;#Jn;_*l#vRL4x9x2*<!m)t5!Q92~ZmV zLZYmUcN!h@qMj2|XY&F%SnIMtau8SI(b`yRQT9%yP(T=*{%Akn@@NBKafpt3%DJyA zYjeQrS&A+a`_wiCdERh@v}3oqPo1WG1EE~$sodAEdMRR%&~WIu3gS;X5WNW%lp+P? zPy#|h2~j4#nc@X0>D}j#NZ>M5a`F+9gY=0{o7OHg`^1jHrJ4B9wq=FXoE6hsrAMs2 z3kMpeFV8m>A1Zu)byLk=kJ93=x5zUV{Q1eD6---lzMCy$W*3U04&~3fbCzZ4GTGNQ z^Wwqzi>map%i?RBzOnz)Pdb(?Rn|6b5+mWZ>VVk-K*DRCHr(pHV_+U0fq=0r2p347 zLrnE7VTVAN7wiV8C=u>WM2UGHe;|mDKM=&{s?Zc}qCQ@OzA;;@=G70YBXAg7IR0g! zdKyTZN01chB1Fk*IFt5?QwC>|&~+=%Iij(at{m;SylNY0+kz!cYbWDUP_#BIa-<36 zh+d#2mnz7or{WTTiy=`c1T%<j3qbl_n$sbwi$<0JqzeLQAdU-<SNrWYDbv2;@!Nj* z;Oym%$yNU5cqsDMm#l$6^VGz7f%s?Qi>GIsm!(@mzsRQ7gsSuAfF0rDwoYdw%5-$) zYp1O_r)j8oZTF)3aG<TPeq~FpklhxZ)(gC-A@bRpkTfXEwNA&qvddiMQ0)18=0T<+ z+DHC6<}m3ph<+pg1jUT0PAVosM9~~D230FJRt?+FCXxjxavuup<;o}b0#ea4!=rL+ zt8_bg_wf6?zNi_`VF&_!YY-l<)PymkA|@3g2Bd^SrWiQXix*@tdKG3t1(_>`xpy=i z!Wf~#8(bv7Y(<EB#E<c~I(pCmh3Hj<@I}ac{>T?paY2HMR!0TqfmJwave|uJPXL+= zGUae1Z<#7>01QUQ%zdg=!I}W0my}vO3!_Q_PK5zAY;i<u1yH#Ndah9j3B~PrQKURn zNb%(o`H*&@_7Lpw^9$z_*j-@wk1WY!TY1q}ItzUmk_1{gd@rR5G;u+9B%16o@>w*C zohlD;OcH$sS%AAhasq&<LvcGUQW5tsnE)1a#vMRs!M_SsmvVWy|0_%c08xA(&c0f^ z0|cPbM5snJkpLEh01W^!_o2cKWgBSq2)+aGi#$wtoW`h8={;3?nn0Ct)F2w5qZN{z zKSm9M0w@)OLk3ljZ3WsUa~`Bxc*G-KaLJ~T`lVzN5UK(~aHc3$xky-6DKxQB99SVN zYM;-epl87R;TT3q6?_G8gjA8q!Fx{+>EIP`_6wq9=2aqGh&9$sNZCZkDtHF(7`g?{ zCQGZr-NefnGh<AtM>MX`&@q&#^MjIqcu)iZhNtcW+Jx4_SB*$+FR!odrScx=lnZMk z`rsh!YM+mf4h2Q?CoZ86U}EZn!daO2!G|h7<NAO&-HClb;Tp8wV9@mVJ`lm%3Vb9+ z`al*MU>W@5TuDnLpQ{zS#t!_CMq&lG)zATyMnU8-xDl+#rz&r|`(V-H@X?Y4CZ)2I zys9li;xI@-NMHVd6wQH&wGX5>vRFn4jv2+>r~ES)7!fB(IHHyr<-52QTOm4mlEz;D z-`eXyd)>Uf5HJuvcD_#7z0_WN@MGGGif7~6JlbAr6R1ipKEk&Q9vN#YHJj)QNeD(+ z4Bt4#!nTa%?gCRFV+>{h$5x4Z$ruBAh`4yDC=(-2;9D7q531ykQ9|RR@4fpKN;f6X zJd#h1%tgZ89(&t3@%CwS)Hr9@<YR4V5P)JL#Fxv*N^2lsC%1-VW(Z<Iqf|>lt49X0 z7DMjr$G6be&fa^J+Cn+8UwL;zBTH<FzK>e^m3NJd+3_vaokx!n*$ltm2<`si_VNT@ zqrGVQ$G10BN9nwyEt=5Y0_w2x*1q>B5qx}W3+Tv_|J%0y!?cY{)Yg%4p4e7)gg4e8 zJa}a07!!bBml!;WTGf<aSPQ?{=yJ?qAIco?f-|vVKpj9d3xZl8N-5OF)HhNILRA!1 z;xy#}5kQ1SQX8>lJlh6~AEpQ3AcHa4E@}@Ev7|o=zzC-d&a9+NW4xL08ie&h`Aa~I z5b*<jgsOvKNv!7{Y2ZLwkX*7g;6ooF{%#WG!CV}+9Q>~+T_@y##U@O>-h40O`Wm2X z2^RBf))4D>$YiqFY%Zq*Ri|7wYe@ek`+_K1Y&N%DenJ0Wkw>)n^o9O_!|JXQFGlJ- zLt!_k+iCNdf2sd`jgR<|&t*=xYRqL+lLLctHO5Lg*_3L87!SmCKrB*dhcUIGPtk<d zYU!D46q%@cP%sM(H!`vFJwU9C(gpyRGYDW0FrZZkGNJL!^cV@_?1-y$_SuiUO)C=@ zIv}R|TL%5UC0j(1Cea9GD>8@t`e8gva8;$9z=*K^)S_Vk-9~LQM9dJt2mhw#fJydT zbxkB1Yb31~`auGO4g$D&&T0er%#YS89Bms-iBDT#HxTMZeL&Pin&K6cJZqpbo0i@% zl2QHemW2i6#v{G*es<)3{Yir*&RcNf=SCRxhNW*mW@Bsa*PZw4k6=!X&&R0~&fqy- z=m%I6!EjiSNP<FiK`Asci>RaoEYX_Ly3#z?1@6e_kzMI>19nEwP)r<{)$<6!N5rmj zVwUAdjt-o*yhPjy`7V{p@S&^rTy@o+$@wm$#o=`?oxW<E9HW>e4|G3Nhvzl@;WOgS z8vc++*v&}dvqE3sPp9(|fE?s20i0L}45L|P6JZxC6zt=2$kh(dv1&xszDS{sR4tQ= z%ew9QyHbp*5)+%CLKX4th#Vccf9s_CGcwvg_U6c@!9Sj#K6-aJe^^?d#Zc{T<nAcU z2u@^2K74b+y>CI^>3L)$eK#};^5lU8(CAQC6Ma{B-xcb+k*q$x?=V9rbiGSl^#y(I zZt;$BH~*ggQ*qTp`rHSGr)Dd$SfpdxIA&Xom>`4lK;Ga$q`PC%207V-{MJFbbp<0B zB|9oTq@|<}fi|J>4cKsC!)EbY($V`5+|Pb8)&}X{&wF(Pf(^xg`cItEt4`LA5h_e> z2O?uZg^y_pB7gugJH|C->w)uLmFRANW2Em@_&_Wi*l>WojrM)+UGZBV{)vwVJx>tN z<dC0*=4Yim4*=Uxt5JyonNQ|2)j5aqfuwrM`9X~f`9VFY|8SYOXLvn(MDl$23iIgK zvOQ(#$>Ax)TO<>a;|>~A7UmLxRu4QvLNSxduFx|#T-l;op*^#VJu8p*t;in;O~6BB zgF{MEDxDjlWkp*MH4@13G(-xxE*Ik2>7=bUq^RHFz)^5~DdOKfJR9-Mu!IY{rMLVM zE(DK#9i<Gw{bA|C66gJX{#*vCOd1vj1kz{GLN{-r8%9OZ%oW(t<{8ix7!>3{NS>gX zAp(nzkWt`eT%!WW?&VENB9|}3s5EY+Vfs7Q-K>9#S~lm#>)3`H_2l94Eqq;n_qtoq zKn*9?--v*XCoAy>!1+xs(2}0pmjFdaYGW9UL3-3As#wyPl@*%!;Bny22k>d785cf@ zbhYOz1S&lF<Sirr$B3nWz%Sy&`tVhL{?@P2g`;wV))6nK-KBg@2JKv&b}lk$%pNik zka_|<O14r?ltDf>D9o#Q8jc*kK%$I3rWQSt%9-ULU@es>@j)Ovv6^c{V2vNLV|g4$ zXL=wf^|IoHCNp$|&YN{7?;a!$6z<YEE`S{l3O~h#5ma@mRZ9G7$ilHcoq3Wzovb%t z26_yD(f;v`M_L-ic_2ugn8aB__z)J!$z7-nl;P{g>OR_q5{Bq<-UsgOM?B`Z!MU8y zj`jliV55DYnh1*_*N9Ul=MGS0333MFpb}N#`*69e8WjX#fgk0u!zl{xN5w!d|3UJB zB4SehI`l!Z0gcMow~?np3)TXg5E1%O4|@+Onhw<afQ&*eer2oyv)Q@bN}2>c)6+xC z7FJ<SBnRAc`$UsrfCoXMeX<0v0@MrmfV}<yxr2m}luxJ}8bgGHY9+2P!fgWxC?wc{ zzqnpRyC`;_Ff<{8S<o%A!Dx#%TL93A-{u}Y05$r-m$`oreKdTXH1?F2jW`#$kRkgz zxjF=_7N}AP#y7wPn<oTt0a3c})u3`YY%@Df0BGql#3LTMOwn+aH_K@4j3l1+5Jgdy zAdi7VsSo}nSVTNl{__eVyilOS&bJ$D^>=ELh(_N9+Z^lW==<g$>8H^Uv41Iqd*an* zlYTYr$}6Hi<r-xU@(2uElrZka@EjmQ21ihzI)}>QMbY6R`@AVrtgcT|ra4gKTFlLn zVAm!Jb~VSyD#GKBNO|K=J3_)qLx)5&Zzfsk+;K{)AZ<q^0_WYR`?YIP4Lee^2#+YH zNM1zr>YEqU=+2r&`sR@%Q=BQbUEh*&PMN|?wt!2zE?C3FDLAZeVcSO!AG?bVgX{2D zv5~70fgOXL+=2M}A}T8LBD2t22{Y%ZK3+e;K$(nD_{dB3fMltLYW$C=)MGVP5L1^+ zQoZI;8$KQi;DI)Afd4&7)cYmxFSOGGaQR|#T?}1jZ2>{2hDDF@Kmum^Vt$MiD&uOy zph4Z^^YnwbvSRY@DxG&;sW3eED|dVac8o{x$dAa6peKSCP<lklAsU1dK0!dh?ZAF1 zeAvxAEZTqH1sDGOfg7XIuP7GZcYWQSEjy2G+@hFWpLVr-AC>;ldiOmCF1YZ%8FBWg zx5IUpOIEgQJhpR-(&c~AXI361(s8?l^8u}InM!>nh-LVJDQ@qyj5bK?m=kKR7Q^$& z)Fx$LsyREriAJFbdAO7MB|J|DwV*2bQKZv@k>L_!Ggxmdgy1!}rVzf?A*1Yr>}CN3 zB#Ob*ip?uhsD8pOb3xpExZfWM`+w*U?_m8q_=dT*u=Vwu&wBh5g_&(OTlRoI=VF<x zTotPc`0MKJ_N@MMSI$r6{=}yOHF8{T2;5g)eP5sfn>B%wwdS<0=0LouDekb3&R@zi zs2TOYQ||Y;%Ds42M?6jCY~jloeJP;;J-y?&^o^S!BSxyu<9R?d?EDX|{tD&*cmJqt zCHu*ECb}P9eynULRZD0xP&&Slas7bi(8xpZ#!B4eFmWgVA)tUs5KTZCLi_`91$>8d z9v;F#pOoi7pTo0hJWcd0Dc%Osn4|pJz4I$rjiEP_-Ge}sQLKji@j#9c;;Si?KkX01 z5=|{!wgM-`er+t(L{X}U*dJAE4ZDq8ZAd;&AU_$3Rv=-5s3ol12LV@5w~8-NzUA=j zttzja#2KDyQGsqmNbIvCbcOE3J7sI^HG~+6;x<H9(p36?)Tf$%tWSK&FxUVp<45(0 z)(u)YPSqpy_6Q>J=;;NcJ(4GkQ603k*(Zz;9_cc9geb$EMrfZuz#kq7AcODK)>D<U zQ;iNvl3;Www~{_jIVvQfC}Qx$G2t!e?WeJr*!Cdi(ur+{4m7##yw-)$cK(>IO4|cL z{v4!JwB4it20Uqt(WVodsz17$4)3N?f0O0`)f`I$128a4%mWyX@CzlfRH8A-AN5l~ z1R(ZC+fMV;i1?@6tT<}Ud&mt$_yL~VP?<NzbAV1dGq5lwdHKdxCeyMGJ@h2KA-><% z+}oGh29Ig;wr!~shk*M*R&86eX4@(%nKgNiCwRW=Xx}P5LEh_VPbzIi_S)zik0YFd z^rw+I-jHhg2rim1$LTSKm=h=Ii@`(S`FjiGJpj=C5i^|dZ`6_<FRzTOr!=CICiiCi zxQtPr_vU$jptc^R{;2q((Vyr2)wOk~)|mR}9^qLUxd5d;eN=x68%b21qBE%IgZOU} zSG+UeyNUgw9IhmggNMfYgJ-=oG()RG5&_tcn+wE^sGAFeKAjywrp8NXJU9%G!Kg4G zv0|vauO?IvEfbg_egUWz_>rDyl;ri^DVhcO9nF+<Nco|Nupblh$kU*tFlf<!%F{Uc z)C)nLSG<=X5qUJBIm1<S(jkW%^Iu6wFnGNtjW_DQL$!u6We7>`LLxhAJT@1m+zLeY z0h>b<2zo@Y$|ypIb#oM<qxncZ9!2QrSwOX@Y4n`k<&*fs{(vnbatzM`q*62hPVrEi z{gx^KXV|63s^NipL6q`zD&*BeRfm&2(oyQk!)By^rvmT774ZWRbn2%&@&y6%l4K@g z?~LbI#-J1I8R;$RaQSl-xClrRV_%uJ09Yq<7^P3@vc(ur(TO1lL5+C`6jp1pl#LR? z`zSdGh>cOfCn5)R7)849424EK9m(yLIYAoY6@u{RUf?;(p=x9tP@vctQN~Bnjo_K^ z5r()@gjJp!RHq1!tDzN~l%m3^N%I9VSd2gDpU2-n{;>R_d>U4gm~a)3a03SJ^{7=8 zsRBnLWqE^CkY$FMMTK;YdS&op6Ziwh*JQ+c7Xu-x*RMrLRrSI^(Hw9*Xl`^+;14?8 zC)karE>|h2*$^<E3@CBQ4E2TT>;m@ZQ5eXCb}=Mw;U9Bdx$F(L>(=X@eDb=EwzlUk z|NO7T!PRUk`iSv=Z~6ae?P`Ofy3X)@*98F)Q4tXo*AGDD!+rOA0f{J5gTzwXM6lK% zB7zDS!4DdnrY5n}8f(?0CK^qnX%nj!t+B*9Hcf2DwvOo}*0lNPbexRikBsd&X{Y04 zpwGGYS;fSD{K)Q}ecyBLInQ~|-RIuD_uO;dv)26Q9KCTQW$A`@o*9#zva0VXlVYx1 zZnw?!`Ddd?2HpDEm(7w+#(&i~I2kxGJkzWXgRU9djznBB+k?mknBfebfE5X{Uv@3& zy3-6CappF{*s;H_HS@W~jYmIYiTTfP*0QN~x8nZ70>KC4LKk!5#g9%|@tYenS%TZL zz8i<l2j&}jes5vnUQ>g4;uf3l+66*~-Fxw$gAr%xqs`0|JU+pso4nyrFy<%EZUct4 znC^TGRmWb9?}|=$w^T(6Of5yBs+L4w$-{M-yOwkwbfqL#wYbg%Ye%J~SG8pKT`VjV zUv^7X#&}QDj75*d*FAKw(>=`XYB6mvq5Q@E8`~ZnR{9TXJnqKvdNVl@^LicGU);Yh z?gPxiF<#{DdmCsd7njlhxcyz+_jcR|Hj*h4dmWHoYl=Y|5HP#ZiMzI$lK43(1$WC* ziK2gIIEc78&gVMPY(rU7-X75G?!hQM8w;MI9Zb_tHyQzX`g@&lN8K?y#v#v2<~8|Q z#>#Zc8jrGeJ#Jv^gKo;1G{kM)$bsczcE#}TCS#cBCAwu(5ISr%-ZcAPft)a4+W?II zy+}9ZV`;k?UpF8vwk?L=jcrDc1#UO<x$Qb%b@xar^g;h2nEa-lu@J+*fV5_WSbQRM zvoB(Ctmo4I2EzfQoA$-F8HsrR7061+V#pEPj`ra`_EuiI&BhlP=DFW0pMWxEUo1s% zA;fW;k+ER8&)NAK9TH-kZ;cf-BP1~*uo2uH_;#|GZ^Jnhv%j4$^x@s{YBZzr%~1~7 z*uU@2w<(D;?hS0iag4qa=iOu-`fqRX%3P_D$K|kGls;F;wa0bAb$w95pz1*%yVu4w z#>3}Nd`0|~!PSF%2473qo#;)hPu!i9lvI(_opgQ314DKUxtd&-+%t6S(Dg$Prxd5u zr)*7mf7qW=t5dsEFAq-{o;!T^h_n&)Bi<dEK5~0na#};$=~20(cBVI^zdO2m^p?@r zG9nq9GtQ1F7_(>0Cz(~5n=(&jUe5e5D=o{LH9u=h)~T$&W_>(1W$dD{hsItX=NtEW zc53$4?2pD*j(>jqYvZqY;yu$mm7X@w4$qAVD<_<rIBVkhNsmlAHaTtb&dFDE(sH_U z_T`+&xt_Zyw>$T2?zOy>yp?$ur$nYSPU)Q*ntEwk+q94JoAXcP-z=yo*i(46@M=+0 z(axfq(~G?s-cy>ZkLX*z1YfVe-oGP|8F(S+4mJhPhSEceLnp&Y;rj5A@F$U)$jN9% zv^M&5^ipv~@si>##g|J8N;*saQaZD=x%B-R6*FEcOD&sQcBbt5J>Gkso#~ocKl5by z#PaU)zt7q{>tD0GXaBRJw4%OZzkT+457(5oj~MVo5a6gm;NSqisd){vPV*c$()gsn z6_>d2*w9*un4=4xl5e8!Lci@H>VwR+H+4692K%VTSsNupJ>Ck*G3p6cx_n4I5&BK) zL#)ZJRO-pl1Jp-Cucdz8N_WL<_^su2?cA_oL(z)WU2B?KmbJHa6fJ9S#i-48%-Qb3 zl|c*E^=!5}ah32gg3t0|#H=4$1GaiFbAPGT200J;*F!h?SD`1+1Me}b@ix~MF@z2~ zw%qE#>Q!rzdpVAVBFt8;#tH;AIE&wlTEA$`hi@GZVoOoF384k}D^O+u@~?mg`_*<W zijrR2mJ;iJ)V>hqO74pFS){^GVg0`rcs^C`0lOU?u&~|U2Lo-Yv0LF-c-zuu<m|*+ z+a~{dw9+Y2g!xNeSl^14tpcXW(}eb!wl`pp7hx2=2@&jfAI?>Gv-f|u^6tOX-BUMM z=3RvSy&Avr8vOn(w7LVS#{O12$LEn}AzIvk_L_ZSSmx}L`|S8_e)+JEJlIPSJOeNc zEXKYFAjRQh07s(z!pdFtBU2|f;QKusr!FxbXop%U7$*`Z@o;{XAc>MBLj==};nL6a z?GBd_*55FxH4UAr>3BexA!8&{vSch~`<fXC9(XjGD3fHe<Y3Zk9^67s#jskqtC2$V z4o}A!Td{__Ujh=85T?3CB#ITSOQaM%vSpZGI8(}HmdwTkl{r!=U%>hOUa69KQZ4t% ze2lxUkuS*t`LcXP?uWykg;FbZvPixvi{)#wL>@FAdZa;?p-X?cG|37$rfiXwvPxD< ztF%eGtdWOgt#nAItdsS!K{iU4d|e)vP4W$SM7}AH%C}^*Jcj?2CuEC!Te{^tvQ@q- z+vG{vF5g3U)b}w^c$e&!r{rn*f$WiI<XPD(`{X%X1|N{;<%jZu9F#-yqWnmHEHBB+ z_;>n=9Fe1POnxdoavaldekLd772JvZTzchIIW51CGZ^)7R(>h3$*<&fc|*?0ujMyb z+zv~>%J1a&asge!7v)X)16Cq<OWu}C@<+KW@5I}uB^|u3t;Os0RyeZUYoreel=gPS zeT@4l1C&9^5M`J$LK&qjccib<k-<v$oONs4?MSe4wk<<mr?RluDHQhFndf+&bV%C> zNZSZVyK+doa!9*!NV{@K8)uGJ?Z!ab_>ja=;;7viq!Ukxr^Hj@De-*7^AXQSJRk9V z#Pbo)M?4?#e8lq+&rdu*@%+T|6VFdPKk@v;^ApccJU{UQ#0wBFK)e9)0>ldtFF?Ei z@dCsP5HCo)An}643lc9#ydd#{#0wHHNW38NLc|LZCq$eOaYDoi5hp~P5OG4p2@@ww zyTZf^6E94>F!92~3llF)yfE=1#ETFwLc9p^BE*XjFG9Qs@gl^F5HCu+DDk4iixMwN zyeRRa#EUw3O5Q7ZujIXYopMV4EBUYFzmoq-{ww*f<iC>tO8zVPujIdy|4RNV`LE=^ zlK)EnEBUYFzmoq-{ww*f<iC>tO8zVPujIdy|4RNV`Hv+t&3R&ulK)EnEBUYFzmoq- z{ww*f<iC>tO8zVPujIXw_e$O?d9UO>y#F|MkoQX7D|xTvy^{Az-Ya>pA%_o2{ww*f z<iC>tO8zVPujIdy|4RNV`LE=^lK)EnV@(LhUh-ebe<lBw{8#c{$$usPmHb!oU&((Z z|CRh#@?Xh+CI6ND$GmXI4)R~ge<lAl#`~yq9BI@!j_~i(EB#OO$dlH*o`jm(<09MZ pj#tL#*G}k3t((`AwgAebb>n*C^B33F^`zzF+C&yytvzO0{|1%B6xsj) literal 0 HcmV?d00001 diff --git a/app/assets/fonts/glyphicons-halflings-regular.woff b/app/assets/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 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 literal 0 HcmV?d00001 diff --git a/app/styles/base.sass b/app/styles/base.sass index 2c1ee9309..8c17369f5 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -241,3 +241,10 @@ body[lang='ru'], body[lang|='zh'], body[lang='ja'], body[lang='pl'], body[lang=' margin-bottom: 20px .partner-badges display: none + +// point the new glyphicons to the fonts in public + +@font-face + font-family: 'Glyphicons Halflings' + src: url("/fonts/glyphicons-halflings-regular.eot") + src: url("/fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("/fonts/glyphicons-halflings-regular.woff") format("woff"), url("/fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("/fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular") format("svg") From 6a995f5bae3a85c0152e6303a7c2757ef422e2ea Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 00:40:38 +0200 Subject: [PATCH 45/79] Finished Dutch translations for the Windows installer. --- .../coco-dev-setup/batch/localisation/nl.coco | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco index 39b95ef9b..24aed5348 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco @@ -52,21 +52,28 @@ <bashq>Geef alsjeblieft het volledige pad op van Git Bash of druk gewoon op enter indien je het pad niet gewijzigd heeft</bashq> <ssh>Wil je het git project downloaden via ssh?</ssh> </process> + <config> + <intro>Je zou nu al een eigen CodeCombat-fork moeten hebben gekoppeld aan jouw GitHub account...</intro> + <info>Geef jou GitHub informatie alstublieft, zodat wij jou lokale repositorie kunnen configureren.</info> + <username>Gebruikersnaam: </username> + <password>Wachtwoord: </password> + <process>Dank u, jouw lokaal project wordt nu geconfigureerd...</process> + </config> </github> <switch> - <install>The installation of your local environment was succesfull!</install> - <close>You can now close this setup.</close> - <open>After that, you should open the configuration setup to automaticly configure your environment...</open> + <install>De installatie van jouw lokale omgeving was een succes!</install> + <close>Je kan nu deze setup sluiten.</close> + <open>Nadien, kan je de 'configuration' setup openen om jouw omgeving automatisch te configureren...</open> </switch> <npm> - <install>Installing bower, brunch, nodemon and sendwithus...</install> - <binstall>Installing bower packages...</binstall> - <sass>Installing sass...</sass> - <npm>Installing npm...</npm> - <brnch>Starting brunch....</brnch> - <mongodb>Setting up a MongoDB database for you...</mongodb> - <database>Downloading the last version of the CodeCombat database...</database> - <script>Preparing the automatic startup script for you...</script> + <install>Bower, brunch, nodemon en sendwithus aan het installeren...</install> + <binstall>Bower packages aan het installeren...</binstall> + <sass>Sass aan het installeren...</sass> + <npm>NPM aan het installeren...</npm> + <brnch>Brunch aan het installeren....</brnch> + <mongodb>De CoCo database in MongoDB aan het laden...</mongodb> + <database>De laatste versie van de CodeCombat Database aan het downloaden...</database> + <script>Het automatisch startup script aan het voorbereiden...</script> <close>Niet sluiten!</close> </npm> <error> From 795aae7bb75f107c7958ac27d6947c970ff89eac Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 00:43:19 +0200 Subject: [PATCH 46/79] new version number for the windows installer --- scripts/windows/coco-dev-setup/batch/config/config.coco | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/windows/coco-dev-setup/batch/config/config.coco b/scripts/windows/coco-dev-setup/batch/config/config.coco index e2d7570f5..eab3e07a0 100755 --- a/scripts/windows/coco-dev-setup/batch/config/config.coco +++ b/scripts/windows/coco-dev-setup/batch/config/config.coco @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1" ?> <variables> - <version>3.3</version> + <version>3.4</version> <author>GlenDC</author> <copyright>CodeCombat.com � 2013-2014</copyright> <github_url>https://github.com/codecombat/codecombat.git</github_url> From 97d4017869cb15bcb15477c4dcf6ca3309e0730c Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 16:15:26 -0700 Subject: [PATCH 47/79] Hacky way to get play background to fit with new loading image. --- app/styles/play/level.sass | 3 +++ app/styles/play/level/loading.sass | 17 +++++------------ app/views/kinds/RootView.coffee | 1 + app/views/play/level_view.coffee | 1 + app/views/play/spectate_view.coffee | 1 + 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass index d051e9f43..756e56af7 100644 --- a/app/styles/play/level.sass +++ b/app/styles/play/level.sass @@ -1,6 +1,9 @@ @import "app/styles/bootstrap/mixins" @import "app/styles/mixins" +body.is-playing + background-color: black + #level-view margin: 0 auto @include user-select(none) diff --git a/app/styles/play/level/loading.sass b/app/styles/play/level/loading.sass index 9570497f3..3dac90ec8 100644 --- a/app/styles/play/level/loading.sass +++ b/app/styles/play/level/loading.sass @@ -1,16 +1,9 @@ @import "app/styles/bootstrap/mixins" @import "app/styles/mixins" -@mixin sky-background($url: '', $backgroundPosition: left) - $top: #95D9EF - $mid: #FFFFFF - $bot: #8EC643 - $stop: 99.6% - background: $mid - background-image: url($url) // fallback - background-image: url($url), -webkit-linear-gradient(top, $top, $mid $stop, $bot) - background-image: url($url), -ms-linear-gradient(top, $top, $mid $stop, $bot) - background-image: url($url), linear-gradient(to bottom, $top, $mid $stop, $bot) +@mixin wing-background($url: '', $backgroundPosition: left) + background: black + background-image: url($url) background-repeat: no-repeat background-position: top $backgroundPosition background-size: contain @@ -69,11 +62,11 @@ position: absolute .left-wing - @include sky-background('/images/level/loading_left_wing.png', right) + @include wing-background('/images/level/loading_left_wing.png', right) left: -50% transition: all $UNVEIL_TIME ease .right-wing - @include sky-background('/images/level/loading_right_wing.png', left) + @include wing-background('/images/level/loading_right_wing.png', left) right: -50% transition: all $UNVEIL_TIME ease diff --git a/app/views/kinds/RootView.coffee b/app/views/kinds/RootView.coffee index 0a26d6cf3..fd824cd47 100644 --- a/app/views/kinds/RootView.coffee +++ b/app/views/kinds/RootView.coffee @@ -48,6 +48,7 @@ module.exports = class RootView extends CocoView afterRender: -> super(arguments...) @chooseTab(location.hash.replace('#','')) if location.hash + $('body').removeClass('is-playing') chooseTab: (category) -> $("a[href='##{category}']", @$el).tab('show') diff --git a/app/views/play/level_view.coffee b/app/views/play/level_view.coffee index bd60b867f..ebb380146 100644 --- a/app/views/play/level_view.coffee +++ b/app/views/play/level_view.coffee @@ -126,6 +126,7 @@ module.exports = class PlayLevelView extends View @insertSubView @loadingView = new LoadingView {} @$el.find('#level-done-button').hide() super() + $('body').addClass('is-playing') onLevelLoaderProgressChanged: -> return if @seenDocs diff --git a/app/views/play/spectate_view.coffee b/app/views/play/spectate_view.coffee index da6f5e611..7a3058212 100644 --- a/app/views/play/spectate_view.coffee +++ b/app/views/play/spectate_view.coffee @@ -119,6 +119,7 @@ module.exports = class SpectateLevelView extends View @insertSubView @loadingView = new LoadingView {} @$el.find('#level-done-button').hide() super() + $('body').addClass('is-playing') onLevelLoaderProgressChanged: -> return if @seenDocs From 7ddd84248bc7738ffdd579bc38b1a6a3c120b00d Mon Sep 17 00:00:00 2001 From: Michael Schmatz <michaelschmatz@gmail.com> Date: Fri, 11 Apr 2014 17:11:55 -0700 Subject: [PATCH 48/79] Simulator fixes! Fixed memory bug with aggregation framework --- app/lib/simulator/Simulator.coffee | 30 +++++++++++++++++++++++------- server/levels/level_handler.coffee | 4 ---- server/queues/scoring.coffee | 19 +++++++++++-------- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee index de1d3a030..96e730b78 100644 --- a/app/lib/simulator/Simulator.coffee +++ b/app/lib/simulator/Simulator.coffee @@ -102,6 +102,7 @@ module.exports = class Simulator extends CocoClass sendResultsBackToServer: (results) => @trigger 'statusUpdate', 'Simulation completed, sending results back to server!' console.log "Sending result back to server!" + $.ajax url: "/queue/scoring" data: results @@ -217,7 +218,11 @@ module.exports = class Simulator extends CocoClass createSpellThang: (thang, method, spellKey) -> @spells[spellKey].thangs ?= {} @spells[spellKey].thangs[thang.id] ?= {} - @spells[spellKey].thangs[thang.id].aether = @createAether @spells[spellKey].name, method + spellTeam = @task.getSpellKeyToTeamMap()[spellKey] + playerTeams = @task.getPlayerTeams() + useProtectAPI = true + if spellTeam not in playerTeams then useProtectAPI = false + @spells[spellKey].thangs[thang.id].aether = @createAether @spells[spellKey].name, method, useProtectAPI transpileSpell: (thang, spellKey, methodName) -> slugifiedThangID = _.string.slugify thang.id @@ -229,10 +234,10 @@ module.exports = class Simulator extends CocoClass console.log "Couldn't transpile #{spellKey}:\n#{source}\n", e aether.transpile '' - createAether: (methodName, method) -> + createAether: (methodName, method, useProtectAPI) -> aetherOptions = functionName: methodName - protectAPI: true + protectAPI: useProtectAPI includeFlow: false requiresThis: true yieldConditionally: false @@ -249,6 +254,7 @@ module.exports = class Simulator extends CocoClass class SimulationTask constructor: (@rawData) -> console.log 'Simulating sessions', (session for session in @getSessions()) + @spellKeyToTeamMap = {} getLevelName: -> levelName = @rawData.sessions?[0]?.levelID @@ -273,21 +279,31 @@ class SimulationTask getReceiptHandle: -> @rawData.receiptHandle getSessions: -> @rawData.sessions + + getSpellKeyToTeamMap: -> @spellKeyToTeamMap + + getPlayerTeams: -> _.pluck @rawData.sessions, 'team' generateSpellKeyToSourceMap: -> + playerTeams = _.pluck @rawData.sessions, 'team' spellKeyToSourceMap = {} for session in @rawData.sessions teamSpells = session.teamSpells[session.team] + allTeams = _.keys session.teamSpells + nonPlayerTeams = _.difference allTeams, playerTeams + for team in allTeams + for spell in session.teamSpells[team] + @spellKeyToTeamMap[spell] = team + for nonPlayerTeam in nonPlayerTeams + teamSpells = teamSpells.concat(session.teamSpells[nonPlayerTeam]) teamCode = {} + for thangName, thangSpells of session.code for spellName, spell of thangSpells fullSpellName = [thangName,spellName].join '/' if _.contains(teamSpells, fullSpellName) teamCode[fullSpellName]=spell - + _.merge spellKeyToSourceMap, teamCode - commonSpells = session.teamSpells["common"] - _.merge spellKeyToSourceMap, _.pick(session.code, commonSpells) if commonSpells? - spellKeyToSourceMap diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index abf3dfe07..2c9c37721 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -240,9 +240,6 @@ LevelHandler = class LevelHandler extends Handler original: level.original.toString() majorVersion: level.version.major submitted:true - - console.log sessionsQueryParameters - query = Session .find(sessionsQueryParameters) @@ -253,7 +250,6 @@ LevelHandler = class LevelHandler extends Handler return @sendDatabaseError res, err if err? or not resultSessions teamSessions = _.groupBy resultSessions, 'team' - console.log teamSessions sessions = [] numberOfTeams = 0 for team of teamSessions diff --git a/server/queues/scoring.coffee b/server/queues/scoring.coffee index cd4670708..db4dd1609 100644 --- a/server/queues/scoring.coffee +++ b/server/queues/scoring.coffee @@ -36,7 +36,7 @@ module.exports.messagesInQueueCount = (req, res) -> module.exports.addPairwiseTaskToQueueFromRequest = (req, res) -> taskPair = req.body.sessions - addPairwiseTaskToQueue req.body.sessions (err, success) -> + addPairwiseTaskToQueue req.body.sessions, (err, success) -> if err? then return errors.serverError res, "There was an error adding pairwise tasks: #{err}" sendResponseObject req, res, {"message":"All task pairs were succesfully sent to the queue"} @@ -113,7 +113,6 @@ module.exports.createNewTask = (req, res) -> updateSessionToSubmit fetchInitialSessionsToRankAgainst.bind(@, requestLevelMajorVersion, originalLevelID) generateAndSendTaskPairsToTheQueue - ], (err, successMessageObject) -> if err? then return errors.serverError res, "There was an error submitting the game to the queue:#{err}" sendResponseObject req, res, successMessageObject @@ -188,15 +187,16 @@ fetchInitialSessionsToRankAgainst = (levelMajorVersion, levelID, submittedSessio submittedCode: $exists: true team: opposingTeam - + sortParameters = totalScore: 1 limitNumber = 1 - - query = LevelSession.find(findParameters) - .sort(sortParameters) - .limit(limitNumber) + query = LevelSession.aggregate [ + {$match: findParameters} + {$sort: sortParameters} + {$limit: limitNumber} + ] query.exec (err, sessionToRankAgainst) -> callback err, sessionToRankAgainst, submittedSession @@ -206,6 +206,8 @@ generateAndSendTaskPairsToTheQueue = (sessionToRankAgainst,submittedSession, cal taskPairs = generateTaskPairs(sessionToRankAgainst, submittedSession) sendEachTaskPairToTheQueue taskPairs, (taskPairError) -> if taskPairError? then return callback taskPairError + console.log "Sent task pairs to the queue!" + console.log taskPairs callback null, {"message": "All task pairs were succesfully sent to the queue"} @@ -580,7 +582,8 @@ sendEachTaskPairToTheQueue = (taskPairs, callback) -> async.each taskPairs, send generateTaskPairs = (submittedSessions, sessionToScore) -> taskPairs = [] for session in submittedSessions - session = session.toObject() + if session.toObject? + session = session.toObject() teams = ['ogres','humans'] opposingTeams = _.pull teams, sessionToScore.team if String(session._id) isnt String(sessionToScore._id) and session.team in opposingTeams From 91c2f0fa33fa6aaaa919cadf81cdfc108d64e60f Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 17:36:15 -0700 Subject: [PATCH 49/79] Fixed #715, and some misc cleanup. --- app/templates/modal/revert.jade | 3 --- app/views/editor/level/systems_tab_view.coffee | 7 ++++--- app/views/kinds/CocoView.coffee | 1 - app/views/modal/revert_modal.coffee | 7 +++---- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/app/templates/modal/revert.jade b/app/templates/modal/revert.jade index 7226e25d4..28b111337 100644 --- a/app/templates/modal/revert.jade +++ b/app/templates/modal/revert.jade @@ -11,6 +11,3 @@ block modal-body-content | #{model.type()}: #{model.get('name')} td button(value=model.id, data-i18n="editor.revert") Revert - -block modal-footer-content - button.btn(data-dismiss="modal", data-i18n="common.cancel") Cancel \ No newline at end of file diff --git a/app/views/editor/level/systems_tab_view.coffee b/app/views/editor/level/systems_tab_view.coffee index 52d92b969..d04a463ff 100644 --- a/app/views/editor/level/systems_tab_view.coffee +++ b/app/views/editor/level/systems_tab_view.coffee @@ -159,11 +159,12 @@ class LevelSystemNode extends TreemaObjectNode name = "#{@system.get('name')} v#{@system.get('version').major}" @buildValueForDisplaySimply valEl, "#{name}" - onEnterPressed: -> + onEnterPressed: (e) -> + super e Backbone.Mediator.publish 'edit-level-system', original: @data.original, majorVersion: @data.majorVersion - open: -> - super() + open: (depth) -> + super depth cTreema = @childrenTreemas.config if cTreema? and (cTreema.getChildren().length or cTreema.canAddChild()) cTreema.open() diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index ed9ad844a..62985ae0f 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -210,7 +210,6 @@ module.exports = class CocoView extends Backbone.View return unless elem.data('toggle') is 'coco-modal' target = elem.data('target') view = application.router.getView(target, '_modal') # could set up a system for loading cached modals, if told to - console.log "got target", target, "which gave view", view @openModalView(view) openModalView: (modalView, softly=false) -> diff --git a/app/views/modal/revert_modal.coffee b/app/views/modal/revert_modal.coffee index 91358988c..68094c371 100644 --- a/app/views/modal/revert_modal.coffee +++ b/app/views/modal/revert_modal.coffee @@ -5,16 +5,16 @@ CocoModel = require 'models/CocoModel' module.exports = class RevertModal extends ModalView id: 'revert-modal' template: template - + events: 'click #changed-models button': 'onRevertModel' - + onRevertModel: (e) -> id = $(e.target).val() CocoModel.backedUp[id].revert() $(e.target).closest('tr').remove() @reloadOnClose = true - + getRenderData: -> c = super() models = _.values CocoModel.backedUp @@ -23,5 +23,4 @@ module.exports = class RevertModal extends ModalView c onHidden: -> - console.log 'reload?', @reloadOnClose location.reload() if @reloadOnClose From 99b430c1b462732d0439592c0836a308a0b29138 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 17:55:47 -0700 Subject: [PATCH 50/79] Fixed #714 with a hack. --- app/views/play/level_view.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/play/level_view.coffee b/app/views/play/level_view.coffee index ebb380146..63d4507eb 100644 --- a/app/views/play/level_view.coffee +++ b/app/views/play/level_view.coffee @@ -421,7 +421,7 @@ module.exports = class PlayLevelView extends View return if @alreadyLoadedState @alreadyLoadedState = true state = @originalSessionState - if state.frame + if state.frame and @level.get('type') isnt 'ladder' # https://github.com/codecombat/codecombat/issues/714 Backbone.Mediator.publish 'level-set-time', { time: 0, frameOffset: state.frame } if state.selected # TODO: Should also restore selected spell here by saving spellName From f0aa5e1d5e2e31bfedd45a77e40f74c6fc78e988 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 18:19:52 -0700 Subject: [PATCH 51/79] Fixed #681 by removing full-screen button in Safari. --- app/views/play/level/playback_view.coffee | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/views/play/level/playback_view.coffee b/app/views/play/level/playback_view.coffee index a79594429..191a00c22 100644 --- a/app/views/play/level/playback_view.coffee +++ b/app/views/play/level/playback_view.coffee @@ -107,6 +107,9 @@ module.exports = class PlaybackView extends View @hookUpScrubber() @updateMusicButton() $(window).on('resize', @onWindowResize) + ua = navigator.userAgent.toLowerCase() + if /safari/.test(ua) and not /chrome/.test(ua) + @$el.find('.toggle-fullscreen').hide() updatePopupContent: -> @timePopup.updateContent "<h2>#{@timeToString @newTime}</h2>#{@formatTime(@current, @currentTime)}<br/>#{@formatTime(@total, @totalTime)}" From dea1c7607a808c30668bcdf9b383e0422a255c44 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 19:08:55 -0700 Subject: [PATCH 52/79] Horribly untested improvement for #555 which I will test momentarily. --- scripts/devSetup/directoryController.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/devSetup/directoryController.py b/scripts/devSetup/directoryController.py index 6585ff5f8..5087db888 100644 --- a/scripts/devSetup/directoryController.py +++ b/scripts/devSetup/directoryController.py @@ -20,23 +20,30 @@ class DirectoryController(object): def bin_directory(self): return self.root_install_directory + def mkdir(self, path): + if os.path.exists(path): + print(u"Skipping creation of " + path + " because it exists.") + else: + os.mkdir(path) + def create_directory_in_tmp(self,subdirectory): - os.mkdir(self.generate_path_for_directory_in_tmp(subdirectory)) + path = self.generate_path_for_directory_in_tmp(subdirectory) + self.mkdir(path) def generate_path_for_directory_in_tmp(self,subdirectory): return self.tmp_directory + os.sep + subdirectory def create_directory_in_bin(self,subdirectory): full_path = self.bin_directory + os.sep + subdirectory - os.mkdir(full_path) + self.mkdir(full_path) def create_base_directories(self): shutil.rmtree(self.root_dir + os.sep + "coco" + os.sep + "node_modules",ignore_errors=True) #just in case try: - if os.path.exists(self.tmp_directory): - self.remove_tmp_directory() - os.mkdir(self.tmp_directory) + if os.path.exists(self.tmp_directory): + self.remove_tmp_directory() + os.mkdir(self.tmp_directory) except: - raise errors.CoCoError(u"There was an error creating the directory structure, do you have correct permissions? Please remove all and start over.") + raise errors.CoCoError(u"There was an error creating the directory structure, do you have correct permissions? Please remove all and start over.") def remove_directories(self): shutil.rmtree(self.bin_directory + os.sep + "node",ignore_errors=True) From 99ead5d193760a62837ea138f785220cf6416850 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 19:51:20 -0700 Subject: [PATCH 53/79] #223 is done, since goals aren't in scripts, and I just removed some goals-of-scripts stuff. --- app/lib/scripts/defaultScripts.coffee | 36 ------------------- .../editor/level/scripts_tab_view.coffee | 2 -- server/levels/level_schema.coffee | 6 ++-- 3 files changed, 3 insertions(+), 41 deletions(-) delete mode 100644 app/lib/scripts/defaultScripts.coffee diff --git a/app/lib/scripts/defaultScripts.coffee b/app/lib/scripts/defaultScripts.coffee deleted file mode 100644 index 25c851e7b..000000000 --- a/app/lib/scripts/defaultScripts.coffee +++ /dev/null @@ -1,36 +0,0 @@ -module.exports = [ - { - "id": "Add Default Goals", - "channel": "god:new-world-created", - "noteChain": [ - { - "goals": { - "add": [ - { - "name": "Humans Survive", - "id": "humans-survive", - "saveThangs": [ - "humans" - ], - "worldEndsAfter": 3, - "howMany": 1, - "hiddenGoal": true - }, - { - "name": "Ogres Die", - "id": "ogres-die", - "killThangs": [ - "ogres" - ], - "worldEndsAfter": 3, - "hiddenGoal": true - } - ] - } - } - ] - } -] - - -# Could add other default scripts, like not having to redo Victory Playback sequence from scratch every time. diff --git a/app/views/editor/level/scripts_tab_view.coffee b/app/views/editor/level/scripts_tab_view.coffee index 8e06b8a58..380902d27 100644 --- a/app/views/editor/level/scripts_tab_view.coffee +++ b/app/views/editor/level/scripts_tab_view.coffee @@ -3,7 +3,6 @@ template = require 'templates/editor/level/scripts_tab' Level = require 'models/Level' Surface = require 'lib/surface/Surface' nodes = require './treema_nodes' -defaultScripts = require 'lib/scripts/defaultScripts' module.exports = class ScriptsTabView extends View id: "editor-level-scripts-tab-view" @@ -22,7 +21,6 @@ module.exports = class ScriptsTabView extends View @level = e.level @dimensions = @level.dimensions() scripts = $.extend(true, [], @level.get('scripts') ? []) - scripts = _.cloneDeep defaultScripts unless scripts.length treemaOptions = schema: Level.schema.get('properties').scripts data: scripts diff --git a/server/levels/level_schema.coffee b/server/levels/level_schema.coffee index 8d2d60cd3..0c4147730 100644 --- a/server/levels/level_schema.coffee +++ b/server/levels/level_schema.coffee @@ -108,9 +108,9 @@ NoteGroupSchema = c.object {title: "Note Group", description: "A group of notes lock: {title: "Lock", description: "Whether the interface should be locked so that the player's focus is on the script, or specific areas to lock.", type: ['boolean', 'array'], items: {type: 'string', enum: ['surface', 'editor', 'palette', 'hud', 'playback', 'playback-hover', 'level', ]}} letterbox: {type: 'boolean', title: 'Letterbox', description:'Turn letterbox mode on or off. Disables surface and playback controls.'} - goals: c.object {title: "Goals", description: "Add or remove goals for the player to complete in the level."}, - add: c.array {title: "Add", description: "Add these goals."}, GoalSchema - remove: c.array {title: "Remove", description: "Remove these goals."}, GoalSchema + goals: c.object {title: "Goals (Old)", description: "Deprecated. Goals added here have no effect. Add goals in the level settings instead."}, + add: c.array {title: "Add", description: "Deprecated. Goals added here have no effect. Add goals in the level settings instead."}, GoalSchema + remove: c.array {title: "Remove", description: "Deprecated. Goals removed here have no effect. Adjust goals in the level settings instead."}, GoalSchema playback: c.object {title: "Playback", description: "Control the playback of the level."}, playing: {type: 'boolean', title: "Set Playing", description: "Set whether playback is playing or paused."} From 8ea2a800882209621a4999c7d823670ed1c8bd1e Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 19:58:52 -0700 Subject: [PATCH 54/79] Fixed #555. Fixed #350. --- scripts/devSetup/mongo.py | 5 ++++- scripts/devSetup/node.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/devSetup/mongo.py b/scripts/devSetup/mongo.py index 88de736af..e653219e1 100644 --- a/scripts/devSetup/mongo.py +++ b/scripts/devSetup/mongo.py @@ -38,7 +38,10 @@ class MongoDB(Dependency): def install_dependencies(self): install_directory = self.config.directory.bin_directory + os.sep + u"mongo" import shutil - shutil.copytree(self.findUnzippedMongoBinPath(),install_directory) + if os.path.exists(install_directory): + print(u"Skipping creation of " + install_directory + " because it exists.") + else: + shutil.copytree(self.findUnzippedMongoBinPath(),install_directory) def findUnzippedMongoBinPath(self): return self.downloader.download_directory + os.sep + \ diff --git a/scripts/devSetup/node.py b/scripts/devSetup/node.py index 065634aad..35d1daf30 100644 --- a/scripts/devSetup/node.py +++ b/scripts/devSetup/node.py @@ -49,7 +49,10 @@ class Node(Dependency): print("Copying node into /usr/local/bin/...") shutil.copy(unzipped_node_path + os.sep + "bin" + os.sep + "node","/usr/local/bin/") os.chmod("/usr/local/bin/node",S_IRWXG|S_IRWXO|S_IRWXU) - shutil.copytree(self.findUnzippedNodePath(),install_directory) + if os.path.exists(install_directory): + print(u"Skipping creation of " + install_directory + " because it exists.") + else: + shutil.copytree(self.findUnzippedNodePath(),install_directory) wants_to_upgrade = True if self.check_if_executable_installed(u"npm"): warning_string = u"A previous version of npm has been found. \nYou may experience problems if you have a version of npm that's too old.Would you like to upgrade?(y/n) " From 137d2b0fd4b50f3e206b0bc46b6ffe11c112dcc1 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 20:37:06 -0700 Subject: [PATCH 55/79] Fixed #419 to not redo node/mongo downloads when rerunning the script. --- scripts/devSetup/factories.py | 8 +++++--- scripts/devSetup/mongo.py | 12 ++++++++---- scripts/devSetup/node.py | 11 ++++++++--- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/scripts/devSetup/factories.py b/scripts/devSetup/factories.py index f14f922ec..fa82e1abe 100644 --- a/scripts/devSetup/factories.py +++ b/scripts/devSetup/factories.py @@ -37,10 +37,12 @@ class SetupFactory(object): try: mongo_version_string = subprocess.check_output("mongod --version",shell=True) mongo_version_string = mongo_version_string.decode(encoding='UTF-8') - except: - print("Mongod not found.") + except Exception, e: + print("Mongod not found: %s"%e) if "v2.6." not in mongo_version_string: - print("MongoDB not found, so installing...") + if mongo_version_string: + print("Had MongoDB version: %s"%mongo_version_string) + print("MongoDB not found, so installing a local copy...") self.mongo.download_dependencies() self.mongo.install_dependencies() self.node.download_dependencies() diff --git a/scripts/devSetup/mongo.py b/scripts/devSetup/mongo.py index e653219e1..eb57ea452 100644 --- a/scripts/devSetup/mongo.py +++ b/scripts/devSetup/mongo.py @@ -8,7 +8,7 @@ import os from configuration import Configuration from dependency import Dependency import sys - +import shutil class MongoDB(Dependency): def __init__(self,configuration): @@ -32,12 +32,16 @@ class MongoDB(Dependency): def bashrc_string(self): return "COCO_MONGOD_PATH=" + self.config.directory.bin_directory + os.sep + u"mongo" + os.sep +"bin" + os.sep + "mongod" + def download_dependencies(self): - self.downloader.download() - self.downloader.decompress() + install_directory = self.config.directory.bin_directory + os.sep + u"mongo" + if os.path.exists(install_directory): + print(u"Skipping MongoDB download because " + install_directory + " exists.") + else: + self.downloader.download() + self.downloader.decompress() def install_dependencies(self): install_directory = self.config.directory.bin_directory + os.sep + u"mongo" - import shutil if os.path.exists(install_directory): print(u"Skipping creation of " + install_directory + " because it exists.") else: diff --git a/scripts/devSetup/node.py b/scripts/devSetup/node.py index 35d1daf30..8fb1265d8 100644 --- a/scripts/devSetup/node.py +++ b/scripts/devSetup/node.py @@ -37,21 +37,26 @@ class Node(Dependency): return self.config.directory.bin_directory def download_dependencies(self): - self.downloader.download() - self.downloader.decompress() + install_directory = self.config.directory.bin_directory + os.sep + u"node" + if os.path.exists(install_directory): + print(u"Skipping Node download because " + install_directory + " exists.") + else: + self.downloader.download() + self.downloader.decompress() def bashrc_string(self): return "COCO_NODE_PATH=" + self.config.directory.bin_directory + os.sep + u"node" + os.sep + "bin" + os.sep +"node" def install_dependencies(self): install_directory = self.config.directory.bin_directory + os.sep + u"node" #check for node here - unzipped_node_path = self.findUnzippedNodePath() if self.config.system.operating_system in ["mac","linux"] and not which("node"): + unzipped_node_path = self.findUnzippedNodePath() print("Copying node into /usr/local/bin/...") shutil.copy(unzipped_node_path + os.sep + "bin" + os.sep + "node","/usr/local/bin/") os.chmod("/usr/local/bin/node",S_IRWXG|S_IRWXO|S_IRWXU) if os.path.exists(install_directory): print(u"Skipping creation of " + install_directory + " because it exists.") else: + unzipped_node_path = self.findUnzippedNodePath() shutil.copytree(self.findUnzippedNodePath(),install_directory) wants_to_upgrade = True if self.check_if_executable_installed(u"npm"): From fc9d30ccaea24c5587e18e62859336afb0cb3095 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 20:38:34 -0700 Subject: [PATCH 56/79] Smarter fix for #810, since not all 24-character strings are like MongoDB ids. --- app/models/CocoModel.coffee | 2 +- server/plugins/plugins.coffee | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 862ba72fd..f9652fd3a 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -194,7 +194,7 @@ class CocoModel extends Backbone.Model return model @isObjectID: (s) -> - s.length is 24 and s.match(/[a-z0-9]/gi)?.length is 24 + s.length is 24 and s.match(/[a-f0-9]/gi)?.length is 24 hasReadAccess: (actor) -> # actor is a User object diff --git a/server/plugins/plugins.coffee b/server/plugins/plugins.coffee index f1f224b82..4ca4667d2 100644 --- a/server/plugins/plugins.coffee +++ b/server/plugins/plugins.coffee @@ -22,13 +22,11 @@ module.exports.NamedPlugin = (schema) -> schema.methods.checkSlugConflicts = (done) -> slug = @get('slug') - try - id = mongoose.Types.ObjectId.createFromHexString(slug) + if slug.length is 24 and slug.match(/[a-f0-9]/gi)?.length is 24 err = new Error('Bad name.') - err.response = {message:'cannot be like a MondoDB id, Mr Hacker.', property:'name'} + err.response = {message: 'cannot be like a MongoDB ID, Mr. Hacker.', property: 'name'} err.code = 422 done(err) - catch e query = { slug:slug } From b7f3d5310e2f695b12c8bb2177cacbc891d6c5c5 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 20:48:42 -0700 Subject: [PATCH 57/79] #353 is fixed as far as I can tell; python3 and python2 both run setup. --- scripts/devSetup/factories.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/devSetup/factories.py b/scripts/devSetup/factories.py index fa82e1abe..1eab847bb 100644 --- a/scripts/devSetup/factories.py +++ b/scripts/devSetup/factories.py @@ -37,7 +37,7 @@ class SetupFactory(object): try: mongo_version_string = subprocess.check_output("mongod --version",shell=True) mongo_version_string = mongo_version_string.decode(encoding='UTF-8') - except Exception, e: + except Exception as e: print("Mongod not found: %s"%e) if "v2.6." not in mongo_version_string: if mongo_version_string: From 34bf484bf21cd7c8b8157a41ed26bc160dd760e9 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 21:11:52 -0700 Subject: [PATCH 58/79] Added data merge conflict handling. --- app/lib/deltas.coffee | 189 ++++++++++++++++++-------- app/models/CocoModel.coffee | 20 ++- app/styles/editor/delta.sass | 34 ++--- app/styles/editor/patch.sass | 3 + app/styles/modal/save_version.sass | 2 +- app/templates/editor/delta.jade | 76 ++++++----- app/templates/editor/patch_modal.jade | 20 +++ app/templates/editor/patches.jade | 3 + app/templates/editor/thang/edit.jade | 8 +- app/views/editor/delta.coffee | 91 +++++++------ app/views/editor/patch_modal.coffee | 42 ++++++ app/views/editor/patches_view.coffee | 7 + app/views/kinds/CocoView.coffee | 7 +- server/patches/Patch.coffee | 1 - 14 files changed, 346 insertions(+), 157 deletions(-) create mode 100644 app/styles/editor/patch.sass create mode 100644 app/templates/editor/patch_modal.jade create mode 100644 app/views/editor/patch_modal.coffee diff --git a/app/lib/deltas.coffee b/app/lib/deltas.coffee index 954af00ba..0782231eb 100644 --- a/app/lib/deltas.coffee +++ b/app/lib/deltas.coffee @@ -1,75 +1,158 @@ -# path: an array of indexes to navigate into a JSON object -# left: +### + Good-to-knows: + dataPath: an array of keys that walks you up a JSON object that's being patched + ex: ['scripts', 0, 'description'] + deltaPath: an array of keys that walks you up a JSON Diff Patch object. + ex: ['scripts', '_0', 'description'] +### + +module.exports.expandDelta = (delta, left, schema) -> + flattenedDeltas = flattenDelta(delta) + (expandFlattenedDelta(fd, left, schema) for fd in flattenedDeltas) + -module.exports.interpretDelta = (delta, path, left, schema) -> - # takes a single delta and converts into an object that can be +flattenDelta = (delta, dataPath=null, deltaPath=null) -> + # takes a single jsondiffpatch delta and returns an array of objects with + return [] unless delta + dataPath ?= [] + deltaPath ?= [] + return [{dataPath:dataPath, deltaPath: deltaPath, o:delta}] if _.isArray delta + + results = [] + affectingArray = delta._t is 'a' + for deltaIndex, childDelta of delta + continue if deltaIndex is '_t' + dataIndex = if affectingArray then parseInt(deltaIndex.replace('_', '')) else deltaIndex + results = results.concat flattenDelta( + childDelta, dataPath.concat([dataIndex]), deltaPath.concat([deltaIndex])) + results + + +expandFlattenedDelta = (delta, left, schema) -> + # takes a single flattened delta and converts into an object that can be # easily formatted into something human readable. + + delta.action = '???' + o = delta.o # the raw jsondiffpatch delta - betterDelta = { action:'???', delta: delta } + if _.isArray(o) and o.length is 1 + delta.action = 'added' + delta.newValue = o[0] - if _.isArray(delta) and delta.length is 1 - betterDelta.action = 'added' - betterDelta.newValue = delta[0] + if _.isArray(o) and o.length is 2 + delta.action = 'modified' + delta.oldValue = o[0] + delta.newValue = o[1] - if _.isArray(delta) and delta.length is 2 - betterDelta.action = 'modified' - betterDelta.oldValue = delta[0] - betterDelta.newValue = delta[1] + if _.isArray(o) and o.length is 3 and o[1] is 0 and o[2] is 0 + delta.action = 'deleted' + delta.oldValue = o[0] - if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 0 - betterDelta.action = 'deleted' - betterDelta.oldValue = delta[0] + if _.isPlainObject(o) and o._t is 'a' + delta.action = 'modified-array' - if _.isPlainObject(delta) and delta._t is 'a' - betterDelta.action = 'modified-array' + if _.isPlainObject(o) and o._t isnt 'a' + delta.action = 'modified-object' - if _.isPlainObject(delta) and delta._t isnt 'a' - betterDelta.action = 'modified-object' + if _.isArray(o) and o.length is 3 and o[1] is 0 and o[2] is 3 + delta.action = 'moved-index' + delta.destinationIndex = o[1] + delta.originalIndex = delta.dataPath[delta.dataPath.length-1] - if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 3 - betterDelta.action = 'moved-index' - betterDelta.destinationIndex = delta[1] + if _.isArray(o) and o.length is 3 and o[1] is 0 and o[2] is 2 + delta.action = 'text-diff' + delta.unidiff = o[0] - if _.isArray(delta) and delta.length is 3 and delta[1] is 0 and delta[2] is 2 - betterDelta.action = 'text-diff' - betterDelta.unidiff = delta[0] - - betterPath = [] + humanPath = [] parentLeft = left parentSchema = schema - for key, i in path - # TODO: A smarter way of getting child schemas + for key, i in delta.dataPath + # TODO: A more comprehensive way of getting child schemas childSchema = parentSchema?.items or parentSchema?.properties?[key] or {} childLeft = parentLeft?[key] - betterKey = null - childData = if i is path.length-1 and betterDelta.action is 'added' then delta[0] else childLeft - betterKey ?= childData.name or childData.id if childData - betterKey ?= "#{childSchema.title} ##{key+1}" if childSchema.title and _.isNumber(key) - betterKey ?= "#{childSchema.title}" if childSchema.title - betterKey ?= _.string.titleize key - betterPath.push betterKey + humanKey = null + childData = if i is delta.dataPath.length-1 and delta.action is 'added' then o[0] else childLeft + humanKey ?= childData.name or childData.id if childData + humanKey ?= "#{childSchema.title} ##{key+1}" if childSchema.title and _.isNumber(key) + humanKey ?= "#{childSchema.title}" if childSchema.title + humanKey ?= _.string.titleize key + humanPath.push humanKey parentLeft = childLeft parentSchema = childSchema - betterDelta.path = betterPath.join(' :: ') - betterDelta.schema = childSchema - betterDelta.left = childLeft - betterDelta.right = jsondiffpatch.patch childLeft, delta unless betterDelta.action is 'moved-index' + delta.humanPath = humanPath.join(' :: ') + delta.schema = childSchema + delta.left = childLeft + delta.right = jsondiffpatch.patch childLeft, delta.o unless delta.action is 'moved-index' - betterDelta + delta -module.exports.flattenDelta = flattenDelta = (delta, path=null) -> - # takes a single delta and returns an array of deltas - return [] unless delta +module.exports.makeJSONDiffer = -> + hasher = (obj) -> obj.name || obj.id || obj._id || JSON.stringify(_.keys(obj)) + jsondiffpatch.create({objectHash:hasher}) + +module.exports.getConflicts = (headDeltas, pendingDeltas) -> + # headDeltas and pendingDeltas should be lists of deltas returned by interpretDelta + # Returns a list of conflict objects with properties: + # headDelta + # pendingDelta + # The deltas that have conflicts also have conflict properties pointing to one another. - path ?= [] + headPathMap = groupDeltasByAffectingPaths(headDeltas) + pendingPathMap = groupDeltasByAffectingPaths(pendingDeltas) + paths = _.keys(headPathMap).concat(_.keys(pendingPathMap)) - return [{path:path, delta:delta}] if _.isArray delta + # Here's my thinking: + # A) Conflicts happen when one delta path is a substring of another delta path + # B) A delta from one self-consistent group cannot conflict with another + # So, sort the paths, which will naturally make conflicts adjacent, + # and if one is identified, one path is from the headDeltas, the other is from pendingDeltas + # This is all to avoid an O(nm) brute force search. - results = [] - affectingArray = delta._t is 'a' - for index, childDelta of delta - continue if index is '_t' - index = parseInt(index.replace('_', '')) if affectingArray - results = results.concat flattenDelta(childDelta, path.concat([index])) - results \ No newline at end of file + conflicts = [] + paths.sort() + for path, i in paths + continue if i + 1 is paths.length + nextPath = paths[i+1] + if nextPath.startsWith path + headDelta = (headPathMap[path] or headPathMap[nextPath])[0].delta + pendingDelta = (pendingPathMap[path] or pendingPathMap[nextPath])[0].delta + conflicts.push({headDelta:headDelta, pendingDelta:pendingDelta}) + pendingDelta.conflict = headDelta + headDelta.conflict = pendingDelta + + return conflicts if conflicts.length + +groupDeltasByAffectingPaths = (deltas) -> + metaDeltas = [] + for delta in deltas + conflictPaths = [] + if delta.action is 'moved-index' + # every other action affects just the data path, but moved indexes affect a swath + indices = [delta.originalIndex, delta.destinationIndex] + indices.sort() + for index in _.range(indices[0], indices[1]+1) + conflictPaths.push delta.dataPath.slice(0, delta.dataPath.length-1).concat(index) + else + conflictPaths.push delta.dataPath + for path in conflictPaths + metaDeltas.push { + delta: delta + path: (item.toString() for item in path).join('/') + } + _.groupBy metaDeltas, 'path' + +module.exports.pruneConflictsFromDelta = (delta, conflicts) -> + # the jsondiffpatch delta mustn't include any dangling nodes, + # or else things will get removed which shouldn't be, or errors will occur + for conflict in conflicts + prunePath delta, conflict.pendingDelta.deltaPath + if _.isEmpty delta then undefined else delta + +prunePath = (delta, path) -> + if path.length is 1 + delete delta[path] + else + prunePath delta[path[0]], path.slice(1) + keys = (k for k in _.keys(delta[path[0]]) when k isnt '_t') + delete delta[path[0]] if keys.length is 0 \ No newline at end of file diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index de1695490..59820f703 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -31,6 +31,12 @@ class CocoModel extends Backbone.Model type: -> @constructor.className + + clone: (withChanges=true) -> + # Backbone does not support nested documents + clone = super() + clone.set($.extend(true, {}, if withChanges then @attributes else @_revertAttributes)) + clone onLoaded: -> @loaded = true @@ -223,14 +229,16 @@ class CocoModel extends Backbone.Model return false getDelta: -> - jsd = jsondiffpatch.create({ - objectHash: (obj) -> obj.name || obj.id || obj._id || JSON.stringify(_.keys(obj)) - }) - jsd.diff @_revertAttributes, @attributes + differ = deltasLib.makeJSONDiffer() + differ.diff @_revertAttributes, @attributes + + applyDelta: (delta) -> + newAttributes = $.extend(true, {}, @attributes) + jsondiffpatch.patch newAttributes, delta + @set newAttributes getExpandedDelta: -> delta = @getDelta() - deltas = deltasLib.flattenDelta(delta) - (deltasLib.interpretDelta(d.delta, d.path, @_revertAttributes, @schema().attributes) for d in deltas) + deltasLib.expandDelta(delta, @_revertAttributes, @schema().attributes) module.exports = CocoModel diff --git a/app/styles/editor/delta.sass b/app/styles/editor/delta.sass index f41da3667..013478efb 100644 --- a/app/styles/editor/delta.sass +++ b/app/styles/editor/delta.sass @@ -1,4 +1,4 @@ -.delta-list-view +.delta-view .panel-heading font-size: 13px padding: 4px @@ -7,37 +7,37 @@ .delta-added border-color: green - strong - color: green - .panel-heading + > .panel-heading background-color: lighten(green, 70%) + strong + color: green .delta-modified border-color: darkgoldenrod - strong - color: darkgoldenrod - .panel-heading + > .panel-heading background-color: lighten(darkgoldenrod, 40%) + strong + color: darkgoldenrod .delta-text-diff border-color: blue - strong - color: blue - .panel-heading + > .panel-heading background-color: lighten(blue, 45%) + strong + color: blue table width: 100% .delta-deleted border-color: red - strong - color: red - .panel-heading + > .panel-heading background-color: lighten(red, 42%) + strong + color: red .delta-moved-index border-color: darkslategray - strong - color: darkslategray - .panel-heading - background-color: lighten(darkslategray, 60%) \ No newline at end of file + > .panel-heading + background-color: lighten(darkslategray, 60%) + strong + color: darkslategray diff --git a/app/styles/editor/patch.sass b/app/styles/editor/patch.sass new file mode 100644 index 000000000..3296d946c --- /dev/null +++ b/app/styles/editor/patch.sass @@ -0,0 +1,3 @@ +#patch-modal + .modal-body + padding: 10px \ No newline at end of file diff --git a/app/styles/modal/save_version.sass b/app/styles/modal/save_version.sass index e7ab79751..66de28a29 100644 --- a/app/styles/modal/save_version.sass +++ b/app/styles/modal/save_version.sass @@ -33,7 +33,7 @@ font-size: 0.9em font-style: italic - .delta-list-view + .delta-view overflow-y: auto padding: 10px border: 1px solid black diff --git a/app/templates/editor/delta.jade b/app/templates/editor/delta.jade index 961483324..480e4ef01 100644 --- a/app/templates/editor/delta.jade +++ b/app/templates/editor/delta.jade @@ -1,36 +1,46 @@ - var i = 0 + +mixin deltaPanel(delta, conflict) + - delta.index = i++ + .delta.panel.panel-default(class='delta-'+delta.action, data-index=i) + .panel-heading + if delta.action === 'added' + strong(data-i18n="delta.added") Added + if delta.action === 'modified' + strong(data-i18n="delta.modified") Modified + if delta.action === 'deleted' + strong(data-i18n="delta.deleted") Deleted + if delta.action === 'moved-index' + strong(data-i18n="delta.modified_array") Moved Index + if delta.action === 'text-diff' + strong(data-i18n="delta.text_diff") Text Diff + span + a(data-toggle="collapse" data-parent="#delta-accordion"+(counter) href="#collapse-"+(i+counter)) + span= delta.humanPath + + .panel-collapse.collapse(id="collapse-"+(i+counter)) + .panel-body.row(class=conflict ? "conflict-details" : "details") + if delta.action === 'added' + .new-value.col-md-12= delta.right + if delta.action === 'modified' + .old-value.col-md-6= delta.left + .new-value.col-md-6= delta.right + if delta.action === 'deleted' + .col-md-12 + div.old-value= delta.left + if delta.action === 'text-diff' + .col-md-12 + div.text-diff + if delta.action === 'moved-index' + .col-md-12 + span Moved array value #{JSON.stringify(delta.left)} to index #{delta.destinationIndex} + + if delta.conflict && !conflict + .panel-body + strong MERGE CONFLICT WITH + +deltaPanel(delta.conflict, true) + .panel-group(id='delta-accordion-'+(counter)) for delta in deltas - .delta.panel.panel-default(class='delta-'+delta.action) - .panel-heading - if delta.action === 'added' - strong(data-i18n="delta.added") Added - if delta.action === 'modified' - strong(data-i18n="delta.modified") Modified - if delta.action === 'deleted' - strong(data-i18n="delta.deleted") Deleted - if delta.action === 'moved-index' - strong(data-i18n="delta.modified_array") Moved Index - if delta.action === 'text-diff' - strong(data-i18n="delta.text_diff") Text Diff - span - a(data-toggle="collapse" data-parent="#delta-accordion"+(counter) href="#collapse-"+(i+counter)) - span= delta.path - - .panel-collapse.collapse(id="collapse-"+(i+counter)) - .panel-body.row - if delta.action === 'added' - .new-value.col-md-12= delta.right - if delta.action === 'modified' - .old-value.col-md-6= delta.left - .new-value.col-md-6= delta.right - if delta.action === 'deleted' - .col-md-12 - div.old-value= delta.left - if delta.action === 'text-diff' - .col-md-12 - div.text-diff - if delta.action === 'moved-index' - .col-md-12 - span Moved array value #{JSON.stringify(delta.left)} to index #{delta.destinationIndex} - - i += 1 \ No newline at end of file + +deltaPanel(delta) + \ No newline at end of file diff --git a/app/templates/editor/patch_modal.jade b/app/templates/editor/patch_modal.jade new file mode 100644 index 000000000..4b094cd81 --- /dev/null +++ b/app/templates/editor/patch_modal.jade @@ -0,0 +1,20 @@ +extends /templates/modal/modal_base + +block modal-header-content + .modal-header-content + h3 Patch + +block modal-body-content + .modal-body + .changes-stub + + +block modal-footer + .modal-footer + button(data-dismiss="modal", data-i18n="common.cancel").btn Cancel + if canReject + button.btn.btn-danger Reject + if canWithdraw + button.btn.btn-danger Withdraw + if canAccept + button.btn.btn-primary Accept \ No newline at end of file diff --git a/app/templates/editor/patches.jade b/app/templates/editor/patches.jade index ce3b1af84..872788e7d 100644 --- a/app/templates/editor/patches.jade +++ b/app/templates/editor/patches.jade @@ -20,8 +20,11 @@ else th Submitter th Submitted th Commit Message + th Review for patch in patches tr td= patch.userName td= moment(patch.get('created')).format('llll') td= patch.get('commitMessage') + td + span.glyphicon.glyphicon-wrench(data-patch-id=patch.id).patch-icon diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index 04486aba1..b751d6de8 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -19,7 +19,7 @@ block content h3 Edit Thang Type: "#{thangType.attributes.name}" ul.nav.nav-tabs - li.active + li a(href="#editor-thang-main-tab-view", data-toggle="tab") Main li a(href="#editor-thang-components-tab-view", data-toggle="tab") Components @@ -27,13 +27,13 @@ block content a(href="#editor-thang-spritesheets-view", data-toggle="tab") Spritesheets li a(href="#editor-thang-colors-tab-view", data-toggle="tab")#color-tab Colors - li + li.active a(href="#editor-thang-patches-view", data-toggle="tab")#patches-tab Patches div.tab-content div.tab-pane#editor-thang-colors-tab-view - div.tab-pane.active#editor-thang-main-tab-view + div.tab-pane#editor-thang-main-tab-view div.main-area.well div.file-controls @@ -86,7 +86,7 @@ block content div#spritesheets - div.tab-pane#editor-thang-patches-view + div.tab-pane#editor-thang-patches-view.active div.patches-view diff --git a/app/views/editor/delta.coffee b/app/views/editor/delta.coffee index 4d4635ebf..09c0981a6 100644 --- a/app/views/editor/delta.coffee +++ b/app/views/editor/delta.coffee @@ -1,57 +1,70 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/editor/delta' -deltaLib = require 'lib/deltas' +deltasLib = require 'lib/deltas' -module.exports = class DeltaListView extends CocoView +TEXTDIFF_OPTIONS = + baseTextName: "Old" + newTextName: "New" + contextSize: 5 + viewType: 1 + +module.exports = class DeltaView extends CocoView @deltaCounter: 0 - className: "delta-list-view" + className: "delta-view" template: template constructor: (options) -> super(options) @model = options.model + @headModel = options.headModel + @expandedDeltas = @model.getExpandedDelta() + if @headModel + @headDeltas = @headModel.getExpandedDelta() + @conflicts = deltasLib.getConflicts(@headDeltas, @expandedDeltas) + DeltaView.deltaCounter += @expandedDeltas.length getRenderData: -> c = super() - c.deltas = @processedDeltas = @model.getExpandedDelta() - c.counter = DeltaListView.deltaCounter - DeltaListView.deltaCounter += c.deltas.length + c.deltas = @expandedDeltas + c.counter = DeltaView.deltaCounter c afterRender: -> - deltas = @$el.find('.delta') + deltas = @$el.find('.details') for delta, i in deltas deltaEl = $(delta) - deltaData = @processedDeltas[i] - if _.isObject(deltaData.left) and leftEl = deltaEl.find('.old-value') - options = - data: deltaData.left - schema: deltaData.schema - readOnly: true - treema = TreemaNode.make(leftEl, options) - treema.build() + deltaData = @expandedDeltas[i] + @expandDetails(deltaEl, deltaData) + + conflictDeltas = @$el.find('.conflict-details') + conflicts = (delta.conflict for delta in @expandedDeltas when delta.conflict) + for delta, i in conflictDeltas + deltaEl = $(delta) + deltaData = conflicts[i] + @expandDetails(deltaEl, deltaData) + + expandDetails: (deltaEl, deltaData) -> + treemaOptions = { schema: deltaData.schema, readOnly: true } + + if _.isObject(deltaData.left) and leftEl = deltaEl.find('.old-value') + options = _.defaults {data: deltaData.left}, treemaOptions + TreemaNode.make(leftEl, options).build() + + if _.isObject(deltaData.right) and rightEl = deltaEl.find('.new-value') + options = _.defaults {data: deltaData.right}, treemaOptions + TreemaNode.make(rightEl, options).build() + + if deltaData.action is 'text-diff' + left = difflib.stringAsLines deltaData.left + right = difflib.stringAsLines deltaData.right + sm = new difflib.SequenceMatcher(left, right) + opcodes = sm.get_opcodes() + el = deltaEl.find('.text-diff') + options = {baseTextLines: left, newTextLines: right, opcodes: opcodes} + args = _.defaults options, TEXTDIFF_OPTIONS + el.append(diffview.buildView(args)) - if _.isObject(deltaData.right) and rightEl = deltaEl.find('.new-value') - options = - data: deltaData.right - schema: deltaData.schema - readOnly: true - treema = TreemaNode.make(rightEl, options) - treema.build() - - if deltaData.action is 'text-diff' - left = difflib.stringAsLines deltaData.left - right = difflib.stringAsLines deltaData.right - sm = new difflib.SequenceMatcher(left, right) - opcodes = sm.get_opcodes() - el = deltaEl.find('.text-diff') - args = { - baseTextLines: left - newTextLines: right - opcodes: opcodes - baseTextName: "Old" - newTextName: "New" - contextSize: 5 - viewType: 1 - } - el.append(diffview.buildView(args)) + getApplicableDelta: -> + delta = @model.getDelta() + delta = deltasLib.pruneConflictsFromDelta delta, @conflicts if @conflicts + delta \ No newline at end of file diff --git a/app/views/editor/patch_modal.coffee b/app/views/editor/patch_modal.coffee new file mode 100644 index 000000000..2eecab361 --- /dev/null +++ b/app/views/editor/patch_modal.coffee @@ -0,0 +1,42 @@ +ModalView = require 'views/kinds/ModalView' +template = require 'templates/editor/patch_modal' +DeltaView = require 'views/editor/delta' + +module.exports = class PatchModal extends ModalView + id: "patch-modal" + template: template + plain: true + + constructor: (@patch, @targetModel, options) -> + super(options) + targetID = @patch.get('target').id + if false + @originalSource = targetModel.clone(false) + @onOriginalLoaded() + else + @originalSource = new targetModel.constructor({_id:targetID}) + @originalSource.fetch() + @listenToOnce @originalSource, 'sync', @onOriginalLoaded + @addResourceToLoad(@originalSource) + + getRenderData: -> + c = super() + c + + afterRender: -> + return if @originalSource.loading + headModel = @originalSource.clone(false) + headModel.set(@targetModel.attributes) + + pendingModel = @originalSource.clone(false) + pendingModel.applyDelta(@patch.get('delta')) + + @deltaView = new DeltaView({model:pendingModel, headModel:headModel}) + changeEl = @$el.find('.changes-stub') + @insertSubView(@deltaView, changeEl) + super() + + acceptPatch: -> + delta = @deltaView.getApplicableDelta() + pendingModel = @originalSource.clone(false) + pendingModel.applyDelta(delta) \ No newline at end of file diff --git a/app/views/editor/patches_view.coffee b/app/views/editor/patches_view.coffee index abba96997..f8dd4fa15 100644 --- a/app/views/editor/patches_view.coffee +++ b/app/views/editor/patches_view.coffee @@ -2,6 +2,7 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/editor/patches' PatchesCollection = require 'collections/PatchesCollection' nameLoader = require 'lib/NameLoader' +PatchModal = require './patch_modal' module.exports = class PatchesView extends CocoView template: template @@ -10,6 +11,7 @@ module.exports = class PatchesView extends CocoView events: 'change .status-buttons': 'onStatusButtonsChanged' + 'click .patch-icon': 'openPatchModal' constructor: (@model, options) -> super(options) @@ -47,3 +49,8 @@ module.exports = class PatchesView extends CocoView @initPatches() @load() @render() + + openPatchModal: (e) -> + patch = _.find @patches.models, {id:$(e.target).data('patch-id')} + modal = new PatchModal(patch, @model) + @openModalView(modal) \ No newline at end of file diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index b73685eb1..c3fd12228 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -10,7 +10,7 @@ classCount = 0 makeScopeName = -> "view-scope-#{classCount++}" doNothing = -> -module.exports = class CocoView extends Backbone.View +class CocoView extends Backbone.View startsLoading: false cache: false # signals to the router to keep this view around template: -> '' @@ -348,6 +348,7 @@ module.exports = class CocoView extends Backbone.View slider - -mobileRELong = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i + mobileRELong = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i mobileREShort = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i + +module.exports = CocoView diff --git a/server/patches/Patch.coffee b/server/patches/Patch.coffee index a6c5da41f..df621f2a4 100644 --- a/server/patches/Patch.coffee +++ b/server/patches/Patch.coffee @@ -40,7 +40,6 @@ PatchSchema.pre 'save', (next) -> patches = document.get('patches') or [] patches.push @_id - console.log 'PATCH PUSHED', @_id document.set 'patches', patches document.save (err) -> next(err) From a7922861618ca5f369a57a2c4687422856c25d0a Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 22:30:28 -0700 Subject: [PATCH 59/79] Ameliorated #468, maybe. At least, it doesn't erroneously show the name errors any more. --- app/views/modal/wizard_settings_modal.coffee | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/modal/wizard_settings_modal.coffee b/app/views/modal/wizard_settings_modal.coffee index 0223187bd..5715a4c1f 100644 --- a/app/views/modal/wizard_settings_modal.coffee +++ b/app/views/modal/wizard_settings_modal.coffee @@ -22,6 +22,7 @@ module.exports = class WizardSettingsModal extends View WizardSettingsView = require 'views/account/wizard_settings_view' view = new WizardSettingsView() @insertSubView view + super() checkNameExists: => forms.clearFormAlerts(@$el) @@ -31,7 +32,7 @@ module.exports = class WizardSettingsModal extends View forms.applyErrorsToForm(@$el, {property:'name', message:'is already taken'}) if id and id isnt me.id $.ajax("/db/user/#{name}/nameToID", {success: success}) - onWizardSettingsDone: => + onWizardSettingsDone: -> me.set('name', $('#wizard-settings-name').val()) forms.clearFormAlerts(@$el) res = me.validate() @@ -42,10 +43,11 @@ module.exports = class WizardSettingsModal extends View res = me.save() return unless res save = $('#save-button', @$el).text($.i18n.t('common.saving', defaultValue: 'Saving...')) - .addClass('btn-info').show().removeClass('btn-danger') + .addClass('btn-info').show().removeClass('btn-danger') res.error => errors = JSON.parse(res.responseText) + console.warn "Got errors saving user:", errors forms.applyErrorsToForm(@$el, errors) @disableModalInProgress(@$el) @@ -53,4 +55,3 @@ module.exports = class WizardSettingsModal extends View @hide() @enableModalInProgress(@$el) - me.save() From 0eb74ab2877ec973bd8e5c4d2a20f03f1a200dcf Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 22:33:09 -0700 Subject: [PATCH 60/79] Added buttons for performing actions on patches. --- app/models/CocoModel.coffee | 10 +++++++++- app/models/Patch.coffee | 5 ++++- app/templates/editor/patch_modal.jade | 15 +++++++++------ app/templates/editor/thang/edit.jade | 8 ++++---- app/views/editor/patch_modal.coffee | 22 ++++++++++++++++++++-- 5 files changed, 46 insertions(+), 14 deletions(-) diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 59820f703..cdef843d3 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -91,6 +91,7 @@ class CocoModel extends Backbone.Model @markToRevert() @clearBackup() @trigger "save", @ + patch.setStatus 'accepted' for patch in @acceptedPatches or [] return super attrs, options fetch: -> @@ -116,7 +117,9 @@ class CocoModel extends Backbone.Model cloneNewMinorVersion: -> newData = $.extend(null, {}, @attributes) - new @constructor(newData) + clone = new @constructor(newData) + clone.acceptedPatches = @acceptedPatches + clone cloneNewMajorVersion: -> clone = @cloneNewMinorVersion() @@ -240,5 +243,10 @@ class CocoModel extends Backbone.Model getExpandedDelta: -> delta = @getDelta() deltasLib.expandDelta(delta, @_revertAttributes, @schema().attributes) + + addPatchToAcceptOnSave: (patch) -> + @acceptedPatches ?= [] + @acceptedPatches.push patch + @acceptedPatches = _.uniq(@acceptedPatches, false, (p) -> p.id) module.exports = CocoModel diff --git a/app/models/Patch.coffee b/app/models/Patch.coffee index a88c30941..68b62eca9 100644 --- a/app/models/Patch.coffee +++ b/app/models/Patch.coffee @@ -2,4 +2,7 @@ CocoModel = require('./CocoModel') module.exports = class PatchModel extends CocoModel @className: "Patch" - urlRoot: "/db/patch" \ No newline at end of file + urlRoot: "/db/patch" + + setStatus: (status) -> + $.ajax("/db/patch/#{@id}/status", {type:"PUT", data: {status:status}}) \ No newline at end of file diff --git a/app/templates/editor/patch_modal.jade b/app/templates/editor/patch_modal.jade index 4b094cd81..68fed43f7 100644 --- a/app/templates/editor/patch_modal.jade +++ b/app/templates/editor/patch_modal.jade @@ -12,9 +12,12 @@ block modal-body-content block modal-footer .modal-footer button(data-dismiss="modal", data-i18n="common.cancel").btn Cancel - if canReject - button.btn.btn-danger Reject - if canWithdraw - button.btn.btn-danger Withdraw - if canAccept - button.btn.btn-primary Accept \ No newline at end of file + if isPatchCreator + if status != 'withdrawn' + button.btn.btn-danger#withdraw-button Withdraw + if isPatchRecipient + if status != 'accepted' + button.btn.btn-primary#accept-button Accept + if status != 'rejected' + button.btn.btn-danger#reject-button Reject + \ No newline at end of file diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index b751d6de8..37c9054ed 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -19,7 +19,7 @@ block content h3 Edit Thang Type: "#{thangType.attributes.name}" ul.nav.nav-tabs - li + li.active a(href="#editor-thang-main-tab-view", data-toggle="tab") Main li a(href="#editor-thang-components-tab-view", data-toggle="tab") Components @@ -27,13 +27,13 @@ block content a(href="#editor-thang-spritesheets-view", data-toggle="tab") Spritesheets li a(href="#editor-thang-colors-tab-view", data-toggle="tab")#color-tab Colors - li.active + li a(href="#editor-thang-patches-view", data-toggle="tab")#patches-tab Patches div.tab-content div.tab-pane#editor-thang-colors-tab-view - div.tab-pane#editor-thang-main-tab-view + div.tab-pane#editor-thang-main-tab-view.active div.main-area.well div.file-controls @@ -86,7 +86,7 @@ block content div#spritesheets - div.tab-pane#editor-thang-patches-view.active + div.tab-pane#editor-thang-patches-view div.patches-view diff --git a/app/views/editor/patch_modal.coffee b/app/views/editor/patch_modal.coffee index 2eecab361..19f3ebfe6 100644 --- a/app/views/editor/patch_modal.coffee +++ b/app/views/editor/patch_modal.coffee @@ -1,11 +1,17 @@ ModalView = require 'views/kinds/ModalView' template = require 'templates/editor/patch_modal' DeltaView = require 'views/editor/delta' +auth = require 'lib/auth' module.exports = class PatchModal extends ModalView id: "patch-modal" template: template plain: true + + events: + 'click #withdraw-button': 'withdrawPatch' + 'click #reject-button': 'rejectPatch' + 'click #accept-button': 'acceptPatch' constructor: (@patch, @targetModel, options) -> super(options) @@ -21,6 +27,9 @@ module.exports = class PatchModal extends ModalView getRenderData: -> c = super() + c.isPatchCreator = @patch.get('creator') is auth.me.id + c.isPatchRecipient = @targetModel.hasWriteAccess() + c.status = @patch.get 'status' c afterRender: -> @@ -38,5 +47,14 @@ module.exports = class PatchModal extends ModalView acceptPatch: -> delta = @deltaView.getApplicableDelta() - pendingModel = @originalSource.clone(false) - pendingModel.applyDelta(delta) \ No newline at end of file + @targetModel.applyDelta(delta) + @targetModel.addPatchToAcceptOnSave(@patch) + @hide() + + rejectPatch: -> + @patch.setStatus('rejected') + @hide() + + withdrawPatch: -> + @patch.setStatus('withdrawn') + @hide() \ No newline at end of file From 53579b2632c960b28426bc0afda5e3f299ded04d Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Fri, 11 Apr 2014 22:52:05 -0700 Subject: [PATCH 61/79] Merge branch 'master' into feature/jsondiffpatch Conflicts: app/templates/editor/level/save.jade app/templates/editor/thang/edit.jade --- app/locale/en.coffee | 5 +---- app/templates/editor/thang/edit.jade | 7 +------ app/templates/modal/save_version.jade | 4 ++-- app/views/modal/save_version_modal.coffee | 1 + 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 8e65e4212..b65b93340 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -6,6 +6,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr send: "Send" cancel: "Cancel" save: "Save" + publish: "Publish" create: "Create" delay_1_sec: "1 second" delay_3_sec: "3 seconds" @@ -47,9 +48,6 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr versions: save_version_title: "Save New Version" new_major_version: "New Major Version" - update_break_level: "(Could this update break old solutions of the level?)" - update_break_component: "(Could this update break anything depending on this Component?)" - update_break_system: "(Could this update break anything depending on this System?)" cla_prefix: "To save changes, first you must agree to our" cla_url: "CLA" cla_suffix: "." @@ -327,7 +325,6 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr more: "More" wiki: "Wiki" live_chat: "Live Chat" - level_publish: "Publish This Level (irreversible)?" level_some_options: "Some Options?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index 062a97575..b1924f439 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -12,13 +12,8 @@ block content img#portrait.img-thumbnail -<<<<<<< HEAD - button.btn.btn-secondary#history-button(data-i18n="general.history") History - button.btn.btn-primary#save-button(data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save -======= button.btn.btn-secondary#history-button(data-i18n="general.version_history") Version History - button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save ->>>>>>> master + button.btn.btn-primary#save-button(data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert h3 Edit Thang Type: "#{thangType.attributes.name}" diff --git a/app/templates/modal/save_version.jade b/app/templates/modal/save_version.jade index 7fcfd871d..748c541a9 100644 --- a/app/templates/modal/save_version.jade +++ b/app/templates/modal/save_version.jade @@ -11,12 +11,12 @@ block modal-body-content .changes-stub form.form-inline .form-group.commit-message - input.form-control#commit-message(name="commitMessage", type="text", placeholder="Commit Message") + input.form-control#commit-message(name="commitMessage", type="text") if !isPatch .checkbox label input#major-version(name="version-is-major", type="checkbox") - | Major Changes + span(data-i18n="versions.new_major_version") New Major Version else .alert.alert-danger No changes diff --git a/app/views/modal/save_version_modal.coffee b/app/views/modal/save_version_modal.coffee index db4c45de3..1ed4a4d54 100644 --- a/app/views/modal/save_version_modal.coffee +++ b/app/views/modal/save_version_modal.coffee @@ -33,6 +33,7 @@ module.exports = class SaveVersionModal extends ModalView changeEl = @$el.find('.changes-stub') deltaView = new DeltaView({model:@model}) @insertSubView(deltaView, changeEl) + $('.commit-message input').attr('placeholder', $.i18n.t('general.commit_msg')) onClickSaveButton: -> Backbone.Mediator.publish 'save-new-version', { From a4284e62096430aabc68c9d63cf15a1e83cf110f Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 11 Apr 2014 23:07:48 -0700 Subject: [PATCH 62/79] Fixed #776 with some CSS/font fixes and \@therealbond's admin footerization. --- app/styles/base.sass | 19 ++++++++++++++++++- app/styles/common/top_nav.sass | 2 +- app/templates/base.jade | 8 ++------ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/styles/base.sass b/app/styles/base.sass index 72ff4fe2f..b5a9a0752 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -212,7 +212,7 @@ table.table .header-font font-family: $headings-font-family -body[lang='ru'], body[lang|='zh'], body[lang='ja'], body[lang='pl'], body[lang='tr'], body[lang='cs'], body[lang='el'], body[lang='ro'], body[lang='vi'], body[lang='th'], body[lang='ko'], body[lang='sk'], body[lang='sl'], body[lang='bg'], body[lang='he'], body[lang='lt'], body[lang='sr'], body[lang='uk'], body[lang='hi'], body[lang='ur'], +body[lang='ru'], body[lang|='zh'], body[lang='pl'], body[lang='tr'], body[lang='cs'], body[lang='el'], body[lang='ro'], body[lang='vi'], body[lang='th'], body[lang='ko'], body[lang='sk'], body[lang='sl'], body[lang='bg'], body[lang='he'], body[lang='lt'], body[lang='sr'], body[lang='uk'], body[lang='hi'], body[lang='ur'], body[lang='hu'] h1, h2, h3, h4, h5, h6 font-family: 'Open Sans Condensed', Impact, "Arial Narrow", "Arial", sans-serif text-transform: uppercase @@ -222,6 +222,23 @@ body[lang='ru'], body[lang|='zh'], body[lang='ja'], body[lang='pl'], body[lang=' font-family: 'Open Sans Condensed', Impact, "Arial Narrow", "Arial", sans-serif !important text-transform: uppercase letter-spacing: -1px !important + +body[lang='ja'] + h1, h2, h3, h4, h5, h6 + font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", 'Open Sans Condensed', sans-serif + text-transform: uppercase + letter-spacing: -1px !important + + .header-font + font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", 'Open Sans Condensed', sans-serif + text-transform: uppercase + letter-spacing: -1px !important + + #top-nav + .navbar-nav + li + a.header-font + font-size: 16px @media only screen and (max-width: 800px) .main-content-area diff --git a/app/styles/common/top_nav.sass b/app/styles/common/top_nav.sass index 9a41771fe..f5c61685e 100644 --- a/app/styles/common/top_nav.sass +++ b/app/styles/common/top_nav.sass @@ -11,7 +11,7 @@ letter-spacing: 1px .navbuttontext-user-name - max-width: 125px + max-width: 110px overflow: hidden text-overflow: ellipsis white-space: nowrap diff --git a/app/templates/base.jade b/app/templates/base.jade index f31bc2db3..96d184876 100644 --- a/app/templates/base.jade +++ b/app/templates/base.jade @@ -51,12 +51,6 @@ body a.header-font(href='http://blog.codecombat.com/', data-i18n="nav.blog") Blog li.forum a.header-font(href='http://discourse.codecombat.com/', data-i18n="nav.forum") Forum - if me.isAdmin() - li.admin - a.header-font(href='/admin', data-i18n="nav.admin") Admin - - - block outer_content @@ -79,6 +73,8 @@ body a(href='/legal', title='Legal', tabindex=-1, data-i18n="nav.legal") Legal a(href='/about', title='About', tabindex=-1, data-i18n="nav.about") About a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="nav.contact") Contact + if me.isAdmin() + a(href='/admin', data-i18n="nav.admin") Admin .share-buttons .g-plusone(data-href="http://codecombat.com", data-size="medium") From 6fb5b59a012389cc607c3e6e2256adfb31f42130 Mon Sep 17 00:00:00 2001 From: Aditya Raisinghani <aditya.ajeet@gmail.com> Date: Sat, 12 Apr 2014 14:05:56 +0530 Subject: [PATCH 63/79] Refactored schemas to be in /app --- app/models/CocoModel.coffee | 21 +- app/models/SuperModel.coffee | 4 +- app/schemas/article_schema.coffee | 13 + app/schemas/i18n_schema.coffee | 48 ++++ app/schemas/languages.coffee | 49 ++++ app/schemas/level_component_schema.coffee | 119 ++++++++ app/schemas/level_feedback_schema.coffee | 27 ++ app/schemas/level_schema.coffee | 254 ++++++++++++++++++ app/schemas/level_session_schema.coffee | 213 +++++++++++++++ app/schemas/level_system_schema.coffee | 106 ++++++++ app/schemas/metaschema.coffee | 132 +++++++++ app/schemas/schemas.coffee | 158 +++++++++++ app/schemas/thang_component_schema.coffee | 21 ++ app/schemas/thang_type_schema.coffee | 153 +++++++++++ app/schemas/user_schema.coffee | 98 +++++++ app/views/account/settings_view.coffee | 4 +- app/views/editor/article/edit.coffee | 2 +- app/views/editor/components/main.coffee | 4 +- app/views/editor/level/component/edit.coffee | 6 +- .../editor/level/scripts_tab_view.coffee | 4 +- .../editor/level/settings_tab_view.coffee | 2 +- app/views/editor/level/system/edit.coffee | 6 +- .../editor/level/systems_tab_view.coffee | 2 +- app/views/editor/level/thangs_tab_view.coffee | 2 +- app/views/editor/thang/colors_tab_view.coffee | 4 +- app/views/editor/thang/edit.coffee | 4 +- app/views/modal/login_modal.coffee | 2 +- app/views/modal/signup_modal.coffee | 2 +- server/routes/db.coffee | 4 +- 29 files changed, 1429 insertions(+), 35 deletions(-) create mode 100644 app/schemas/article_schema.coffee create mode 100644 app/schemas/i18n_schema.coffee create mode 100644 app/schemas/languages.coffee create mode 100644 app/schemas/level_component_schema.coffee create mode 100644 app/schemas/level_feedback_schema.coffee create mode 100644 app/schemas/level_schema.coffee create mode 100644 app/schemas/level_session_schema.coffee create mode 100644 app/schemas/level_system_schema.coffee create mode 100644 app/schemas/metaschema.coffee create mode 100644 app/schemas/schemas.coffee create mode 100644 app/schemas/thang_component_schema.coffee create mode 100644 app/schemas/thang_type_schema.coffee create mode 100644 app/schemas/user_schema.coffee diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 8dc8e03a1..974cd4826 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -5,9 +5,11 @@ auth = require 'lib/auth' class CocoSchema extends Backbone.Model constructor: (path, args...) -> super(args...) - @urlRoot = path + '/schema' + # @urlRoot = path + '/schema' + @schemaName = path[4..].replace '.', '_' + @schema = require 'schemas/' + @schemaName + '_schema' -window.CocoSchema = CocoSchema +# window.CocoSchema = CocoSchema.schema class CocoModel extends Backbone.Model idAttribute: "_id" @@ -18,7 +20,7 @@ class CocoModel extends Backbone.Model initialize: -> super() - @constructor.schema ?= new CocoSchema(@urlRoot) + @constructor.schema ?= @urlRoot[4..].replace '.', '_' if not @constructor.className console.error("#{@} needs a className set.") @markToRevert() @@ -65,8 +67,9 @@ class CocoModel extends Backbone.Model loadSchema: -> return if @constructor.schema.loading - @constructor.schema.fetch() - @listenToOnce(@constructor.schema, 'sync', @onConstructorSync) + @constructor.schema = require 'schemas/' + @constructor.schema + '_schema' unless @constructor.schema.loaded + @onConstructorSync() + # @listenToOnce(@constructor.schema, 'sync', @onConstructorSync) onConstructorSync: -> @constructor.schema.loaded = true @@ -77,7 +80,7 @@ class CocoModel extends Backbone.Model schema: -> return @constructor.schema validate: -> - result = tv4.validateMultiple(@attributes, @constructor.schema?.attributes or {}) + result = tv4.validateMultiple(@attributes, @constructor.schema? or {}) if result.errors?.length console.log @, "got validate result with errors:", result return result.errors unless result.valid @@ -138,11 +141,11 @@ class CocoModel extends Backbone.Model addSchemaDefaults: -> return if @addedSchemaDefaults or not @constructor.hasSchema() @addedSchemaDefaults = true - for prop, defaultValue of @constructor.schema.attributes.default or {} + for prop, defaultValue of @constructor.schema.default or {} continue if @get(prop)? #console.log "setting", prop, "to", defaultValue, "from attributes.default" @set prop, defaultValue - for prop, sch of @constructor.schema.attributes.properties or {} + for prop, sch of @constructor.schema.properties or {} continue if @get(prop)? #console.log "setting", prop, "to", sch.default, "from sch.default" if sch.default? @set prop, sch.default if sch.default? @@ -154,7 +157,7 @@ class CocoModel extends Backbone.Model # returns unfetched model shells for every referenced doc in this model # OPTIMIZE so that when loading models, it doesn't cause the site to stutter data ?= @attributes - schema ?= @schema().attributes + schema ?= @schema() models = [] if $.isArray(data) and schema.items? diff --git a/app/models/SuperModel.coffee b/app/models/SuperModel.coffee index 9e2bcd347..adcac62eb 100644 --- a/app/models/SuperModel.coffee +++ b/app/models/SuperModel.coffee @@ -29,9 +29,9 @@ class SuperModel model.loadSchema() schema = model.schema() unless schema.loaded - @schemas[schema.urlRoot] = schema + @schemas[model.urlRoot] = schema return schema.once('sync', => @modelLoaded(model)) - refs = model.getReferencedModels(model.attributes, schema.attributes, '/', @shouldLoadProjection) + refs = model.getReferencedModels(model.attributes, schema, '/', @shouldLoadProjection) refs = [] unless @mustPopulate is model or @shouldPopulate(model) # console.log 'Loaded', model.get('name') for ref, i in refs when @shouldLoadReference ref diff --git a/app/schemas/article_schema.coffee b/app/schemas/article_schema.coffee new file mode 100644 index 000000000..012d46ec3 --- /dev/null +++ b/app/schemas/article_schema.coffee @@ -0,0 +1,13 @@ +c = require './schemas' + +ArticleSchema = c.object() +c.extendNamedProperties ArticleSchema # name first + +ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } +ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['name', 'body'] } + +c.extendBasicProperties(ArticleSchema, 'article') +c.extendSearchableProperties(ArticleSchema) +c.extendVersionedProperties(ArticleSchema, 'article') + +module.exports = ArticleSchema diff --git a/app/schemas/i18n_schema.coffee b/app/schemas/i18n_schema.coffee new file mode 100644 index 000000000..2a2aaf816 --- /dev/null +++ b/app/schemas/i18n_schema.coffee @@ -0,0 +1,48 @@ +#this file will hold the experimental JSON schema for i18n +c = require './schemas' + +languageCodeArrayRegex = c.generateLanguageCodeArrayRegex() + + +ExampleSchema = { + title: "Example Schema", + description:"An example schema", + type: "object", + properties: { + text: { + title: "Text", + description: "A short message to display in the dialogue area. Markdown okay.", + type: "string", + maxLength: 400 + }, + i18n: {"$ref": "#/definitions/i18n"} + }, + + definitions: { + i18n: { + title: "i18n", + description: "The internationalization object", + type: "object", + patternProperties: { + languageCodeArrayRegex: { + additionalProperties: false, + properties: { + #put the translatable properties here + #if it is possible to not include i18n with a reference + # to #/properties, you could just do + properties: {"$ref":"#/properties"} + # text: {"$ref": "#/properties/text"} + } + default: { + title: "LanguageCode", + description: "LanguageDescription" + } + } + } + } + }, + +} + +#define a i18n object type for each schema, then have the i18n have it's oneOf check against +#translatable schemas of that object \ No newline at end of file diff --git a/app/schemas/languages.coffee b/app/schemas/languages.coffee new file mode 100644 index 000000000..e9c8e0f33 --- /dev/null +++ b/app/schemas/languages.coffee @@ -0,0 +1,49 @@ +# errors = require '../commons/errors' +# log = require 'winston' +locale = require '../locale/locale' # requiring from app; will break if we stop serving from where app lives + +# module.exports.setup = (app) -> +# app.all '/languages/add/:lang/:namespace', (req, res) -> +# # Should probably store these somewhere +# log.info "#{req.params.lang}.#{req.params.namespace} missing an i18n key:", req.body +# res.send('') +# res.end() + +# app.all '/languages', (req, res) -> +# # Now that these are in the client, not sure when we would use this, but hey +# return errors.badMethod(res) if req.route.method isnt 'get' +# res.send(languages) +# return res.end() + +languages = [] +for code, localeInfo of locale + languages.push code: code, nativeDescription: localeInfo.nativeDescription, englishDescription: localeInfo.englishDescription + +module.exports.languages = languages +module.exports.languageCodes = languageCodes = (language.code for language in languages) +module.exports.languageCodesLower = languageCodesLower = (code.toLowerCase() for code in languageCodes) + +# Keep keys lower-case for matching and values with second subtag uppercase like i18next expects +languageAliases = + 'en': 'en-US' + + 'zh-cn': 'zh-HANS' + 'zh-hans-cn': 'zh-HANS' + 'zh-sg': 'zh-HANS' + 'zh-hans-sg': 'zh-HANS' + + 'zh-tw': 'zh-HANT' + 'zh-hant-tw': 'zh-HANT' + 'zh-hk': 'zh-HANT' + 'zh-hant-hk': 'zh-HANT' + 'zh-mo': 'zh-HANT' + 'zh-hant-mo': 'zh-HANT' + +module.exports.languageCodeFromAcceptedLanguages = languageCodeFromAcceptedLanguages = (acceptedLanguages) -> + for lang in acceptedLanguages ? [] + code = languageAliases[lang.toLowerCase()] + return code if code + codeIndex = _.indexOf languageCodesLower, lang + if codeIndex isnt -1 + return languageCodes[codeIndex] + return 'en-US' diff --git a/app/schemas/level_component_schema.coffee b/app/schemas/level_component_schema.coffee new file mode 100644 index 000000000..d67c69376 --- /dev/null +++ b/app/schemas/level_component_schema.coffee @@ -0,0 +1,119 @@ +c = require './schemas' +metaschema = require './metaschema' + +attackSelfCode = """ +class AttacksSelf extends Component + @className: "AttacksSelf" + chooseAction: -> + @attack @ +""" +systems = [ + 'action', 'ai', 'alliance', 'collision', 'combat', 'display', 'event', 'existence', 'hearing' + 'inventory', 'movement', 'programming', 'targeting', 'ui', 'vision', 'misc', 'physics', 'effect', + 'magic' +] + +PropertyDocumentationSchema = c.object { + title: "Property Documentation" + description: "Documentation entry for a property this Component will add to its Thang which other Components might + want to also use." + "default": + name: "foo" + type: "object" + description: 'The `foo` property can satisfy all the #{spriteName}\'s foobar needs. Use it wisely.' + required: ['name', 'type', 'description'] +}, + name: {type: 'string', title: "Name", description: "Name of the property."} + # not actual JS types, just whatever they describe... + type: c.shortString(title: "Type", description: "Intended type of the property.") + description: {title: "Description", type: 'string', description: "Description of the property.", format: 'markdown', maxLength: 1000} + args: c.array {title: "Arguments", description: "If this property has type 'function', then provide documentation for any function arguments."}, c.FunctionArgumentSchema + owner: {title: "Owner", type: 'string', description: 'Owner of the property, like "this" or "Math".'} + example: {title: "Example", type: 'string', description: 'An optional example code block.', format: 'javascript'} + returns: c.object { + title: "Return Value" + description: 'Optional documentation of any return value.' + required: ['type'] + default: {type: 'null'} + }, + type: c.shortString(title: "Type", description: "Type of the return value") + example: c.shortString(title: "Example", description: "Example return value") + description: {title: "Description", type: 'string', description: "Description of the return value.", maxLength: 1000} + +DependencySchema = c.object { + title: "Component Dependency" + description: "A Component upon which this Component depends." + "default": + #original: ? + majorVersion: 0 + required: ["original", "majorVersion"] + format: 'latest-version-reference' + links: [{rel: "db", href: "/db/level.component/{(original)}/version/{(majorVersion)}"}] +}, + original: c.objectId(title: "Original", description: "A reference to another Component upon which this Component depends.") + majorVersion: + title: "Major Version" + description: "Which major version of the Component this Component needs." + type: 'integer' + minimum: 0 + +LevelComponentSchema = c.object { + title: "Component" + description: "A Component which can affect Thang behavior." + required: ["system", "name", "description", "code", "dependencies", "propertyDocumentation", "language"] + "default": + system: "ai" + name: "AttacksSelf" + description: "This Component makes the Thang attack itself." + code: attackSelfCode + language: "coffeescript" + dependencies: [] # TODO: should depend on something by default + propertyDocumentation: [] +} +c.extendNamedProperties LevelComponentSchema # let's have the name be the first property +LevelComponentSchema.properties.name.pattern = c.classNamePattern +_.extend LevelComponentSchema.properties, + system: + title: "System" + description: "The short name of the System this Component belongs to, like \"ai\"." + type: "string" + "enum": systems + "default": "ai" + description: + title: "Description" + description: "A short explanation of what this Component does." + type: "string" + maxLength: 2000 + "default": "This Component makes the Thang attack itself." + language: + type: "string" + title: "Language" + description: "Which programming language this Component is written in." + "enum": ["coffeescript"] + code: + title: "Code" + description: "The code for this Component, as a CoffeeScript class. TODO: add link to documentation for + how to write these." + "default": attackSelfCode + type: "string" + format: "coffee" + js: + title: "JavaScript" + description: "The transpiled JavaScript code for this Component" + type: "string" + format: "hidden" + dependencies: c.array {title: "Dependencies", description: "An array of Components upon which this Component depends.", "default": [], uniqueItems: true}, DependencySchema + propertyDocumentation: c.array {title: "Property Documentation", description: "An array of documentation entries for each notable property this Component will add to its Thang which other Components might want to also use.", "default": []}, PropertyDocumentationSchema + configSchema: _.extend metaschema, {title: "Configuration Schema", description: "A schema for validating the arguments that can be passed to this Component as configuration.", default: {type: 'object', additionalProperties: false}} + official: + type: "boolean" + title: "Official" + description: "Whether this is an official CodeCombat Component." + "default": false + +c.extendBasicProperties LevelComponentSchema, 'level.component' +c.extendSearchableProperties LevelComponentSchema +c.extendVersionedProperties LevelComponentSchema, 'level.component' +c.extendPermissionsProperties LevelComponentSchema, 'level.component' + +module.exports = LevelComponentSchema diff --git a/app/schemas/level_feedback_schema.coffee b/app/schemas/level_feedback_schema.coffee new file mode 100644 index 000000000..201beb468 --- /dev/null +++ b/app/schemas/level_feedback_schema.coffee @@ -0,0 +1,27 @@ +c = require './schemas' + +LevelFeedbackLevelSchema = c.object {required: ['original', 'majorVersion']}, { + original: c.objectId({}) + majorVersion: {type: 'integer', minimum: 0, default: 0}} + +LevelFeedbackSchema = c.object { + title: "Feedback" + description: "Feedback on a level." +} + +_.extend LevelFeedbackSchema.properties, + # denormalization + creatorName: { type: 'string' } + levelName: { type: 'string' } + levelID: { type: 'string' } + + creator: c.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}]) + created: c.date( { title: 'Created', readOnly: true }) + + level: LevelFeedbackLevelSchema + rating: { type: 'number', minimum: 1, maximum: 5 } + review: { type: 'string' } + +c.extendBasicProperties LevelFeedbackSchema, 'level.feedback' + +module.exports = LevelFeedbackSchema diff --git a/app/schemas/level_schema.coffee b/app/schemas/level_schema.coffee new file mode 100644 index 000000000..e372bdd52 --- /dev/null +++ b/app/schemas/level_schema.coffee @@ -0,0 +1,254 @@ +c = require './schemas' +ThangComponentSchema = require './thang_component_schema' + +SpecificArticleSchema = c.object() +c.extendNamedProperties SpecificArticleSchema # name first +SpecificArticleSchema.properties.body = { type: 'string', title: 'Content', description: "The body content of the article, in Markdown.", format: 'markdown' } +SpecificArticleSchema.displayProperty = 'name' + +side = {title: "Side", description: "A side.", type: 'string', 'enum': ['left', 'right', 'top', 'bottom']} +thang = {title: "Thang", description: "The name of a Thang.", type: 'string', maxLength: 30, format:'thang'} + +eventPrereqValueTypes = ["boolean", "integer", "number", "null", "string"] # not "object" or "array" +EventPrereqSchema = c.object {title: "Event Prerequisite", format: 'event-prereq', description: "Script requires that the value of some property on the event triggering it to meet some prerequisite.", "default": {eventProps: []}, required: ["eventProps"]}, + eventProps: c.array {'default': ["thang"], format:'event-value-chain', maxItems: 10, title: "Event Property", description: 'A chain of keys in the event, like "thang.pos.x" to access event.thang.pos.x.'}, c.shortString(title: "Property", description: "A key in the event property key chain.") + equalTo: c.object {type: eventPrereqValueTypes, title: "==", description: "Script requires the event's property chain value to be equal to this value."} + notEqualTo: c.object {type: eventPrereqValueTypes, title: "!=", description: "Script requires the event's property chain value to *not* be equal to this value."} + greaterThan: {type: 'number', title: ">", description: "Script requires the event's property chain value to be greater than this value."} + greaterThanOrEqualTo: {type: 'number', title: ">=", description: "Script requires the event's property chain value to be greater or equal to this value."} + lessThan: {type: 'number', title: "<", description: "Script requires the event's property chain value to be less than this value."} + lessThanOrEqualTo: {type: 'number', title: "<=", description: "Script requires the event's property chain value to be less than or equal to this value."} + containingString: c.shortString(title: "Contains", description: "Script requires the event's property chain value to be a string containing this string.") + notContainingString: c.shortString(title: "Does not contain", description: "Script requires the event's property chain value to *not* be a string containing this string.") + containingRegexp: c.shortString(title: "Contains Regexp", description: "Script requires the event's property chain value to be a string containing this regular expression.") + notContainingRegexp: c.shortString(title: "Does not contain regexp", description: "Script requires the event's property chain value to *not* be a string containing this regular expression.") + +GoalSchema = c.object {title: "Goal", description: "A goal that the player can accomplish.", required: ["name", "id"]}, + name: c.shortString(title: "Name", description: "Name of the goal that the player will see, like \"Defeat eighteen dragons\".") + i18n: {type: "object", format: 'i18n', props: ['name'], description: "Help translate this goal"} + id: c.shortString(title: "ID", description: "Unique identifier for this goal, like \"defeat-dragons\".") # unique somehow? + worldEndsAfter: {title: 'World Ends After', description: "When included, ends the world this many seconds after this goal succeeds or fails.", type: 'number', minimum: 0, exclusiveMinimum: true, maximum: 300, default: 3} + howMany: {title: "How Many", description: "When included, require only this many of the listed goal targets instead of all of them.", type: 'integer', minimum: 1} + hiddenGoal: {title: "Hidden", description: "Hidden goals don't show up in the goals area for the player until they're failed. (Usually they're obvious, like 'don't die'.)", 'type': 'boolean', default: false} + team: c.shortString(title: 'Team', description: 'Name of the team this goal is for, if it is not for all of the playable teams.') + killThangs: c.array {title: "Kill Thangs", description: "A list of Thang IDs the player should kill, or team names.", uniqueItems: true, minItems: 1, "default": ["ogres"]}, thang + saveThangs: c.array {title: "Save Thangs", description: "A list of Thang IDs the player should save, or team names", uniqueItems: true, minItems: 1, "default": ["humans"]}, thang + getToLocations: c.object {title: "Get To Locations", description: "Will be set off when any of the \"who\" touch any of the \"targets\" ", required: ["who", "targets"]}, + who: c.array {title: "Who", description: "The Thangs who must get to the target locations.", minItems: 1}, thang + targets: c.array {title: "Targets", description: "The target locations to which the Thangs must get.", minItems: 1}, thang + getAllToLocations: c.array {title: "Get all to locations", description: "Similar to getToLocations but now a specific \"who\" can have a specific \"target\", also must be used with the HowMany property for desired effect",required: ["getToLocation"]}, + c.object {title: "", description: ""}, + getToLocation: c.object {title: "Get To Locations", description: "TODO: explain", required: ["who", "targets"]}, + who: c.array {title: "Who", description: "The Thangs who must get to the target locations.", minItems: 1}, thang + targets: c.array {title: "Targets", description: "The target locations to which the Thangs must get.", minItems: 1}, thang + keepFromLocations: c.object {title: "Keep From Locations", description: "TODO: explain", required: ["who", "targets"]}, + who: c.array {title: "Who", description: "The Thangs who must not get to the target locations.", minItems: 1}, thang + targets: c.array {title: "Targets", description: "The target locations to which the Thangs must not get.", minItems: 1}, thang + keepAllFromLocations: c.array {title: "Keep ALL From Locations", description: "Similar to keepFromLocations but now a specific \"who\" can have a specific \"target\", also must be used with the HowMany property for desired effect", required: ["keepFromLocation"]}, + c.object {title: "", description: ""}, + keepFromLocation: c.object {title: "Keep From Locations", description: "TODO: explain", required: ["who", "targets"]}, + who: c.array {title: "Who", description: "The Thangs who must not get to the target locations.", minItems: 1}, thang + targets: c.array {title: "Targets", description: "The target locations to which the Thangs must not get.", minItems: 1}, thang + leaveOffSides: c.object {title: "Leave Off Sides", description: "Sides of the level to get some Thangs to leave across.", required: ["who", "sides"]}, + who: c.array {title: "Who", description: "The Thangs which must leave off the sides of the level.", minItems: 1}, thang + sides: c.array {title: "Sides", description: "The sides off which the Thangs must leave.", minItems: 1}, side + keepFromLeavingOffSides: c.object {title: "Keep From Leaving Off Sides", description: "Sides of the level to keep some Thangs from leaving across.", required: ["who", "sides"]}, + who: c.array {title: "Who", description: "The Thangs which must not leave off the sides of the level.", minItems: 1}, thang + sides: side, {title: "Sides", description: "The sides off which the Thangs must not leave.", minItems: 1}, side + collectThangs: c.object {title: "Collect", description: "Thangs that other Thangs must collect.", required: ["who", "targets"]}, + who: c.array {title: "Who", description: "The Thangs which must collect the target items.", minItems: 1}, thang + targets: c.array {title: "Targets", description: "The target items which the Thangs must collect.", minItems: 1}, thang + keepFromCollectingThangs: c.object {title: "Keep From Collecting", description: "Thangs that the player must prevent other Thangs from collecting.", required: ["who", "targets"]}, + who: c.array {title: "Who", description: "The Thangs which must not collect the target items.", minItems: 1}, thang + targets: c.array {title: "Targets", description: "The target items which the Thangs must not collect.", minItems: 1}, thang + +ResponseSchema = c.object {title: "Dialogue Button", description: "A button to be shown to the user with the dialogue.", required: ["text"]}, + text: {title: "Title", description: "The text that will be on the button", "default": "Okay", type: 'string', maxLength: 30} + channel: c.shortString(title: "Channel", format: 'event-channel', description: 'Channel that this event will be broadcast over, like "level-set-playing".') + event: {type: 'object', title: "Event", description: "Event that will be broadcast when this button is pressed, like {playing: true}."} + buttonClass: c.shortString(title: "Button Class", description: 'CSS class that will be added to the button, like "btn-primary".') + i18n: {type: "object", format: 'i18n', props: ['text'], description: "Help translate this button"} + +PointSchema = c.object {title: "Point", description: "An {x, y} coordinate point.", format: "point2d", required: ["x", "y"]}, + x: {title: "x", description: "The x coordinate.", type: "number", "default": 15} + y: {title: "y", description: "The y coordinate.", type: "number", "default": 20} + +SpriteCommandSchema = c.object {title: "Thang Command", description: "Make a target Thang move or say something, or select/deselect it.", required: ["id"], default: {id: "Captain Anya"}}, + id: thang + select: {title: "Select", description: "Select or deselect this Thang.", type: 'boolean'} + say: c.object {title: "Say", description: "Make this Thang say a message.", required: ["text"]}, + blurb: c.shortString(title: "Blurb", description: "A very short message to display above this Thang's head. Plain text.", maxLength: 50) + mood: c.shortString(title: "Mood", description: "The mood with which the Thang speaks.", "enum": ["explain", "debrief", "congrats", "attack", "joke", "tip", "alarm"], "default": "explain") + text: {title: "Text", description: "A short message to display in the dialogue area. Markdown okay.", type: "string", maxLength: 400} + sound: c.object {title: "Sound", description: "A dialogue sound file to accompany the message.", required: ["mp3", "ogg"]}, + mp3: c.shortString(title: "MP3", format: 'sound-file') + ogg: c.shortString(title: "OGG", format: 'sound-file') + preload: {title: "Preload", description: "Whether to load this sound file before the level can begin (typically for the first dialogue of a level).", type: 'boolean', "default": false} + responses: c.array {title: "Buttons", description: "An array of buttons to include with the dialogue, with which the user can respond."}, ResponseSchema + i18n: {type: "object", format: 'i18n', props: ['blurb', 'text'], description: "Help translate this message"} + move: c.object {title: "Move", description: "Tell the Thang to move.", required: ['target'], default: {target: {x: 20, y: 20}, duration: 500}}, + target: _.extend _.cloneDeep(PointSchema), {title: 'Target', description: 'Target point to which the Thang will move.'} + duration: {title: "Duration", description: "Number of milliseconds over which to move, or 0 for an instant move.", type: 'integer', minimum: 0, default: 500, format: 'milliseconds'} + +NoteGroupSchema = c.object {title: "Note Group", description: "A group of notes that should be sent out as a result of this script triggering.", displayProperty: "name"}, + name: {title: "Name", description: "Short name describing the script, like \"Anya greets the player\", for your convenience.", type: "string"} + dom: c.object {title: "DOM", description: "Manipulate things in the play area DOM, outside of the level area canvas."}, + focus: c.shortString(title: "Focus", description: "Set the window focus to this DOM selector string.") + showVictory: { + title: "Show Victory", + description: "Show the done button and maybe also the victory modal.", + enum: [true, 'Done Button', 'Done Button And Modal'] # deprecate true, same as 'done_button_and_modal' + } + highlight: c.object {title: "Highlight", description: "Highlight the target DOM selector string with a big arrow."}, + target: c.shortString(title: "Target", description: "Target highlight element DOM selector string.") + delay: {type: 'integer', minimum: 0, title: "Delay", description: "Show the highlight after this many milliseconds. Doesn't affect the dim shade cutout highlight method."} + offset: _.extend _.cloneDeep(PointSchema), {title: 'Offset', description: 'Pointing arrow tip offset in pixels from the default target.', format: null} + rotation: {type: 'number', minimum: 0, title: "Rotation", description: "Rotation of the pointing arrow, in radians. PI / 2 points left, PI points up, etc."} + sides: c.array {title: "Sides", description: "Which sides of the target element to point at."}, {type: 'string', 'enum': ['left', 'right', 'top', 'bottom'], title: "Side", description: "A side of the target element to point at."} + lock: {title: "Lock", description: "Whether the interface should be locked so that the player's focus is on the script, or specific areas to lock.", type: ['boolean', 'array'], items: {type: 'string', enum: ['surface', 'editor', 'palette', 'hud', 'playback', 'playback-hover', 'level', ]}} + letterbox: {type: 'boolean', title: 'Letterbox', description:'Turn letterbox mode on or off. Disables surface and playback controls.'} + + goals: c.object {title: "Goals", description: "Add or remove goals for the player to complete in the level."}, + add: c.array {title: "Add", description: "Add these goals."}, GoalSchema + remove: c.array {title: "Remove", description: "Remove these goals."}, GoalSchema + + playback: c.object {title: "Playback", description: "Control the playback of the level."}, + playing: {type: 'boolean', title: "Set Playing", description: "Set whether playback is playing or paused."} + scrub: c.object {title: "Scrub", description: "Scrub the level playback time to a certain point.", default: {offset: 2, duration: 1000, toRatio: 0.5}}, + offset: {type: 'integer', title: "Offset", description: "Number of frames by which to adjust the scrub target time.", default: 2} + duration: {type: 'integer', title: "Duration", description: "Number of milliseconds over which to scrub time.", minimum: 0, format: 'milliseconds'} + toRatio: {type: 'number', title: "To Progress Ratio", description: "Set playback time to a target playback progress ratio.", minimum: 0, maximum: 1} + toTime: {type: 'number', title: "To Time", description: "Set playback time to a target playback point, in seconds.", minimum: 0} + toGoal: c.shortString(title: "To Goal", description: "Set playback time to when this goal was achieved. (TODO: not implemented.)") + + script: c.object {title: "Script", description: "Extra configuration for this action group."}, + duration: {type: 'integer', minimum: 0, title: "Duration", description: "How long this script should last in milliseconds. 0 for indefinite.", format: 'milliseconds'} + skippable: {type: 'boolean', title: "Skippable", description: "Whether this script shouldn't bother firing when the player skips past all current scripts."} + beforeLoad: {type: 'boolean', title: "Before Load", description: "Whether this script should fire before the level is finished loading."} + + sprites: c.array {title: "Sprites", description: "Commands to issue to Sprites on the Surface."}, SpriteCommandSchema + + surface: c.object {title: "Surface", description: "Commands to issue to the Surface itself."}, + focus: c.object {title: "Camera", description: "Focus the camera on a specific point on the Surface.", format:'viewport'}, + target: {anyOf: [PointSchema, thang, {type: 'null'}], title: "Target", description: "Where to center the camera view."} + zoom: {type: 'number', minimum: 0, exclusiveMinimum: true, maximum: 64, title: "Zoom", description: "What zoom level to use."} + duration: {type:'number', minimum: 0, title: "Duration", description: "in ms"} + bounds: c.array {title:'Boundary', maxItems: 2, minItems: 2, default:[{x:0,y:0}, {x:46, y:39}], format: 'bounds'}, PointSchema + isNewDefault: {type:'boolean', format: 'hidden', title: "New Default", description: 'Set this as new default zoom once scripts end.'} # deprecated + highlight: c.object {title: "Highlight", description: "Highlight specific Sprites on the Surface."}, + targets: c.array {title: "Targets", description: "Thang IDs of target Sprites to highlight."}, thang + delay: {type: 'integer', minimum: 0, title: "Delay", description: "Delay in milliseconds before the highlight appears."} + lockSelect: {type: 'boolean', title: "Lock Select", description: "Whether to lock Sprite selection so that the player can't select/deselect anything."} + + sound: c.object {title: "Sound", description: "Commands to control sound playback."}, + suppressSelectionSounds: {type: "boolean", title: "Suppress Selection Sounds", description: "Whether to suppress selection sounds made from clicking on Thangs."} + music: c.object { title: "Music", description: "Control music playing"}, + play: { title: "Play", type: "boolean" } + file: c.shortString(title: "File", enum:['/music/music_level_1','/music/music_level_2','/music/music_level_3','/music/music_level_4','/music/music_level_5']) + +ScriptSchema = c.object { + title: "Script" + description: 'A script fires off a chain of notes to interact with the game when a certain event triggers it.' + required: ["channel"] + 'default': {channel: "world:won", noteChain: []} +}, + id: c.shortString(title: "ID", description: "A unique ID that other scripts can rely on in their Happens After prereqs, for sequencing.") # uniqueness? + channel: c.shortString(title: "Event", format: 'event-channel', description: 'Event channel this script might trigger for, like "world:won".') + eventPrereqs: c.array {title: "Event Checks", description: "Logical checks on the event for this script to trigger.", format:'event-prereqs'}, EventPrereqSchema + repeats: {title: "Repeats", description: "Whether this script can trigger more than once during a level.", enum: [true, false, 'session'], "default": false} + scriptPrereqs: c.array {title: "Happens After", description: "Scripts that need to fire first."}, + c.shortString(title: "ID", description: "A unique ID of a script.") + notAfter: c.array {title: "Not After", description: "Do not run this script if any of these scripts have run."}, + c.shortString(title: "ID", description: "A unique ID of a script.") + noteChain: c.array {title: "Actions", description: "A list of things that happen when this script triggers."}, NoteGroupSchema + +LevelThangSchema = c.object { + title: "Thang", + description: "Thangs are any units, doodads, or abstract things that you use to build the level. (\"Thing\" was too confusing to say.)", + format: "thang" + required: ["id", "thangType", "components"] + 'default': + id: "Boris" + thangType: "Soldier" + components: [] +}, + id: thang # TODO: figure out if we can make this unique and how to set dynamic defaults + # TODO: split thangType into "original" and "majorVersion" like the rest for consistency + thangType: c.objectId(links: [{rel: "db", href: "/db/thang.type/{($)}/version"}], title: "Thang Type", description: "A reference to the original Thang template being configured.", format: 'thang-type') + components: c.array {title: "Components", description: "Thangs are configured by changing the Components attached to them.", uniqueItems: true, format: 'thang-components-array'}, ThangComponentSchema # TODO: uniqueness should be based on "original", not whole thing + +LevelSystemSchema = c.object { + title: "System" + description: "Configuration for a System that this Level uses." + format: 'level-system' + required: ['original', 'majorVersion'] + 'default': + majorVersion: 0 + config: {} + links: [{rel: "db", href: "/db/level.system/{(original)}/version/{(majorVersion)}"}] +}, + original: c.objectId(title: "Original", description: "A reference to the original System being configured.", format: "hidden") + config: c.object {title: "Configuration", description: "System-specific configuration properties.", additionalProperties: true, format: 'level-system-configuration'} + majorVersion: {title: "Major Version", description: "Which major version of the System is being used.", type: 'integer', minimum: 0, default: 0, format: "hidden"} + +GeneralArticleSchema = c.object { + title: "Article" + description: "Reference to a general documentation article." + required: ['original'] + format: 'latest-version-reference' + 'default': + original: null + majorVersion: 0 + links: [{rel: "db", href: "/db/article/{(original)}/version/{(majorVersion)}"}] +}, + original: c.objectId(title: "Original", description: "A reference to the original Article.")#, format: "hidden") # hidden? + majorVersion: {title: "Major Version", description: "Which major version of the Article is being used.", type: 'integer', minimum: 0}#, format: "hidden"} # hidden? + +LevelSchema = c.object { + title: "Level" + description: "A spectacular level which will delight and educate its stalwart players with the sorcery of coding." + required: ["name", "description", "scripts", "thangs", "documentation"] + 'default': + name: "Ineffable Wizardry" + description: "This level is indescribably flarmy." + documentation: {specificArticles: [], generalArticles: []} + scripts: [] + thangs: [] +} +c.extendNamedProperties LevelSchema # let's have the name be the first property +_.extend LevelSchema.properties, + description: {title: "Description", description: "A short explanation of what this level is about.", type: "string", maxLength: 65536, "default": "This level is indescribably flarmy!", format: 'markdown'} + documentation: c.object {title: "Documentation", description: "Documentation articles relating to this level.", required: ["specificArticles", "generalArticles"], 'default': {specificArticles: [], generalArticles: []}}, + specificArticles: c.array {title: "Specific Articles", description: "Specific documentation articles that live only in this level.", uniqueItems: true, "default": []}, SpecificArticleSchema + generalArticles: c.array {title: "General Articles", description: "General documentation articles that can be linked from multiple levels.", uniqueItems: true, "default": []}, GeneralArticleSchema + background: c.objectId({format: 'hidden'}) + nextLevel: { + type:'object', + links: [{rel: "extra", href: "/db/level/{($)}"}, {rel:'db', href: "/db/level/{(original)}/version/{(majorVersion)}"}], + format: 'latest-version-reference', + title: "Next Level", + description: "Reference to the next level players will player after beating this one." + } + scripts: c.array {title: "Scripts", description: "An array of scripts that trigger based on what the player does and affect things outside of the core level simulation.", "default": []}, ScriptSchema + thangs: c.array {title: "Thangs", description: "An array of Thangs that make up the level.", "default": []}, LevelThangSchema + systems: c.array {title: "Systems", description: "Levels are configured by changing the Systems attached to them.", uniqueItems: true, default: []}, LevelSystemSchema # TODO: uniqueness should be based on "original", not whole thing + victory: c.object {title: "Victory Screen", default: {}, properties: {'body': {type: 'string', format: 'markdown', title: 'Body Text', description: 'Inserted into the Victory Modal once this level is complete. Tell the player they did a good job and what they accomplished!'}, i18n: {type: "object", format: 'i18n', props: ['body'], description: "Help translate this victory message"}}} + i18n: {type: "object", format: 'i18n', props: ['name', 'description'], description: "Help translate this level"} + icon: { type: 'string', format: 'image-file', title: 'Icon' } + goals: c.array {title: 'Goals', description: 'An array of goals which are visible to the player and can trigger scripts.'}, GoalSchema + type: c.shortString(title: "Type", description: "What kind of level this is.", "enum": ['campaign', 'ladder', 'ladder-tutorial']) + showsGuide: c.shortString(title: "Shows Guide", description: "If the guide is shown at the beginning of the level.", "enum": ['first-time', 'always']) + +c.extendBasicProperties LevelSchema, 'level' +c.extendSearchableProperties LevelSchema +c.extendVersionedProperties LevelSchema, 'level' +c.extendPermissionsProperties LevelSchema, 'level' + +module.exports = LevelSchema + +# To test: +# 1: Copy the schema from http://localhost:3000/db/level/schema +# 2. Open up the Treema demo page http://localhost:9090/demo.html +# 3. tv4.addSchema(metaschema.id, metaschema) +# 4. S = <paste big schema here> +# 5. tv4.validateMultiple(S, metaschema) and look for errors diff --git a/app/schemas/level_session_schema.coffee b/app/schemas/level_session_schema.coffee new file mode 100644 index 000000000..4244c4771 --- /dev/null +++ b/app/schemas/level_session_schema.coffee @@ -0,0 +1,213 @@ +c = require './schemas' + +LevelSessionPlayerSchema = c.object + id: c.objectId + links: [ + { + rel: 'extra' + href: "/db/user/{($)}" + } + ] + time: + type: 'Number' + changes: + type: 'Number' + + +LevelSessionLevelSchema = c.object {required: ['original', 'majorVersion']}, + original: c.objectId({}) + majorVersion: + type: 'integer' + minimum: 0 + default: 0 + + +LevelSessionSchema = c.object + title: "Session" + description: "A single session for a given level." + + +_.extend LevelSessionSchema.properties, + # denormalization + creatorName: + type: 'string' + levelName: + type: 'string' + levelID: + type: 'string' + multiplayer: + type: 'boolean' + creator: c.objectId + links: + [ + { + rel: 'extra' + href: "/db/user/{($)}" + } + ] + created: c.date + title: 'Created' + readOnly: true + + changed: c.date + title: 'Changed' + readOnly: true + + team: c.shortString() + level: LevelSessionLevelSchema + + screenshot: + type: 'string' + + state: c.object {}, + complete: + type: 'boolean' + scripts: c.object {}, + ended: + type: 'object' + additionalProperties: + type: 'number' + currentScript: + type: [ + 'null' + 'string' + ] + currentScriptOffset: + type: 'number' + + selected: + type: [ + 'null' + 'string' + ] + playing: + type: 'boolean' + frame: + type: 'number' + thangs: + type: 'object' + additionalProperties: + title: 'Thang' + type: 'object' + properties: + methods: + type: 'object' + additionalProperties: + title: 'Thang Method' + type: 'object' + properties: + metrics: + type: 'object' + source: + type: 'string' + +# TODO: specify this more + code: + type: 'object' + + teamSpells: + type: 'object' + additionalProperties: + type: 'array' + + players: + type: 'object' + + chat: + type: 'array' + + meanStrength: + type: 'number' + + standardDeviation: + type:'number' + minimum: 0 + + totalScore: + type: 'number' + + submitted: + type: 'boolean' + + submitDate: c.date + title: 'Submitted' + + submittedCode: + type: 'object' + + isRanking: + type: 'boolean' + description: 'Whether this session is still in the first ranking chain after being submitted.' + + unsubscribed: + type: 'boolean' + description: 'Whether the player has opted out of receiving email updates about ladder rankings for this session.' + + numberOfWinsAndTies: + type: 'number' + + numberOfLosses: + type: 'number' + + scoreHistory: + type: 'array' + title: 'Score History' + description: 'A list of objects representing the score history of a session' + items: + title: 'Score History Point' + description: 'An array with the format [unix timestamp, totalScore]' + type: 'array' + items: + type: 'number' + + matches: + type: 'array' + title: 'Matches' + description: 'All of the matches a submitted session has played in its current state.' + items: + type: 'object' + properties: + date: c.date + title: 'Date computed' + description: 'The date a match was computed.' + metrics: + type: 'object' + title: 'Metrics' + description: 'Various information about the outcome of a match.' + properties: + rank: + title: 'Rank' + description: 'A 0-indexed ranking representing the player\'s standing in the outcome of a match' + type: 'number' + opponents: + type: 'array' + title: 'Opponents' + description: 'An array containing information about the opponents\' sessions in a given match.' + items: + type: 'object' + properties: + sessionID: + title: 'Opponent Session ID' + description: 'The session ID of an opponent.' + type: ['object', 'string'] + userID: + title: 'Opponent User ID' + description: 'The user ID of an opponent' + type: ['object','string'] + metrics: + type: 'object' + properties: + rank: + title: 'Opponent Rank' + description: 'The opponent\'s ranking in a given match' + type: 'number' + + + + + + +c.extendBasicProperties LevelSessionSchema, 'level.session' +c.extendPermissionsProperties LevelSessionSchema, 'level.session' + +module.exports = LevelSessionSchema diff --git a/app/schemas/level_system_schema.coffee b/app/schemas/level_system_schema.coffee new file mode 100644 index 000000000..0d7cad2c0 --- /dev/null +++ b/app/schemas/level_system_schema.coffee @@ -0,0 +1,106 @@ +c = require './schemas' +metaschema = require './metaschema' + +jitterSystemCode = """ +class Jitter extends System + constructor: (world, config) -> + super world, config + @idlers = @addRegistry (thang) -> thang.exists and thang.acts and thang.moves and thang.action is 'idle' + + update: -> + # We return a simple numeric hash that will combine to a frame hash + # help us determine whether this frame has changed in resimulations. + hash = 0 + for thang in @idlers + hash += thang.pos.x += 0.5 - Math.random() + hash += thang.pos.y += 0.5 - Math.random() + thang.hasMoved = true + return hash +""" + +PropertyDocumentationSchema = c.object { + title: "Property Documentation" + description: "Documentation entry for a property this System will add to its Thang which other Systems + might want to also use." + "default": + name: "foo" + type: "object" + description: "This System provides a 'foo' property to satisfy all one's foobar needs. Use it wisely." + required: ['name', 'type', 'description'] +}, + name: {type: 'string', pattern: c.identifierPattern, title: "Name", description: "Name of the property."} + # not actual JS types, just whatever they describe... + type: c.shortString(title: "Type", description: "Intended type of the property.") + description: {type: 'string', description: "Description of the property.", maxLength: 1000} + args: c.array {title: "Arguments", description: "If this property has type 'function', then provide documentation for any function arguments."}, c.FunctionArgumentSchema + +DependencySchema = c.object { + title: "System Dependency" + description: "A System upon which this System depends." + "default": + #original: ? + majorVersion: 0 + required: ["original", "majorVersion"] + format: 'latest-version-reference' + links: [{rel: "db", href: "/db/level.system/{(original)}/version/{(majorVersion)}"}] +}, + original: c.objectId(title: "Original", description: "A reference to another System upon which this System depends.") + majorVersion: + title: "Major Version" + description: "Which major version of the System this System needs." + type: 'integer' + minimum: 0 + +LevelSystemSchema = c.object { + title: "System" + description: "A System which can affect Level behavior." + required: ["name", "description", "code", "dependencies", "propertyDocumentation", "language"] + "default": + name: "JitterSystem" + description: "This System makes all idle, movable Thangs jitter around." + code: jitterSystemCode + language: "coffeescript" + dependencies: [] # TODO: should depend on something by default + propertyDocumentation: [] +} +c.extendNamedProperties LevelSystemSchema # let's have the name be the first property +LevelSystemSchema.properties.name.pattern = c.classNamePattern +_.extend LevelSystemSchema.properties, + description: + title: "Description" + description: "A short explanation of what this System does." + type: "string" + maxLength: 2000 + "default": "This System doesn't do anything yet." + language: + type: "string" + title: "Language" + description: "Which programming language this System is written in." + "enum": ["coffeescript"] + code: + title: "Code" + description: "The code for this System, as a CoffeeScript class. TODO: add link to documentation + for how to write these." + "default": jitterSystemCode + type: "string" + format: "coffee" + js: + title: "JavaScript" + description: "The transpiled JavaScript code for this System" + type: "string" + format: "hidden" + dependencies: c.array {title: "Dependencies", description: "An array of Systems upon which this System depends.", "default": [], uniqueItems: true}, DependencySchema + propertyDocumentation: c.array {title: "Property Documentation", description: "An array of documentation entries for each notable property this System will add to its Level which other Systems might want to also use.", "default": []}, PropertyDocumentationSchema + configSchema: _.extend metaschema, {title: "Configuration Schema", description: "A schema for validating the arguments that can be passed to this System as configuration.", default: {type: 'object', additionalProperties: false}} + official: + type: "boolean" + title: "Official" + description: "Whether this is an official CodeCombat System." + "default": false + +c.extendBasicProperties LevelSystemSchema, 'level.system' +c.extendSearchableProperties LevelSystemSchema +c.extendVersionedProperties LevelSystemSchema, 'level.system' +c.extendPermissionsProperties LevelSystemSchema, 'level.system' + +module.exports = LevelSystemSchema diff --git a/app/schemas/metaschema.coffee b/app/schemas/metaschema.coffee new file mode 100644 index 000000000..4d9d7c0d8 --- /dev/null +++ b/app/schemas/metaschema.coffee @@ -0,0 +1,132 @@ +# The JSON Schema Core/Validation Meta-Schema, but with titles and descriptions added to make it easier to edit in Treema, and in CoffeeScript + +module.exports = + id: "metaschema" + displayProperty: "title" + $schema: "http://json-schema.org/draft-04/schema#" + title: "Schema" + description: "Core schema meta-schema" + definitions: + schemaArray: + type: "array" + minItems: 1 + items: { $ref: "#" } + title: "Array of Schemas" + "default": [{}] + positiveInteger: + type: "integer" + minimum: 0 + title: "Positive Integer" + positiveIntegerDefault0: + allOf: [ { $ref: "#/definitions/positiveInteger" }, { "default": 0 } ] + simpleTypes: + title: "Single Type" + "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] + stringArray: + type: "array" + items: { type: "string" } + minItems: 1 + uniqueItems: true + title: "String Array" + "default": [''] + type: "object" + properties: + id: + type: "string" + format: "uri" + $schema: + type: "string" + format: "uri" + "default": "http://json-schema.org/draft-04/schema#" + title: + type: "string" + description: + type: "string" + "default": {} + multipleOf: + type: "number" + minimum: 0 + exclusiveMinimum: true + maximum: + type: "number" + exclusiveMaximum: + type: "boolean" + "default": false + minimum: + type: "number" + exclusiveMinimum: + type: "boolean" + "default": false + maxLength: { $ref: "#/definitions/positiveInteger" } + minLength: { $ref: "#/definitions/positiveIntegerDefault0" } + pattern: + type: "string" + format: "regex" + additionalItems: + anyOf: [ + { type: "boolean", "default": false } + { $ref: "#" } + ] + items: + anyOf: [ + { $ref: "#" } + { $ref: "#/definitions/schemaArray" } + ] + "default": {} + maxItems: { $ref: "#/definitions/positiveInteger" } + minItems: { $ref: "#/definitions/positiveIntegerDefault0" } + uniqueItems: + type: "boolean" + "default": false + maxProperties: { $ref: "#/definitions/positiveInteger" } + minProperties: { $ref: "#/definitions/positiveIntegerDefault0" } + required: { $ref: "#/definitions/stringArray" } + additionalProperties: + anyOf: [ + { type: "boolean", "default": true } + { $ref: "#" } + ] + "default": {} + definitions: + type: "object" + additionalProperties: { $ref: "#" } + "default": {} + properties: + type: "object" + additionalProperties: { $ref: "#" } + "default": {} + patternProperties: + type: "object" + additionalProperties: { $ref: "#" } + "default": {} + dependencies: + type: "object" + additionalProperties: + anyOf: [ + { $ref: "#" } + { $ref: "#/definitions/stringArray" } + ] + "enum": + type: "array" + minItems: 1 + uniqueItems: true + "default": [''] + type: + anyOf: [ + { $ref: "#/definitions/simpleTypes" } + { + type: "array" + items: { $ref: "#/definitions/simpleTypes" } + minItems: 1 + uniqueItems: true + title: "Array of Types" + "default": ['string'] + }] + allOf: { $ref: "#/definitions/schemaArray" } + anyOf: { $ref: "#/definitions/schemaArray" } + oneOf: { $ref: "#/definitions/schemaArray" } + not: { $ref: "#" } + dependencies: + exclusiveMaximum: [ "maximum" ] + exclusiveMinimum: [ "minimum" ] + "default": {} diff --git a/app/schemas/schemas.coffee b/app/schemas/schemas.coffee new file mode 100644 index 000000000..eebe6f954 --- /dev/null +++ b/app/schemas/schemas.coffee @@ -0,0 +1,158 @@ +#language imports +Language = require './languages' +# schema helper methods + +me = module.exports + +combine = (base, ext) -> + return base unless ext? + return _.extend(base, ext) + +urlPattern = '^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_=]*)?$' + +# Common schema properties +me.object = (ext, props) -> combine {type: 'object', additionalProperties: false, properties: props or {}}, ext +me.array = (ext, items) -> combine {type: 'array', items: items or {}}, ext +me.shortString = (ext) -> combine({type: 'string', maxLength: 100}, ext) +me.pct = (ext) -> combine({type: 'number', maximum: 1.0, minimum: 0.0}, ext) +me.date = (ext) -> combine({type: 'string', format: 'date-time'}, ext) +# should just be string (Mongo ID), but sometimes mongoose turns them into objects representing those, so we are lenient +me.objectId = (ext) -> schema = combine({type: ['object', 'string'] }, ext) +me.url = (ext) -> combine({type: 'string', format: 'url', pattern: urlPattern}, ext) + +PointSchema = me.object {title: "Point", description: "An {x, y} coordinate point.", format: "point2d", required: ["x", "y"]}, + x: {title: "x", description: "The x coordinate.", type: "number", "default": 15} + y: {title: "y", description: "The y coordinate.", type: "number", "default": 20} + +me.point2d = (ext) -> combine(_.cloneDeep(PointSchema), ext) + +SoundSchema = me.object { format: 'sound' }, + mp3: { type: 'string', format: 'sound-file' } + ogg: { type: 'string', format: 'sound-file' } + +me.sound = (props) -> + obj = _.cloneDeep(SoundSchema) + obj.properties[prop] = props[prop] for prop of props + obj + +ColorConfigSchema = me.object { format: 'color-sound' }, + hue: { format: 'range', type: 'number', minimum: 0, maximum: 1 } + saturation: { format: 'range', type: 'number', minimum: 0, maximum: 1 } + lightness: { format: 'range', type: 'number', minimum: 0, maximum: 1 } + +me.colorConfig = (props) -> + obj = _.cloneDeep(ColorConfigSchema) + obj.properties[prop] = props[prop] for prop of props + obj + +# BASICS + +basicProps = (linkFragment) -> + _id: me.objectId(links: [{rel: 'self', href: "/db/#{linkFragment}/{($)}"}], format: 'hidden') + __v: { title: 'Mongoose Version', format: 'hidden' } + +me.extendBasicProperties = (schema, linkFragment) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, basicProps(linkFragment)) + + +# NAMED + +namedProps = -> + name: me.shortString({title: 'Name'}) + slug: me.shortString({title: 'Slug', format: 'hidden'}) + +me.extendNamedProperties = (schema) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, namedProps()) + + +# VERSIONED + +versionedProps = (linkFragment) -> + version: + 'default': { minor: 0, major: 0, isLatestMajor: true, isLatestMinor: true } + format: 'version' + title: 'Version' + type: 'object' + readOnly: true + additionalProperties: false + properties: + major: { type: 'number', minimum: 0 } + minor: { type: 'number', minimum: 0 } + isLatestMajor: { type: 'boolean' } + isLatestMinor: { type: 'boolean' } + # TODO: figure out useful 'rel' values here + original: me.objectId(links: [{rel: 'extra', href: "/db/#{linkFragment}/{($)}"}], format: 'hidden') + parent: me.objectId(links: [{rel: 'extra', href: "/db/#{linkFragment}/{($)}"}], format: 'hidden') + creator: me.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}], format: 'hidden') + created: me.date( { title: 'Created', readOnly: true }) + commitMessage: { type: 'string', maxLength: 500, title: 'Commit Message', readOnly: true } + +me.extendVersionedProperties = (schema, linkFragment) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, versionedProps(linkFragment)) + + +# SEARCHABLE + +searchableProps = -> + index: { format: 'hidden' } + +me.extendSearchableProperties = (schema) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, searchableProps()) + + +# PERMISSIONED + +permissionsProps = -> + permissions: + type: 'array' + items: + type: 'object' + additionalProperties: false + properties: + target: {} + access: {type: 'string', 'enum': ['read', 'write', 'owner']} + format: "hidden" + +me.extendPermissionsProperties = (schema) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, permissionsProps()) + +# TRANSLATABLE + +me.generateLanguageCodeArrayRegex = -> "^(" + Language.languageCodes.join("|") + ")$" + +me.getLanguageCodeArray = -> + return Language.languageCodes + +me.getLanguagesObject = -> return Language + +# OTHER + +me.classNamePattern = "^[A-Z][A-Za-z0-9]*$" # starts with capital letter; just letters and numbers +me.identifierPattern = "^[a-z][A-Za-z0-9]*$" # starts with lowercase letter; just letters and numbers +me.constantPattern = "^[A-Z0-9_]+$" # just uppercase letters, underscores, and numbers +me.identifierOrConstantPattern = "^([a-z][A-Za-z0-9]*|[A-Z0-9_]+)$" + +me.FunctionArgumentSchema = me.object { + title: "Function Argument", + description: "Documentation entry for a function argument." + "default": + name: "target" + type: "object" + example: "this.getNearestEnemy()" + description: "The target of this function." + required: ['name', 'type', 'example', 'description'] +}, + name: {type: 'string', pattern: me.identifierPattern, title: "Name", description: "Name of the function argument."} + # not actual JS types, just whatever they describe... + type: me.shortString(title: "Type", description: "Intended type of the argument.") + example: me.shortString(title: "Example", description: "Example value for the argument.") + description: {title: "Description", type: 'string', description: "Description of the argument.", maxLength: 1000} + "default": + title: "Default" + description: "Default value of the argument. (Your code should set this.)" + "default": null diff --git a/app/schemas/thang_component_schema.coffee b/app/schemas/thang_component_schema.coffee new file mode 100644 index 000000000..b6d574fdc --- /dev/null +++ b/app/schemas/thang_component_schema.coffee @@ -0,0 +1,21 @@ +c = require './schemas' + +module.exports = ThangComponentSchema = c.object { + title: "Component" + description: "Configuration for a Component that this Thang uses." + format: 'thang-component' + required: ['original', 'majorVersion'] + 'default': + majorVersion: 0 + config: {} + links: [{rel: "db", href: "/db/level.component/{(original)}/version/{(majorVersion)}"}] +}, + original: c.objectId(title: "Original", description: "A reference to the original Component being configured.", format: "hidden") + config: c.object {title: "Configuration", description: "Component-specific configuration properties.", additionalProperties: true, format: 'thang-component-configuration'} + majorVersion: + title: "Major Version" + description: "Which major version of the Component is being used." + type: 'integer' + minimum: 0 + default: 0 + format: "hidden" diff --git a/app/schemas/thang_type_schema.coffee b/app/schemas/thang_type_schema.coffee new file mode 100644 index 000000000..fb459811d --- /dev/null +++ b/app/schemas/thang_type_schema.coffee @@ -0,0 +1,153 @@ +c = require './schemas' +ThangComponentSchema = require './thang_component_schema' + +ThangTypeSchema = c.object() +c.extendNamedProperties ThangTypeSchema # name first + +ShapeObjectSchema = c.object { title: 'Shape' }, + fc: { type: 'string', title: 'Fill Color' } + lf: { type: 'array', title: 'Linear Gradient Fill' } + ls: { type: 'array', title: 'Linear Gradient Stroke' } + p: { type: 'string', title: 'Path' } + de: { type: 'array', title: 'Draw Ellipse' } + sc: { type: 'string', title: 'Stroke Color' } + ss: { type: 'array', title: 'Stroke Style' } + t: c.array {}, { type: 'number', title: 'Transform' } + m: { type: 'string', title: 'Mask' } + +ContainerObjectSchema = c.object { format: 'container' }, + b: c.array { title: 'Bounds' }, { type: 'number' } + c: c.array { title: 'Children' }, { anyOf: [ + { type: 'string', title: 'Shape Child' }, + c.object { title: 'Container Child' } + gn: { type: 'string', title: 'Global Name' } + t: c.array {}, { type: 'number' } + ]} + +RawAnimationObjectSchema = c.object {}, + bounds: c.array { title: 'Bounds' }, { type: 'number' } + frameBounds: c.array { title: 'Frame Bounds' }, c.array { title: 'Bounds' }, { type: 'number' } + shapes: c.array {}, + bn: { type: 'string', title: 'Block Name' } + gn: { type: 'string', title: 'Global Name' } + im : { type: 'boolean', title: 'Is Mask' } + m: { type: 'string', title: 'Uses Mask' } + containers: c.array {}, + bn: { type: 'string', title: 'Block Name' } + gn: { type: 'string', title: 'Global Name' } + t: c.array {}, { type: 'number' } + o: { type: 'boolean', title: 'Starts Hidden (_off)'} + al: { type: 'number', title: 'Alpha'} + animations: c.array {}, + bn: { type: 'string', title: 'Block Name' } + gn: { type: 'string', title: 'Global Name' } + t: c.array {}, { type: 'number', title: 'Transform' } + a: c.array { title: 'Arguments' } + tweens: c.array {}, + c.array { title: 'Function Chain', }, + c.object { title: 'Function Call' }, + n: { type: 'string', title: 'Name' } + a: c.array { title: 'Arguments' } + graphics: c.array {}, + bn: { type: 'string', title: 'Block Name' } + p: { type: 'string', title: 'Path' } + +PositionsSchema = c.object { title: 'Positions', description: 'Customize position offsets.' }, + registration: c.point2d { title: 'Registration Point', description: "Action-specific registration point override." } + torso: c.point2d { title: 'Torso Offset', description: "Action-specific torso offset override." } + mouth: c.point2d { title: 'Mouth Offset', description: "Action-specific mouth offset override." } + aboveHead: c.point2d { title: 'Above Head Offset', description: "Action-specific above-head offset override." } + +ActionSchema = c.object {}, + animation: { type: 'string', description: 'Raw animation being sourced', format: 'raw-animation' } + container: { type: 'string', description: 'Name of the container to show' } + relatedActions: c.object { }, + begin: { $ref: '#/definitions/action' } + end: { $ref: '#/definitions/action' } + main: { $ref: '#/definitions/action' } + fore: { $ref: '#/definitions/action' } + back: { $ref: '#/definitions/action' } + side: { $ref: '#/definitions/action' } + + "?0?011?11?11": { $ref: '#/definitions/action', title: "NW corner" } + "?0?11011?11?": { $ref: '#/definitions/action', title: "NE corner, flipped" } + "?0?111111111": { $ref: '#/definitions/action', title: "N face" } + "?11011011?0?": { $ref: '#/definitions/action', title: "SW corner, top" } + "11?11?110?0?": { $ref: '#/definitions/action', title: "SE corner, top, flipped" } + "?11011?0????": { $ref: '#/definitions/action', title: "SW corner, bottom" } + "11?110?0????": { $ref: '#/definitions/action', title: "SE corner, bottom, flipped" } + "?11011?11?11": { $ref: '#/definitions/action', title: "W face" } + "11?11011?11?": { $ref: '#/definitions/action', title: "E face, flipped" } + "011111111111": { $ref: '#/definitions/action', title: "NW elbow" } + "110111111111": { $ref: '#/definitions/action', title: "NE elbow, flipped" } + "111111111?0?": { $ref: '#/definitions/action', title: "S face, top" } + "111111?0????": { $ref: '#/definitions/action', title: "S face, bottom" } + "111111111011": { $ref: '#/definitions/action', title: "SW elbow, top" } + "111111111110": { $ref: '#/definitions/action', title: "SE elbow, top, flipped" } + "111111011?11": { $ref: '#/definitions/action', title: "SW elbow, bottom" } + "11111111011?": { $ref: '#/definitions/action', title: "SE elbow, bottom, flipped" } + "111111111111": { $ref: '#/definitions/action', title: "Middle" } + + loops: { type: 'boolean' } + speed: { type: 'number' } + goesTo: { type: 'string', description: 'Action (animation?) to which we switch after this animation.' } + frames: { type: 'string', pattern:'^[0-9,]+$', description: 'Manually way to specify frames.' } + framerate: { type: 'number', description: 'Get this from the HTML output.' } + positions: PositionsSchema + scale: { title: 'Scale', type: 'number' } + flipX: { title: "Flip X", type: 'boolean', description: "Flip this animation horizontally?" } + flipY: { title: "Flip Y", type: 'boolean', description: "Flip this animation vertically?" } + +SoundSchema = c.sound({delay: { type: 'number' }}) + +_.extend ThangTypeSchema.properties, + raw: c.object {title: 'Raw Vector Data'}, + shapes: c.object {title: 'Shapes', additionalProperties: ShapeObjectSchema} + containers: c.object {title: 'Containers', additionalProperties: ContainerObjectSchema} + animations: c.object {title: 'Animations', additionalProperties: RawAnimationObjectSchema} + kind: c.shortString { enum: ['Unit', 'Floor', 'Wall', 'Doodad', 'Misc', 'Mark'], default: 'Misc', title: 'Kind' } + + actions: c.object { title: 'Actions', additionalProperties: { $ref: '#/definitions/action' } } + soundTriggers: c.object { title: "Sound Triggers", additionalProperties: c.array({}, { $ref: '#/definitions/sound' }) }, + say: c.object { format: 'slug-props', additionalProperties: { $ref: '#/definitions/sound' } }, + defaultSimlish: c.array({}, { $ref: '#/definitions/sound' }) + swearingSimlish: c.array({}, { $ref: '#/definitions/sound' }) + rotationType: { title: 'Rotation', type: 'string', enum: ['isometric', 'fixed']} + matchWorldDimensions: { title: 'Match World Dimensions', type: 'boolean' } + shadow: { title: 'Shadow Diameter', type: 'number', format: 'meters', description: "Shadow diameter in meters" } + layerPriority: + title: 'Layer Priority' + type: 'integer' + description: "Within its layer, sprites are sorted by layer priority, then y, then z." + scale: + title: 'Scale' + type: 'number' + positions: PositionsSchema + colorGroups: c.object + title: 'Color Groups' + additionalProperties: + type:'array' + format: 'thang-color-group' + items: {type:'string'} + snap: c.object { title: "Snap", description: "In the level editor, snap positioning to these intervals.", required: ['x', 'y'] }, + x: + title: "Snap X" + type: 'number' + description: "Snap to this many meters in the x-direction." + default: 4 + y: + title: "Snap Y" + type: 'number' + description: "Snap to this many meters in the y-direction." + default: 4 + components: c.array {title: "Components", description: "Thangs are configured by changing the Components attached to them.", uniqueItems: true, format: 'thang-components-array'}, ThangComponentSchema # TODO: uniqueness should be based on "original", not whole thing + +ThangTypeSchema.definitions = + action: ActionSchema + sound: SoundSchema + +c.extendBasicProperties(ThangTypeSchema, 'thang.type') +c.extendSearchableProperties(ThangTypeSchema) +c.extendVersionedProperties(ThangTypeSchema, 'thang.type') + +module.exports = ThangTypeSchema diff --git a/app/schemas/user_schema.coffee b/app/schemas/user_schema.coffee new file mode 100644 index 000000000..a386051f3 --- /dev/null +++ b/app/schemas/user_schema.coffee @@ -0,0 +1,98 @@ +c = require './schemas' +emailSubscriptions = ['announcement', 'tester', 'level_creator', 'developer', 'article_editor', 'translator', 'support', 'notification'] + +UserSchema = c.object {}, + name: c.shortString({title: 'Display Name', default:''}) + email: c.shortString({title: 'Email', format: 'email'}) + firstName: c.shortString({title: 'First Name'}) + lastName: c.shortString({title: 'Last Name'}) + gender: {type: 'string', 'enum': ['male', 'female']} + password: {type: 'string', maxLength: 256, minLength: 2, title:'Password'} + passwordReset: {type: 'string'} + photoURL: {type: 'string', format: 'image-file', title: 'Profile Picture', description: 'Upload a 256x256px or larger image to serve as your profile picture.'} + + facebookID: c.shortString({title: 'Facebook ID'}) + gplusID: c.shortString({title: 'G+ ID'}) + + wizardColor1: c.pct({title: 'Wizard Clothes Color'}) + volume: c.pct({title: 'Volume'}) + music: {type: 'boolean', default: true} + autocastDelay: {type: 'integer', 'default': 5000 } + lastLevel: { type: 'string' } + + emailSubscriptions: c.array {uniqueItems: true, 'default': ['announcement', 'notification']}, {'enum': emailSubscriptions} + + # server controlled + permissions: c.array {'default': []}, c.shortString() + dateCreated: c.date({title: 'Date Joined'}) + anonymous: {type: 'boolean', 'default': true} + testGroupNumber: {type: 'integer', minimum: 0, maximum: 256, exclusiveMaximum: true} + mailChimp: {type: 'object'} + hourOfCode: {type: 'boolean'} + hourOfCodeComplete: {type: 'boolean'} + + emailLower: c.shortString() + nameLower: c.shortString() + passwordHash: {type: 'string', maxLength: 256} + + # client side + emailHash: {type: 'string'} + + #Internationalization stuff + preferredLanguage: {type: 'string', default: 'en', 'enum': c.getLanguageCodeArray()} + + signedCLA: c.date({title: 'Date Signed the CLA'}) + wizard: c.object {}, + colorConfig: c.object {additionalProperties: c.colorConfig()} + + aceConfig: c.object {}, + language: {type: 'string', 'default': 'javascript', 'enum': ['javascript', 'coffeescript']} + keyBindings: {type: 'string', 'default': 'default', 'enum': ['default', 'vim', 'emacs']} + invisibles: {type: 'boolean', 'default': false} + indentGuides: {type: 'boolean', 'default': false} + behaviors: {type: 'boolean', 'default': false} + + simulatedBy: {type: 'integer', minimum: 0, default: 0} + simulatedFor: {type: 'integer', minimum: 0, default: 0} + + jobProfile: c.object {title: 'Job Profile', required: ['lookingFor', 'jobTitle', 'active', 'name', 'city', 'country', 'skills', 'experience', 'shortDescription', 'longDescription', 'visa', 'work', 'education', 'projects', 'links']}, + lookingFor: {title: 'Looking For', type: 'string', enum: ['Full-time', 'Part-time', 'Remote', 'Contracting', 'Internship'], default: 'Full-time', description: 'What kind of developer position do you want?'} + jobTitle: {type: 'string', maxLength: 50, title: 'Desired Job Title', description: 'What role are you looking for? Ex.: "Full Stack Engineer", "Front-End Developer", "iOS Developer"', default: 'Software Developer'} + active: {title: 'Active', type: 'boolean', description: 'Want interview offers right now?'} + updated: c.date {title: 'Last Updated', description: 'How fresh your profile appears to employers. The fresher, the better. Profiles go inactive after 30 days.'} + name: c.shortString {title: 'Name', description: 'Name you want employers to see, like "Nick Winter".'} + city: c.shortString {title: 'City', description: 'City you want to work in (or live in now), like "San Francisco" or "Lubbock, TX".', default: 'Defaultsville, CA', format: 'city'} + country: c.shortString {title: 'Country', description: 'Country you want to work in (or live in now), like "USA" or "France".', default: 'USA', format: 'country'} + skills: c.array {title: 'Skills', description: 'Tag relevant developer skills in order of proficiency. Employers will see the first five at a glance.', default: ['javascript'], minItems: 1, maxItems: 30, uniqueItems: true}, + {type: 'string', minLength: 1, maxLength: 20, description: 'Ex.: "objective-c", "mongodb", "rails", "android", "javascript"', format: 'skill'} + experience: {type: 'integer', title: 'Years of Experience', minimum: 0, description: 'How many years of professional experience (getting paid) developing software do you have?'} + shortDescription: {type: 'string', maxLength: 140, title: 'Short Description', description: 'Who are you, and what are you looking for? 140 characters max.', default: 'Programmer seeking to build great software.'} + longDescription: {type: 'string', maxLength: 600, title: 'Description', description: 'Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max.', format: 'markdown', default: '* I write great code.\n* You need great code?\n* Great!'} + visa: c.shortString {title: 'US Work Status', description: 'Are you authorized to work in the US, or do you need visa sponsorship?', enum: ['Authorized to work in the US', 'Need visa sponsorship'], default: 'Authorized to work in the US'} + work: c.array {title: 'Work Experience', description: 'List your relevant work experience, most recent first.'}, + c.object {title: 'Job', description: 'Some work experience you had.', required: ['employer', 'role', 'duration']}, + employer: c.shortString {title: 'Employer', description: 'Name of your employer.'} + role: c.shortString {title: 'Job Title', description: 'What was your job title or role?'} + duration: c.shortString {title: 'Duration', description: 'When did you hold this gig? Ex.: "Feb 2013 - present".'} + education: c.array {title: 'Education', description: 'List your academic ordeals.'}, + c.object {title: 'Ordeal', description: 'Some education that befell you.', required: ['school', 'degree', 'duration']}, + school: c.shortString {title: 'School', description: 'Name of your school.'} + degree: c.shortString {title: 'Degree', description: 'What was your degree and field of study? Ex. Ph.D. Human-Computer Interaction (incomplete)'} + duration: c.shortString {title: 'Dates', description: 'When? Ex.: "Aug 2004 - May 2008".'} + projects: c.array {title: 'Projects', description: 'Highlight your projects to amaze employers.'}, + c.object {title: 'Project', description: 'A project you created.', required: ['name', 'description', 'picture'], default: {name: 'My Project', description: 'A project I worked on.', link: 'http://example.com', picture: ''}}, + name: c.shortString {title: 'Project Name', description: 'What was the project called?', default: 'My Project'} + description: {type: 'string', title: 'Description', description: 'Briefly describe the project.', maxLength: 400, default: 'A project I worked on.', format: 'markdown'} + picture: {type: 'string', title: 'Picture', format: 'image-file', description: 'Upload a 230x115px or larger image showing off the project.'} + link: c.url {title: 'Link', description: 'Link to the project.', default: 'http://example.com'} + links: c.array {title: 'Personal and Social Links', description: 'Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog.'}, + c.object {title: 'Link', description: 'A link to another site you want to highlight, like your GitHub, your LinkedIn, or your blog.', required: ['name', 'link']}, + name: {type: 'string', maxLength: 30, title: 'Link Name', description: 'What are you linking to? Ex: "Personal Website", "Twitter"', format: 'link-name'} + link: c.url {title: 'Link', description: 'The URL.', default: 'http://example.com'} + photoURL: {type: 'string', format: 'image-file', title: 'Profile Picture', description: 'Upload a 256x256px or larger image if you want to show a different profile picture to employers than your normal avatar.'} + + jobProfileApproved: {title: 'Job Profile Approved', type: 'boolean', description: 'Whether your profile has been approved by CodeCombat.'} + jobProfileNotes: {type: 'string', maxLength: 1000, title: 'Our Notes', description: "CodeCombat's notes on the candidate.", format: 'markdown', default: ''} +c.extendBasicProperties UserSchema, 'user' + +module.exports = UserSchema diff --git a/app/views/account/settings_view.coffee b/app/views/account/settings_view.coffee index c75225d69..e74db5f65 100644 --- a/app/views/account/settings_view.coffee +++ b/app/views/account/settings_view.coffee @@ -82,8 +82,8 @@ module.exports = class SettingsView extends View buildPictureTreema: -> data = photoURL: me.get('photoURL') data.photoURL = null if data.photoURL?.search('gravatar') isnt -1 # Old style - schema = _.cloneDeep me.schema().attributes - schema.properties = _.pick me.schema().get('properties'), 'photoURL' + schema = _.cloneDeep me.schema() + schema.properties = _.pick me.schema().properties, 'photoURL' schema.required = ['photoURL'] treemaOptions = filePath: "db/user/#{me.id}" diff --git a/app/views/editor/article/edit.coffee b/app/views/editor/article/edit.coffee index 1d91558f1..b7a06bd36 100644 --- a/app/views/editor/article/edit.coffee +++ b/app/views/editor/article/edit.coffee @@ -54,7 +54,7 @@ module.exports = class ArticleEditView extends View options = data: data filePath: "db/thang.type/#{@article.get('original')}" - schema: Article.schema.attributes + schema: Article.schema readOnly: true unless me.isAdmin() or @article.hasWriteAccess(me) callbacks: change: @pushChangesToPreview diff --git a/app/views/editor/components/main.coffee b/app/views/editor/components/main.coffee index 7b813595b..2c39b6086 100644 --- a/app/views/editor/components/main.coffee +++ b/app/views/editor/components/main.coffee @@ -45,7 +45,7 @@ module.exports = class ThangComponentEditView extends CocoView buildExtantComponentTreema: -> treemaOptions = supermodel: @supermodel - schema: Level.schema.get('properties').thangs.items.properties.components + schema: Level.schema.properties.thangs.items.properties.components data: _.cloneDeep @components callbacks: {select: @onSelectExtantComponent, change:@onChangeExtantComponents} noSortable: true @@ -69,7 +69,7 @@ module.exports = class ThangComponentEditView extends CocoView treemaOptions = supermodel: @supermodel - schema: { type: 'array', items: LevelComponent.schema.attributes } + schema: { type: 'array', items: LevelComponent.schema } data: ($.extend(true, {}, c) for c in components) callbacks: {select: @onSelectAddableComponent, enter: @onAddComponentEnterPressed } readOnly: true diff --git a/app/views/editor/level/component/edit.coffee b/app/views/editor/level/component/edit.coffee index 7571e9a80..3f91f1467 100644 --- a/app/views/editor/level/component/edit.coffee +++ b/app/views/editor/level/component/edit.coffee @@ -31,7 +31,7 @@ module.exports = class LevelComponentEditView extends View buildSettingsTreema: -> data = _.pick @levelComponent.attributes, (value, key) => key in @editableSettings - schema = _.cloneDeep LevelComponent.schema.attributes + schema = _.cloneDeep LevelComponent.schema schema.properties = _.pick schema.properties, (value, key) => key in @editableSettings schema.required = _.intersection schema.required, @editableSettings @@ -55,7 +55,7 @@ module.exports = class LevelComponentEditView extends View buildConfigSchemaTreema: -> treemaOptions = supermodel: @supermodel - schema: LevelComponent.schema.get('properties').configSchema + schema: LevelComponent.schema.properties.configSchema data: @levelComponent.get 'configSchema' callbacks: {change: @onConfigSchemaEdited} treemaOptions.readOnly = true unless me.isAdmin() @@ -63,7 +63,7 @@ module.exports = class LevelComponentEditView extends View @configSchemaTreema.build() @configSchemaTreema.open() # TODO: schema is not loaded for the first one here? - @configSchemaTreema.tv4.addSchema('metaschema', LevelComponent.schema.get('properties').configSchema) + @configSchemaTreema.tv4.addSchema('metaschema', LevelComponent.schema.properties.configSchema) onConfigSchemaEdited: => @levelComponent.set 'configSchema', @configSchemaTreema.data diff --git a/app/views/editor/level/scripts_tab_view.coffee b/app/views/editor/level/scripts_tab_view.coffee index 380902d27..03855662d 100644 --- a/app/views/editor/level/scripts_tab_view.coffee +++ b/app/views/editor/level/scripts_tab_view.coffee @@ -22,7 +22,7 @@ module.exports = class ScriptsTabView extends View @dimensions = @level.dimensions() scripts = $.extend(true, [], @level.get('scripts') ? []) treemaOptions = - schema: Level.schema.get('properties').scripts + schema: Level.schema.properties.scripts data: scripts callbacks: change: @onScriptsChanged @@ -52,7 +52,7 @@ module.exports = class ScriptsTabView extends View filePath: "db/level/#{@level.get('original')}" files: @files view: @ - schema: Level.schema.get('properties').scripts.items + schema: Level.schema.properties.scripts.items data: selected.data thangIDs: thangIDs dimensions: @dimensions diff --git a/app/views/editor/level/settings_tab_view.coffee b/app/views/editor/level/settings_tab_view.coffee index 7556c4a4f..6f6822885 100644 --- a/app/views/editor/level/settings_tab_view.coffee +++ b/app/views/editor/level/settings_tab_view.coffee @@ -25,7 +25,7 @@ module.exports = class SettingsTabView extends View onLevelLoaded: (e) -> @level = e.level data = _.pick @level.attributes, (value, key) => key in @editableSettings - schema = _.cloneDeep Level.schema.attributes + schema = _.cloneDeep Level.schema schema.properties = _.pick schema.properties, (value, key) => key in @editableSettings schema.required = _.intersection schema.required, @editableSettings thangIDs = @getThangIDs() diff --git a/app/views/editor/level/system/edit.coffee b/app/views/editor/level/system/edit.coffee index c92894cdd..338ede1e5 100644 --- a/app/views/editor/level/system/edit.coffee +++ b/app/views/editor/level/system/edit.coffee @@ -29,7 +29,7 @@ module.exports = class LevelSystemEditView extends View buildSettingsTreema: -> data = _.pick @levelSystem.attributes, (value, key) => key in @editableSettings - schema = _.cloneDeep LevelSystem.schema.attributes + schema = _.cloneDeep LevelSystem.schema schema.properties = _.pick schema.properties, (value, key) => key in @editableSettings schema.required = _.intersection schema.required, @editableSettings @@ -53,7 +53,7 @@ module.exports = class LevelSystemEditView extends View buildConfigSchemaTreema: -> treemaOptions = supermodel: @supermodel - schema: LevelSystem.schema.get('properties').configSchema + schema: LevelSystem.schema.properties.configSchema data: @levelSystem.get 'configSchema' callbacks: {change: @onConfigSchemaEdited} treemaOptions.readOnly = true unless me.isAdmin() @@ -61,7 +61,7 @@ module.exports = class LevelSystemEditView extends View @configSchemaTreema.build() @configSchemaTreema.open() # TODO: schema is not loaded for the first one here? - @configSchemaTreema.tv4.addSchema('metaschema', LevelSystem.schema.get('properties').configSchema) + @configSchemaTreema.tv4.addSchema('metaschema', LevelSystem.schema.properties.configSchema) onConfigSchemaEdited: => @levelSystem.set 'configSchema', @configSchemaTreema.data diff --git a/app/views/editor/level/systems_tab_view.coffee b/app/views/editor/level/systems_tab_view.coffee index d04a463ff..eb4747b0e 100644 --- a/app/views/editor/level/systems_tab_view.coffee +++ b/app/views/editor/level/systems_tab_view.coffee @@ -67,7 +67,7 @@ module.exports = class SystemsTabView extends View treemaOptions = # TODO: somehow get rid of the + button, or repurpose it to open the LevelSystemAddView instead supermodel: @supermodel - schema: Level.schema.get('properties').systems + schema: Level.schema.properties.systems data: systems readOnly: true unless me.isAdmin() or @level.hasWriteAccess(me) callbacks: diff --git a/app/views/editor/level/thangs_tab_view.coffee b/app/views/editor/level/thangs_tab_view.coffee index 243b1e540..8a6c4cfe5 100644 --- a/app/views/editor/level/thangs_tab_view.coffee +++ b/app/views/editor/level/thangs_tab_view.coffee @@ -140,7 +140,7 @@ module.exports = class ThangsTabView extends View return if @startsLoading data = $.extend(true, {}, @level.attributes) treemaOptions = - schema: Level.schema.get('properties').thangs + schema: Level.schema.properties.thangs data: data.thangs supermodel: @supermodel callbacks: diff --git a/app/views/editor/thang/colors_tab_view.coffee b/app/views/editor/thang/colors_tab_view.coffee index a858f4385..87c887522 100644 --- a/app/views/editor/thang/colors_tab_view.coffee +++ b/app/views/editor/thang/colors_tab_view.coffee @@ -12,7 +12,7 @@ module.exports = class ColorsTabView extends CocoView constructor: (@thangType, options) -> @listenToOnce(@thangType, 'sync', @tryToBuild) - @listenToOnce(@thangType.schema(), 'sync', @tryToBuild) + # @listenToOnce(@thangType.schema(), 'sync', @tryToBuild) @colorConfig = { hue: 0, saturation: 0.5, lightness: 0.5 } @spriteBuilder = new SpriteBuilder(@thangType) f = => @@ -115,7 +115,7 @@ module.exports = class ColorsTabView extends CocoView return unless @thangType.loaded and @thangType.schema().loaded data = @thangType.get('colorGroups') data ?= {} - schema = @thangType.schema().attributes.properties?.colorGroups + schema = @thangType.schema().properties?.colorGroups treemaOptions = data: data schema: schema diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index 67edc6978..adc7c3a63 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -62,7 +62,7 @@ module.exports = class ThangTypeEditView extends View @thangType.fetch() @thangType.loadSchema() - @listenToOnce(@thangType.schema(), 'sync', @onThangTypeSync) + # @listenToOnce(@thangType.schema(), 'sync', @onThangTypeSync) @listenToOnce(@thangType, 'sync', @onThangTypeSync) @refreshAnimation = _.debounce @refreshAnimation, 500 @@ -344,7 +344,7 @@ module.exports = class ThangTypeEditView extends View buildTreema: -> data = @getThangData() - schema = _.cloneDeep ThangType.schema.attributes + schema = _.cloneDeep ThangType.schema schema.properties = _.pick schema.properties, (value, key) => not (key in ['components']) options = data: data diff --git a/app/views/modal/login_modal.coffee b/app/views/modal/login_modal.coffee index 8a433dd28..68306a03e 100644 --- a/app/views/modal/login_modal.coffee +++ b/app/views/modal/login_modal.coffee @@ -36,7 +36,7 @@ module.exports = class LoginModalView extends View loginAccount: (e) => forms.clearFormAlerts(@$el) userObject = forms.formToObject @$el - res = tv4.validateMultiple userObject, User.schema.attributes + res = tv4.validateMultiple userObject, User.schema return forms.applyErrorsToForm(@$el, res.errors) unless res.valid @enableModalInProgress(@$el) # TODO: part of forms loginUser(userObject) diff --git a/app/views/modal/signup_modal.coffee b/app/views/modal/signup_modal.coffee index f9224cb3f..63174261f 100644 --- a/app/views/modal/signup_modal.coffee +++ b/app/views/modal/signup_modal.coffee @@ -57,7 +57,7 @@ module.exports = class SignupModalView extends View userObject.emailSubscriptions.push 'notification' unless 'notification' in userObject.emailSubscriptions else userObject.emailSubscriptions = _.without (userObject.emailSubscriptions ? []), 'announcement', 'notification' - res = tv4.validateMultiple userObject, User.schema.attributes + res = tv4.validateMultiple userObject, User.schema return forms.applyErrorsToForm(@$el, res.errors) unless res.valid window.tracker?.trackEvent 'Finished Signup' @enableModalInProgress(@$el) diff --git a/server/routes/db.coffee b/server/routes/db.coffee index 2cbbc7df9..072b0ea8d 100644 --- a/server/routes/db.coffee +++ b/server/routes/db.coffee @@ -47,8 +47,8 @@ module.exports.setup = (app) -> getSchema = (req, res, moduleName) -> try - name = schemas[moduleName.replace '.', '_'] - schema = require('../' + name) + name = moduleName.replace '.', '_' + schema = require('../../app/schemas/' + name + '_schema') res.send(JSON.stringify(schema, null, '\t')) res.end() From b932bf1e7c80fdf465a6351463ed64d63802300c Mon Sep 17 00:00:00 2001 From: Aditya Raisinghani <aditya.ajeet@gmail.com> Date: Sat, 12 Apr 2014 14:16:41 +0530 Subject: [PATCH 64/79] Deleted schemas from /server and modified files to point to /app/schemas --- app/models/CocoModel.coffee | 10 - app/schemas/article_schema.coffee | 7 +- app/schemas/languages.coffee | 15 -- app/schemas/level_component_schema.coffee | 1 + app/schemas/level_schema.coffee | 9 +- app/schemas/level_system_schema.coffee | 3 +- app/schemas/schemas.coffee | 16 +- app/schemas/thang_type_schema.coffee | 7 +- app/views/editor/thang/edit.coffee | 1 - server/commons/i18n_schema.coffee | 48 ---- server/commons/metaschema.coffee | 132 ----------- server/levels/Level.coffee | 2 +- .../levels/components/LevelComponent.coffee | 2 +- server/levels/feedbacks/LevelFeedback.coffee | 2 +- .../feedbacks/level_feedback_schema.coffee | 27 --- server/levels/sessions/LevelSession.coffee | 2 +- .../sessions/level_session_schema.coffee | 213 ------------------ server/levels/systems/LevelSystem.coffee | 2 +- .../thangs/thang_component_schema.coffee | 21 -- server/users/User.coffee | 2 +- server/users/user_handler.coffee | 2 +- server/users/user_schema.coffee | 98 -------- 22 files changed, 38 insertions(+), 584 deletions(-) delete mode 100644 server/commons/i18n_schema.coffee delete mode 100644 server/commons/metaschema.coffee delete mode 100644 server/levels/feedbacks/level_feedback_schema.coffee delete mode 100644 server/levels/sessions/level_session_schema.coffee delete mode 100644 server/levels/thangs/thang_component_schema.coffee delete mode 100644 server/users/user_schema.coffee diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 974cd4826..6e5c0249b 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -2,15 +2,6 @@ storage = require 'lib/storage' deltasLib = require 'lib/deltas' auth = require 'lib/auth' -class CocoSchema extends Backbone.Model - constructor: (path, args...) -> - super(args...) - # @urlRoot = path + '/schema' - @schemaName = path[4..].replace '.', '_' - @schema = require 'schemas/' + @schemaName + '_schema' - -# window.CocoSchema = CocoSchema.schema - class CocoModel extends Backbone.Model idAttribute: "_id" loaded: false @@ -69,7 +60,6 @@ class CocoModel extends Backbone.Model return if @constructor.schema.loading @constructor.schema = require 'schemas/' + @constructor.schema + '_schema' unless @constructor.schema.loaded @onConstructorSync() - # @listenToOnce(@constructor.schema, 'sync', @onConstructorSync) onConstructorSync: -> @constructor.schema.loaded = true diff --git a/app/schemas/article_schema.coffee b/app/schemas/article_schema.coffee index 012d46ec3..0274f92a6 100644 --- a/app/schemas/article_schema.coffee +++ b/app/schemas/article_schema.coffee @@ -6,8 +6,9 @@ c.extendNamedProperties ArticleSchema # name first ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['name', 'body'] } -c.extendBasicProperties(ArticleSchema, 'article') -c.extendSearchableProperties(ArticleSchema) -c.extendVersionedProperties(ArticleSchema, 'article') +c.extendBasicProperties ArticleSchema, 'article' +c.extendSearchableProperties ArticleSchema +c.extendVersionedProperties ArticleSchema, 'article' +c.extendPatchableProperties ArticleSchema module.exports = ArticleSchema diff --git a/app/schemas/languages.coffee b/app/schemas/languages.coffee index e9c8e0f33..053a89f2a 100644 --- a/app/schemas/languages.coffee +++ b/app/schemas/languages.coffee @@ -1,20 +1,5 @@ -# errors = require '../commons/errors' -# log = require 'winston' locale = require '../locale/locale' # requiring from app; will break if we stop serving from where app lives -# module.exports.setup = (app) -> -# app.all '/languages/add/:lang/:namespace', (req, res) -> -# # Should probably store these somewhere -# log.info "#{req.params.lang}.#{req.params.namespace} missing an i18n key:", req.body -# res.send('') -# res.end() - -# app.all '/languages', (req, res) -> -# # Now that these are in the client, not sure when we would use this, but hey -# return errors.badMethod(res) if req.route.method isnt 'get' -# res.send(languages) -# return res.end() - languages = [] for code, localeInfo of locale languages.push code: code, nativeDescription: localeInfo.nativeDescription, englishDescription: localeInfo.englishDescription diff --git a/app/schemas/level_component_schema.coffee b/app/schemas/level_component_schema.coffee index d67c69376..3178eb916 100644 --- a/app/schemas/level_component_schema.coffee +++ b/app/schemas/level_component_schema.coffee @@ -115,5 +115,6 @@ c.extendBasicProperties LevelComponentSchema, 'level.component' c.extendSearchableProperties LevelComponentSchema c.extendVersionedProperties LevelComponentSchema, 'level.component' c.extendPermissionsProperties LevelComponentSchema, 'level.component' +c.extendPatchableProperties LevelComponentSchema module.exports = LevelComponentSchema diff --git a/app/schemas/level_schema.coffee b/app/schemas/level_schema.coffee index e372bdd52..4ce229ca6 100644 --- a/app/schemas/level_schema.coffee +++ b/app/schemas/level_schema.coffee @@ -1,5 +1,5 @@ c = require './schemas' -ThangComponentSchema = require './thang_component_schema' +ThangComponentSchema = require './thangs/thang_component_schema' SpecificArticleSchema = c.object() c.extendNamedProperties SpecificArticleSchema # name first @@ -108,9 +108,9 @@ NoteGroupSchema = c.object {title: "Note Group", description: "A group of notes lock: {title: "Lock", description: "Whether the interface should be locked so that the player's focus is on the script, or specific areas to lock.", type: ['boolean', 'array'], items: {type: 'string', enum: ['surface', 'editor', 'palette', 'hud', 'playback', 'playback-hover', 'level', ]}} letterbox: {type: 'boolean', title: 'Letterbox', description:'Turn letterbox mode on or off. Disables surface and playback controls.'} - goals: c.object {title: "Goals", description: "Add or remove goals for the player to complete in the level."}, - add: c.array {title: "Add", description: "Add these goals."}, GoalSchema - remove: c.array {title: "Remove", description: "Remove these goals."}, GoalSchema + goals: c.object {title: "Goals (Old)", description: "Deprecated. Goals added here have no effect. Add goals in the level settings instead."}, + add: c.array {title: "Add", description: "Deprecated. Goals added here have no effect. Add goals in the level settings instead."}, GoalSchema + remove: c.array {title: "Remove", description: "Deprecated. Goals removed here have no effect. Adjust goals in the level settings instead."}, GoalSchema playback: c.object {title: "Playback", description: "Control the playback of the level."}, playing: {type: 'boolean', title: "Set Playing", description: "Set whether playback is playing or paused."} @@ -243,6 +243,7 @@ c.extendBasicProperties LevelSchema, 'level' c.extendSearchableProperties LevelSchema c.extendVersionedProperties LevelSchema, 'level' c.extendPermissionsProperties LevelSchema, 'level' +c.extendPatchableProperties LevelSchema module.exports = LevelSchema diff --git a/app/schemas/level_system_schema.coffee b/app/schemas/level_system_schema.coffee index 0d7cad2c0..9b186aaac 100644 --- a/app/schemas/level_system_schema.coffee +++ b/app/schemas/level_system_schema.coffee @@ -101,6 +101,7 @@ _.extend LevelSystemSchema.properties, c.extendBasicProperties LevelSystemSchema, 'level.system' c.extendSearchableProperties LevelSystemSchema c.extendVersionedProperties LevelSystemSchema, 'level.system' -c.extendPermissionsProperties LevelSystemSchema, 'level.system' +c.extendPermissionsProperties LevelSystemSchema +c.extendPatchableProperties LevelSystemSchema module.exports = LevelSystemSchema diff --git a/app/schemas/schemas.coffee b/app/schemas/schemas.coffee index eebe6f954..2d7ae0603 100644 --- a/app/schemas/schemas.coffee +++ b/app/schemas/schemas.coffee @@ -15,7 +15,7 @@ me.object = (ext, props) -> combine {type: 'object', additionalProperties: false me.array = (ext, items) -> combine {type: 'array', items: items or {}}, ext me.shortString = (ext) -> combine({type: 'string', maxLength: 100}, ext) me.pct = (ext) -> combine({type: 'number', maximum: 1.0, minimum: 0.0}, ext) -me.date = (ext) -> combine({type: 'string', format: 'date-time'}, ext) +me.date = (ext) -> combine({type: ['object', 'string'], format: 'date-time'}, ext) # should just be string (Mongo ID), but sometimes mongoose turns them into objects representing those, so we are lenient me.objectId = (ext) -> schema = combine({type: ['object', 'string'] }, ext) me.url = (ext) -> combine({type: 'string', format: 'url', pattern: urlPattern}, ext) @@ -54,7 +54,21 @@ basicProps = (linkFragment) -> me.extendBasicProperties = (schema, linkFragment) -> schema.properties = {} unless schema.properties? _.extend(schema.properties, basicProps(linkFragment)) + +# PATCHABLE +patchableProps = -> + patches: me.array({title:'Patches'}, { + _id: me.objectId(links: [{rel: "db", href: "/db/patch/{($)}"}], title: "Patch ID", description: "A reference to the patch.") + status: { enum: ['pending', 'accepted', 'rejected', 'cancelled']} + }) + allowPatches: { type: 'boolean' } + listeners: me.array({title:'Listeners'}, + me.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}])) + +me.extendPatchableProperties = (schema) -> + schema.properties = {} unless schema.properties? + _.extend(schema.properties, patchableProps()) # NAMED diff --git a/app/schemas/thang_type_schema.coffee b/app/schemas/thang_type_schema.coffee index fb459811d..1e6bc2ee5 100644 --- a/app/schemas/thang_type_schema.coffee +++ b/app/schemas/thang_type_schema.coffee @@ -146,8 +146,9 @@ ThangTypeSchema.definitions = action: ActionSchema sound: SoundSchema -c.extendBasicProperties(ThangTypeSchema, 'thang.type') -c.extendSearchableProperties(ThangTypeSchema) -c.extendVersionedProperties(ThangTypeSchema, 'thang.type') +c.extendBasicProperties ThangTypeSchema, 'thang.type' +c.extendSearchableProperties ThangTypeSchema +c.extendVersionedProperties ThangTypeSchema, 'thang.type' +c.extendPatchableProperties ThangTypeSchema module.exports = ThangTypeSchema diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index adc7c3a63..5fea84696 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -62,7 +62,6 @@ module.exports = class ThangTypeEditView extends View @thangType.fetch() @thangType.loadSchema() - # @listenToOnce(@thangType.schema(), 'sync', @onThangTypeSync) @listenToOnce(@thangType, 'sync', @onThangTypeSync) @refreshAnimation = _.debounce @refreshAnimation, 500 diff --git a/server/commons/i18n_schema.coffee b/server/commons/i18n_schema.coffee deleted file mode 100644 index 2a2aaf816..000000000 --- a/server/commons/i18n_schema.coffee +++ /dev/null @@ -1,48 +0,0 @@ -#this file will hold the experimental JSON schema for i18n -c = require './schemas' - -languageCodeArrayRegex = c.generateLanguageCodeArrayRegex() - - -ExampleSchema = { - title: "Example Schema", - description:"An example schema", - type: "object", - properties: { - text: { - title: "Text", - description: "A short message to display in the dialogue area. Markdown okay.", - type: "string", - maxLength: 400 - }, - i18n: {"$ref": "#/definitions/i18n"} - }, - - definitions: { - i18n: { - title: "i18n", - description: "The internationalization object", - type: "object", - patternProperties: { - languageCodeArrayRegex: { - additionalProperties: false, - properties: { - #put the translatable properties here - #if it is possible to not include i18n with a reference - # to #/properties, you could just do - properties: {"$ref":"#/properties"} - # text: {"$ref": "#/properties/text"} - } - default: { - title: "LanguageCode", - description: "LanguageDescription" - } - } - } - } - }, - -} - -#define a i18n object type for each schema, then have the i18n have it's oneOf check against -#translatable schemas of that object \ No newline at end of file diff --git a/server/commons/metaschema.coffee b/server/commons/metaschema.coffee deleted file mode 100644 index 4d9d7c0d8..000000000 --- a/server/commons/metaschema.coffee +++ /dev/null @@ -1,132 +0,0 @@ -# The JSON Schema Core/Validation Meta-Schema, but with titles and descriptions added to make it easier to edit in Treema, and in CoffeeScript - -module.exports = - id: "metaschema" - displayProperty: "title" - $schema: "http://json-schema.org/draft-04/schema#" - title: "Schema" - description: "Core schema meta-schema" - definitions: - schemaArray: - type: "array" - minItems: 1 - items: { $ref: "#" } - title: "Array of Schemas" - "default": [{}] - positiveInteger: - type: "integer" - minimum: 0 - title: "Positive Integer" - positiveIntegerDefault0: - allOf: [ { $ref: "#/definitions/positiveInteger" }, { "default": 0 } ] - simpleTypes: - title: "Single Type" - "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] - stringArray: - type: "array" - items: { type: "string" } - minItems: 1 - uniqueItems: true - title: "String Array" - "default": [''] - type: "object" - properties: - id: - type: "string" - format: "uri" - $schema: - type: "string" - format: "uri" - "default": "http://json-schema.org/draft-04/schema#" - title: - type: "string" - description: - type: "string" - "default": {} - multipleOf: - type: "number" - minimum: 0 - exclusiveMinimum: true - maximum: - type: "number" - exclusiveMaximum: - type: "boolean" - "default": false - minimum: - type: "number" - exclusiveMinimum: - type: "boolean" - "default": false - maxLength: { $ref: "#/definitions/positiveInteger" } - minLength: { $ref: "#/definitions/positiveIntegerDefault0" } - pattern: - type: "string" - format: "regex" - additionalItems: - anyOf: [ - { type: "boolean", "default": false } - { $ref: "#" } - ] - items: - anyOf: [ - { $ref: "#" } - { $ref: "#/definitions/schemaArray" } - ] - "default": {} - maxItems: { $ref: "#/definitions/positiveInteger" } - minItems: { $ref: "#/definitions/positiveIntegerDefault0" } - uniqueItems: - type: "boolean" - "default": false - maxProperties: { $ref: "#/definitions/positiveInteger" } - minProperties: { $ref: "#/definitions/positiveIntegerDefault0" } - required: { $ref: "#/definitions/stringArray" } - additionalProperties: - anyOf: [ - { type: "boolean", "default": true } - { $ref: "#" } - ] - "default": {} - definitions: - type: "object" - additionalProperties: { $ref: "#" } - "default": {} - properties: - type: "object" - additionalProperties: { $ref: "#" } - "default": {} - patternProperties: - type: "object" - additionalProperties: { $ref: "#" } - "default": {} - dependencies: - type: "object" - additionalProperties: - anyOf: [ - { $ref: "#" } - { $ref: "#/definitions/stringArray" } - ] - "enum": - type: "array" - minItems: 1 - uniqueItems: true - "default": [''] - type: - anyOf: [ - { $ref: "#/definitions/simpleTypes" } - { - type: "array" - items: { $ref: "#/definitions/simpleTypes" } - minItems: 1 - uniqueItems: true - title: "Array of Types" - "default": ['string'] - }] - allOf: { $ref: "#/definitions/schemaArray" } - anyOf: { $ref: "#/definitions/schemaArray" } - oneOf: { $ref: "#/definitions/schemaArray" } - not: { $ref: "#" } - dependencies: - exclusiveMaximum: [ "maximum" ] - exclusiveMinimum: [ "minimum" ] - "default": {} diff --git a/server/levels/Level.coffee b/server/levels/Level.coffee index bb4d10065..83e8d678b 100644 --- a/server/levels/Level.coffee +++ b/server/levels/Level.coffee @@ -1,6 +1,6 @@ mongoose = require('mongoose') plugins = require('../plugins/plugins') -jsonschema = require('./level_schema') +jsonschema = require('../../app/schemas/level_schema') LevelSchema = new mongoose.Schema({ description: String diff --git a/server/levels/components/LevelComponent.coffee b/server/levels/components/LevelComponent.coffee index 515e7d80a..5f00f261c 100644 --- a/server/levels/components/LevelComponent.coffee +++ b/server/levels/components/LevelComponent.coffee @@ -1,6 +1,6 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('./level_component_schema') +jsonschema = require('../../../app/schemas/level_component_schema') LevelComponentSchema = new mongoose.Schema { description: String diff --git a/server/levels/feedbacks/LevelFeedback.coffee b/server/levels/feedbacks/LevelFeedback.coffee index 0eecdec32..234caf367 100644 --- a/server/levels/feedbacks/LevelFeedback.coffee +++ b/server/levels/feedbacks/LevelFeedback.coffee @@ -2,7 +2,7 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('./level_feedback_schema') +jsonschema = require('../../../app/schemas/level_feedback_schema') LevelFeedbackSchema = new mongoose.Schema({ created: diff --git a/server/levels/feedbacks/level_feedback_schema.coffee b/server/levels/feedbacks/level_feedback_schema.coffee deleted file mode 100644 index 54d9e84e1..000000000 --- a/server/levels/feedbacks/level_feedback_schema.coffee +++ /dev/null @@ -1,27 +0,0 @@ -c = require '../../commons/schemas' - -LevelFeedbackLevelSchema = c.object {required: ['original', 'majorVersion']}, { - original: c.objectId({}) - majorVersion: {type: 'integer', minimum: 0, default: 0}} - -LevelFeedbackSchema = c.object { - title: "Feedback" - description: "Feedback on a level." -} - -_.extend LevelFeedbackSchema.properties, - # denormalization - creatorName: { type: 'string' } - levelName: { type: 'string' } - levelID: { type: 'string' } - - creator: c.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}]) - created: c.date( { title: 'Created', readOnly: true }) - - level: LevelFeedbackLevelSchema - rating: { type: 'number', minimum: 1, maximum: 5 } - review: { type: 'string' } - -c.extendBasicProperties LevelFeedbackSchema, 'level.feedback' - -module.exports = LevelFeedbackSchema diff --git a/server/levels/sessions/LevelSession.coffee b/server/levels/sessions/LevelSession.coffee index 952782f1b..d91b7241c 100644 --- a/server/levels/sessions/LevelSession.coffee +++ b/server/levels/sessions/LevelSession.coffee @@ -2,7 +2,7 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('./level_session_schema') +jsonschema = require('../../../app/schemas/level_session_schema') LevelSessionSchema = new mongoose.Schema({ created: diff --git a/server/levels/sessions/level_session_schema.coffee b/server/levels/sessions/level_session_schema.coffee deleted file mode 100644 index d798a9d88..000000000 --- a/server/levels/sessions/level_session_schema.coffee +++ /dev/null @@ -1,213 +0,0 @@ -c = require '../../commons/schemas' - -LevelSessionPlayerSchema = c.object - id: c.objectId - links: [ - { - rel: 'extra' - href: "/db/user/{($)}" - } - ] - time: - type: 'Number' - changes: - type: 'Number' - - -LevelSessionLevelSchema = c.object {required: ['original', 'majorVersion']}, - original: c.objectId({}) - majorVersion: - type: 'integer' - minimum: 0 - default: 0 - - -LevelSessionSchema = c.object - title: "Session" - description: "A single session for a given level." - - -_.extend LevelSessionSchema.properties, - # denormalization - creatorName: - type: 'string' - levelName: - type: 'string' - levelID: - type: 'string' - multiplayer: - type: 'boolean' - creator: c.objectId - links: - [ - { - rel: 'extra' - href: "/db/user/{($)}" - } - ] - created: c.date - title: 'Created' - readOnly: true - - changed: c.date - title: 'Changed' - readOnly: true - - team: c.shortString() - level: LevelSessionLevelSchema - - screenshot: - type: 'string' - - state: c.object {}, - complete: - type: 'boolean' - scripts: c.object {}, - ended: - type: 'object' - additionalProperties: - type: 'number' - currentScript: - type: [ - 'null' - 'string' - ] - currentScriptOffset: - type: 'number' - - selected: - type: [ - 'null' - 'string' - ] - playing: - type: 'boolean' - frame: - type: 'number' - thangs: - type: 'object' - additionalProperties: - title: 'Thang' - type: 'object' - properties: - methods: - type: 'object' - additionalProperties: - title: 'Thang Method' - type: 'object' - properties: - metrics: - type: 'object' - source: - type: 'string' - -# TODO: specify this more - code: - type: 'object' - - teamSpells: - type: 'object' - additionalProperties: - type: 'array' - - players: - type: 'object' - - chat: - type: 'array' - - meanStrength: - type: 'number' - - standardDeviation: - type:'number' - minimum: 0 - - totalScore: - type: 'number' - - submitted: - type: 'boolean' - - submitDate: c.date - title: 'Submitted' - - submittedCode: - type: 'object' - - isRanking: - type: 'boolean' - description: 'Whether this session is still in the first ranking chain after being submitted.' - - unsubscribed: - type: 'boolean' - description: 'Whether the player has opted out of receiving email updates about ladder rankings for this session.' - - numberOfWinsAndTies: - type: 'number' - - numberOfLosses: - type: 'number' - - scoreHistory: - type: 'array' - title: 'Score History' - description: 'A list of objects representing the score history of a session' - items: - title: 'Score History Point' - description: 'An array with the format [unix timestamp, totalScore]' - type: 'array' - items: - type: 'number' - - matches: - type: 'array' - title: 'Matches' - description: 'All of the matches a submitted session has played in its current state.' - items: - type: 'object' - properties: - date: c.date - title: 'Date computed' - description: 'The date a match was computed.' - metrics: - type: 'object' - title: 'Metrics' - description: 'Various information about the outcome of a match.' - properties: - rank: - title: 'Rank' - description: 'A 0-indexed ranking representing the player\'s standing in the outcome of a match' - type: 'number' - opponents: - type: 'array' - title: 'Opponents' - description: 'An array containing information about the opponents\' sessions in a given match.' - items: - type: 'object' - properties: - sessionID: - title: 'Opponent Session ID' - description: 'The session ID of an opponent.' - type: ['object', 'string'] - userID: - title: 'Opponent User ID' - description: 'The user ID of an opponent' - type: ['object','string'] - metrics: - type: 'object' - properties: - rank: - title: 'Opponent Rank' - description: 'The opponent\'s ranking in a given match' - type: 'number' - - - - - - -c.extendBasicProperties LevelSessionSchema, 'level.session' -c.extendPermissionsProperties LevelSessionSchema, 'level.session' - -module.exports = LevelSessionSchema diff --git a/server/levels/systems/LevelSystem.coffee b/server/levels/systems/LevelSystem.coffee index a02a3aab0..730b338ad 100644 --- a/server/levels/systems/LevelSystem.coffee +++ b/server/levels/systems/LevelSystem.coffee @@ -1,6 +1,6 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('./level_system_schema') +jsonschema = require('../../../app/schemas/level_system_schema') LevelSystemSchema = new mongoose.Schema { description: String diff --git a/server/levels/thangs/thang_component_schema.coffee b/server/levels/thangs/thang_component_schema.coffee deleted file mode 100644 index 0118d3a4c..000000000 --- a/server/levels/thangs/thang_component_schema.coffee +++ /dev/null @@ -1,21 +0,0 @@ -c = require '../../commons/schemas' - -module.exports = ThangComponentSchema = c.object { - title: "Component" - description: "Configuration for a Component that this Thang uses." - format: 'thang-component' - required: ['original', 'majorVersion'] - 'default': - majorVersion: 0 - config: {} - links: [{rel: "db", href: "/db/level.component/{(original)}/version/{(majorVersion)}"}] -}, - original: c.objectId(title: "Original", description: "A reference to the original Component being configured.", format: "hidden") - config: c.object {title: "Configuration", description: "Component-specific configuration properties.", additionalProperties: true, format: 'thang-component-configuration'} - majorVersion: - title: "Major Version" - description: "Which major version of the Component is being used." - type: 'integer' - minimum: 0 - default: 0 - format: "hidden" diff --git a/server/users/User.coffee b/server/users/User.coffee index 28009e610..fd9b81969 100644 --- a/server/users/User.coffee +++ b/server/users/User.coffee @@ -1,5 +1,5 @@ mongoose = require('mongoose') -jsonschema = require('./user_schema') +jsonschema = require('../../app/schemas/user_schema') crypto = require('crypto') {salt, isProduction} = require('../../server_config') mail = require '../commons/mail' diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index c9446afda..eb26ff7e5 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -1,4 +1,4 @@ -schema = require './user_schema' +schema = require '../../app/schemas/user_schema' crypto = require 'crypto' request = require 'request' User = require './User' diff --git a/server/users/user_schema.coffee b/server/users/user_schema.coffee deleted file mode 100644 index c7de194e3..000000000 --- a/server/users/user_schema.coffee +++ /dev/null @@ -1,98 +0,0 @@ -c = require '../commons/schemas' -emailSubscriptions = ['announcement', 'tester', 'level_creator', 'developer', 'article_editor', 'translator', 'support', 'notification'] - -UserSchema = c.object {}, - name: c.shortString({title: 'Display Name', default:''}) - email: c.shortString({title: 'Email', format: 'email'}) - firstName: c.shortString({title: 'First Name'}) - lastName: c.shortString({title: 'Last Name'}) - gender: {type: 'string', 'enum': ['male', 'female']} - password: {type: 'string', maxLength: 256, minLength: 2, title:'Password'} - passwordReset: {type: 'string'} - photoURL: {type: 'string', format: 'image-file', title: 'Profile Picture', description: 'Upload a 256x256px or larger image to serve as your profile picture.'} - - facebookID: c.shortString({title: 'Facebook ID'}) - gplusID: c.shortString({title: 'G+ ID'}) - - wizardColor1: c.pct({title: 'Wizard Clothes Color'}) - volume: c.pct({title: 'Volume'}) - music: {type: 'boolean', default: true} - autocastDelay: {type: 'integer', 'default': 5000 } - lastLevel: { type: 'string' } - - emailSubscriptions: c.array {uniqueItems: true, 'default': ['announcement', 'notification']}, {'enum': emailSubscriptions} - - # server controlled - permissions: c.array {'default': []}, c.shortString() - dateCreated: c.date({title: 'Date Joined'}) - anonymous: {type: 'boolean', 'default': true} - testGroupNumber: {type: 'integer', minimum: 0, maximum: 256, exclusiveMaximum: true} - mailChimp: {type: 'object'} - hourOfCode: {type: 'boolean'} - hourOfCodeComplete: {type: 'boolean'} - - emailLower: c.shortString() - nameLower: c.shortString() - passwordHash: {type: 'string', maxLength: 256} - - # client side - emailHash: {type: 'string'} - - #Internationalization stuff - preferredLanguage: {type: 'string', default: 'en', 'enum': c.getLanguageCodeArray()} - - signedCLA: c.date({title: 'Date Signed the CLA'}) - wizard: c.object {}, - colorConfig: c.object {additionalProperties: c.colorConfig()} - - aceConfig: c.object {}, - language: {type: 'string', 'default': 'javascript', 'enum': ['javascript', 'coffeescript']} - keyBindings: {type: 'string', 'default': 'default', 'enum': ['default', 'vim', 'emacs']} - invisibles: {type: 'boolean', 'default': false} - indentGuides: {type: 'boolean', 'default': false} - behaviors: {type: 'boolean', 'default': false} - - simulatedBy: {type: 'integer', minimum: 0, default: 0} - simulatedFor: {type: 'integer', minimum: 0, default: 0} - - jobProfile: c.object {title: 'Job Profile', required: ['lookingFor', 'jobTitle', 'active', 'name', 'city', 'country', 'skills', 'experience', 'shortDescription', 'longDescription', 'visa', 'work', 'education', 'projects', 'links']}, - lookingFor: {title: 'Looking For', type: 'string', enum: ['Full-time', 'Part-time', 'Remote', 'Contracting', 'Internship'], default: 'Full-time', description: 'What kind of developer position do you want?'} - jobTitle: {type: 'string', maxLength: 50, title: 'Desired Job Title', description: 'What role are you looking for? Ex.: "Full Stack Engineer", "Front-End Developer", "iOS Developer"', default: 'Software Developer'} - active: {title: 'Active', type: 'boolean', description: 'Want interview offers right now?'} - updated: c.date {title: 'Last Updated', description: 'How fresh your profile appears to employers. The fresher, the better. Profiles go inactive after 30 days.'} - name: c.shortString {title: 'Name', description: 'Name you want employers to see, like "Nick Winter".'} - city: c.shortString {title: 'City', description: 'City you want to work in (or live in now), like "San Francisco" or "Lubbock, TX".', default: 'Defaultsville, CA', format: 'city'} - country: c.shortString {title: 'Country', description: 'Country you want to work in (or live in now), like "USA" or "France".', default: 'USA', format: 'country'} - skills: c.array {title: 'Skills', description: 'Tag relevant developer skills in order of proficiency. Employers will see the first five at a glance.', default: ['javascript'], minItems: 1, maxItems: 30, uniqueItems: true}, - {type: 'string', minLength: 1, maxLength: 20, description: 'Ex.: "objective-c", "mongodb", "rails", "android", "javascript"', format: 'skill'} - experience: {type: 'integer', title: 'Years of Experience', minimum: 0, description: 'How many years of professional experience (getting paid) developing software do you have?'} - shortDescription: {type: 'string', maxLength: 140, title: 'Short Description', description: 'Who are you, and what are you looking for? 140 characters max.', default: 'Programmer seeking to build great software.'} - longDescription: {type: 'string', maxLength: 600, title: 'Description', description: 'Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max.', format: 'markdown', default: '* I write great code.\n* You need great code?\n* Great!'} - visa: c.shortString {title: 'US Work Status', description: 'Are you authorized to work in the US, or do you need visa sponsorship?', enum: ['Authorized to work in the US', 'Need visa sponsorship'], default: 'Authorized to work in the US'} - work: c.array {title: 'Work Experience', description: 'List your relevant work experience, most recent first.'}, - c.object {title: 'Job', description: 'Some work experience you had.', required: ['employer', 'role', 'duration']}, - employer: c.shortString {title: 'Employer', description: 'Name of your employer.'} - role: c.shortString {title: 'Job Title', description: 'What was your job title or role?'} - duration: c.shortString {title: 'Duration', description: 'When did you hold this gig? Ex.: "Feb 2013 - present".'} - education: c.array {title: 'Education', description: 'List your academic ordeals.'}, - c.object {title: 'Ordeal', description: 'Some education that befell you.', required: ['school', 'degree', 'duration']}, - school: c.shortString {title: 'School', description: 'Name of your school.'} - degree: c.shortString {title: 'Degree', description: 'What was your degree and field of study? Ex. Ph.D. Human-Computer Interaction (incomplete)'} - duration: c.shortString {title: 'Dates', description: 'When? Ex.: "Aug 2004 - May 2008".'} - projects: c.array {title: 'Projects', description: 'Highlight your projects to amaze employers.'}, - c.object {title: 'Project', description: 'A project you created.', required: ['name', 'description', 'picture'], default: {name: 'My Project', description: 'A project I worked on.', link: 'http://example.com', picture: ''}}, - name: c.shortString {title: 'Project Name', description: 'What was the project called?', default: 'My Project'} - description: {type: 'string', title: 'Description', description: 'Briefly describe the project.', maxLength: 400, default: 'A project I worked on.', format: 'markdown'} - picture: {type: 'string', title: 'Picture', format: 'image-file', description: 'Upload a 230x115px or larger image showing off the project.'} - link: c.url {title: 'Link', description: 'Link to the project.', default: 'http://example.com'} - links: c.array {title: 'Personal and Social Links', description: 'Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog.'}, - c.object {title: 'Link', description: 'A link to another site you want to highlight, like your GitHub, your LinkedIn, or your blog.', required: ['name', 'link']}, - name: {type: 'string', maxLength: 30, title: 'Link Name', description: 'What are you linking to? Ex: "Personal Website", "Twitter"', format: 'link-name'} - link: c.url {title: 'Link', description: 'The URL.', default: 'http://example.com'} - photoURL: {type: 'string', format: 'image-file', title: 'Profile Picture', description: 'Upload a 256x256px or larger image if you want to show a different profile picture to employers than your normal avatar.'} - - jobProfileApproved: {title: 'Job Profile Approved', type: 'boolean', description: 'Whether your profile has been approved by CodeCombat.'} - jobProfileNotes: {type: 'string', maxLength: 1000, title: 'Our Notes', description: "CodeCombat's notes on the candidate.", format: 'markdown', default: ''} -c.extendBasicProperties UserSchema, 'user' - -module.exports = UserSchema From e04787475cb7007ce4a02ff980f9729655312071 Mon Sep 17 00:00:00 2001 From: Aditya Raisinghani <aditya.ajeet@gmail.com> Date: Sat, 12 Apr 2014 15:16:42 +0530 Subject: [PATCH 65/79] Rebased master to get updated schemas and added patch schema --- app/models/CocoModel.coffee | 2 +- app/schemas/level_schema.coffee | 2 +- .../schemas}/patch_schema.coffee | 2 +- app/views/account/job_profile_view.coffee | 2 +- app/views/kinds/SearchView.coffee | 2 +- .../components/level_component_handler.coffee | 2 +- .../components/level_component_schema.coffee | 120 --------- .../feedbacks/level_feedback_handler.coffee | 2 +- server/levels/level_handler.coffee | 2 +- server/levels/level_schema.coffee | 255 ------------------ .../sessions/level_session_handler.coffee | 2 +- .../systems/level_system_handler.coffee | 2 +- .../levels/systems/level_system_schema.coffee | 107 -------- .../levels/thangs/thang_type_handler.coffee | 2 +- server/levels/thangs/thang_type_schema.coffee | 154 ----------- server/patches/patch_handler.coffee | 4 +- 16 files changed, 13 insertions(+), 649 deletions(-) rename {server/patches => app/schemas}/patch_schema.coffee (96%) delete mode 100644 server/levels/components/level_component_schema.coffee delete mode 100644 server/levels/level_schema.coffee delete mode 100644 server/levels/systems/level_system_schema.coffee delete mode 100644 server/levels/thangs/thang_type_schema.coffee diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 6e5c0249b..bb2fc0547 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -235,7 +235,7 @@ class CocoModel extends Backbone.Model getExpandedDelta: -> delta = @getDelta() - deltasLib.expandDelta(delta, @_revertAttributes, @schema().attributes) + deltasLib.expandDelta(delta, @_revertAttributes, @schema()) addPatchToAcceptOnSave: (patch) -> @acceptedPatches ?= [] diff --git a/app/schemas/level_schema.coffee b/app/schemas/level_schema.coffee index 4ce229ca6..919b44c44 100644 --- a/app/schemas/level_schema.coffee +++ b/app/schemas/level_schema.coffee @@ -1,5 +1,5 @@ c = require './schemas' -ThangComponentSchema = require './thangs/thang_component_schema' +ThangComponentSchema = require './thang_component_schema' SpecificArticleSchema = c.object() c.extendNamedProperties SpecificArticleSchema # name first diff --git a/server/patches/patch_schema.coffee b/app/schemas/patch_schema.coffee similarity index 96% rename from server/patches/patch_schema.coffee rename to app/schemas/patch_schema.coffee index eae980d4e..5c2ce122e 100644 --- a/server/patches/patch_schema.coffee +++ b/app/schemas/patch_schema.coffee @@ -1,4 +1,4 @@ -c = require '../commons/schemas' +c = require './schemas' patchables = ['level', 'thang_type', 'level_system', 'level_component', 'article'] diff --git a/app/views/account/job_profile_view.coffee b/app/views/account/job_profile_view.coffee index a39fb6b16..d14fc2f79 100644 --- a/app/views/account/job_profile_view.coffee +++ b/app/views/account/job_profile_view.coffee @@ -29,7 +29,7 @@ module.exports = class JobProfileView extends CocoView visibleSettings = @editableSettings.concat @readOnlySettings data = _.pick (me.get('jobProfile') ? {}), (value, key) => key in visibleSettings data.name ?= (me.get('firstName') + ' ' + me.get('lastName')).trim() if me.get('firstName') - schema = _.cloneDeep me.schema().get('properties').jobProfile + schema = _.cloneDeep me.schema().properties.jobProfile schema.properties = _.pick schema.properties, (value, key) => key in visibleSettings schema.required = _.intersection schema.required, visibleSettings for prop in @readOnlySettings diff --git a/app/views/kinds/SearchView.coffee b/app/views/kinds/SearchView.coffee index 5f93924c3..9ce303b7c 100644 --- a/app/views/kinds/SearchView.coffee +++ b/app/views/kinds/SearchView.coffee @@ -96,7 +96,7 @@ module.exports = class SearchView extends View name = @$el.find('#name').val() model = new @model() model.set('name', name) - if @model.schema.get('properties').permissions + if @model.schema.properties.permissions model.set 'permissions', [{access: 'owner', target: me.id}] res = model.save() return unless res diff --git a/server/levels/components/level_component_handler.coffee b/server/levels/components/level_component_handler.coffee index 576bad3c8..e2b7a2ba8 100644 --- a/server/levels/components/level_component_handler.coffee +++ b/server/levels/components/level_component_handler.coffee @@ -3,7 +3,7 @@ Handler = require('../../commons/Handler') LevelComponentHandler = class LevelComponentHandler extends Handler modelClass: LevelComponent - jsonSchema: require './level_component_schema' + jsonSchema: require '../../../app/schemas/level_component_schema' editableProperties: [ 'system' 'description' diff --git a/server/levels/components/level_component_schema.coffee b/server/levels/components/level_component_schema.coffee deleted file mode 100644 index 45135a774..000000000 --- a/server/levels/components/level_component_schema.coffee +++ /dev/null @@ -1,120 +0,0 @@ -c = require '../../commons/schemas' -metaschema = require '../../commons/metaschema' - -attackSelfCode = """ -class AttacksSelf extends Component - @className: "AttacksSelf" - chooseAction: -> - @attack @ -""" -systems = [ - 'action', 'ai', 'alliance', 'collision', 'combat', 'display', 'event', 'existence', 'hearing' - 'inventory', 'movement', 'programming', 'targeting', 'ui', 'vision', 'misc', 'physics', 'effect', - 'magic' -] - -PropertyDocumentationSchema = c.object { - title: "Property Documentation" - description: "Documentation entry for a property this Component will add to its Thang which other Components might - want to also use." - "default": - name: "foo" - type: "object" - description: 'The `foo` property can satisfy all the #{spriteName}\'s foobar needs. Use it wisely.' - required: ['name', 'type', 'description'] -}, - name: {type: 'string', title: "Name", description: "Name of the property."} - # not actual JS types, just whatever they describe... - type: c.shortString(title: "Type", description: "Intended type of the property.") - description: {title: "Description", type: 'string', description: "Description of the property.", format: 'markdown', maxLength: 1000} - args: c.array {title: "Arguments", description: "If this property has type 'function', then provide documentation for any function arguments."}, c.FunctionArgumentSchema - owner: {title: "Owner", type: 'string', description: 'Owner of the property, like "this" or "Math".'} - example: {title: "Example", type: 'string', description: 'An optional example code block.', format: 'javascript'} - returns: c.object { - title: "Return Value" - description: 'Optional documentation of any return value.' - required: ['type'] - default: {type: 'null'} - }, - type: c.shortString(title: "Type", description: "Type of the return value") - example: c.shortString(title: "Example", description: "Example return value") - description: {title: "Description", type: 'string', description: "Description of the return value.", maxLength: 1000} - -DependencySchema = c.object { - title: "Component Dependency" - description: "A Component upon which this Component depends." - "default": - #original: ? - majorVersion: 0 - required: ["original", "majorVersion"] - format: 'latest-version-reference' - links: [{rel: "db", href: "/db/level.component/{(original)}/version/{(majorVersion)}"}] -}, - original: c.objectId(title: "Original", description: "A reference to another Component upon which this Component depends.") - majorVersion: - title: "Major Version" - description: "Which major version of the Component this Component needs." - type: 'integer' - minimum: 0 - -LevelComponentSchema = c.object { - title: "Component" - description: "A Component which can affect Thang behavior." - required: ["system", "name", "description", "code", "dependencies", "propertyDocumentation", "language"] - "default": - system: "ai" - name: "AttacksSelf" - description: "This Component makes the Thang attack itself." - code: attackSelfCode - language: "coffeescript" - dependencies: [] # TODO: should depend on something by default - propertyDocumentation: [] -} -c.extendNamedProperties LevelComponentSchema # let's have the name be the first property -LevelComponentSchema.properties.name.pattern = c.classNamePattern -_.extend LevelComponentSchema.properties, - system: - title: "System" - description: "The short name of the System this Component belongs to, like \"ai\"." - type: "string" - "enum": systems - "default": "ai" - description: - title: "Description" - description: "A short explanation of what this Component does." - type: "string" - maxLength: 2000 - "default": "This Component makes the Thang attack itself." - language: - type: "string" - title: "Language" - description: "Which programming language this Component is written in." - "enum": ["coffeescript"] - code: - title: "Code" - description: "The code for this Component, as a CoffeeScript class. TODO: add link to documentation for - how to write these." - "default": attackSelfCode - type: "string" - format: "coffee" - js: - title: "JavaScript" - description: "The transpiled JavaScript code for this Component" - type: "string" - format: "hidden" - dependencies: c.array {title: "Dependencies", description: "An array of Components upon which this Component depends.", "default": [], uniqueItems: true}, DependencySchema - propertyDocumentation: c.array {title: "Property Documentation", description: "An array of documentation entries for each notable property this Component will add to its Thang which other Components might want to also use.", "default": []}, PropertyDocumentationSchema - configSchema: _.extend metaschema, {title: "Configuration Schema", description: "A schema for validating the arguments that can be passed to this Component as configuration.", default: {type: 'object', additionalProperties: false}} - official: - type: "boolean" - title: "Official" - description: "Whether this is an official CodeCombat Component." - "default": false - -c.extendBasicProperties LevelComponentSchema, 'level.component' -c.extendSearchableProperties LevelComponentSchema -c.extendVersionedProperties LevelComponentSchema, 'level.component' -c.extendPermissionsProperties LevelComponentSchema, 'level.component' -c.extendPatchableProperties LevelComponentSchema - -module.exports = LevelComponentSchema diff --git a/server/levels/feedbacks/level_feedback_handler.coffee b/server/levels/feedbacks/level_feedback_handler.coffee index 21f581ea7..cd4ffda26 100644 --- a/server/levels/feedbacks/level_feedback_handler.coffee +++ b/server/levels/feedbacks/level_feedback_handler.coffee @@ -4,7 +4,7 @@ Handler = require('../../commons/Handler') class LevelFeedbackHandler extends Handler modelClass: LevelFeedback editableProperties: ['rating', 'review', 'level', 'levelID', 'levelName'] - jsonSchema: require './level_feedback_schema' + jsonSchema: require '../../../app/schemas/level_feedback_schema' makeNewInstance: (req) -> feedback = super(req) diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index f2e9f0228..741c56eba 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -8,7 +8,7 @@ mongoose = require('mongoose') LevelHandler = class LevelHandler extends Handler modelClass: Level - jsonSchema: require './level_schema' + jsonSchema: require '../../app/schemas/level_schema' editableProperties: [ 'description' 'documentation' diff --git a/server/levels/level_schema.coffee b/server/levels/level_schema.coffee deleted file mode 100644 index 984236cfd..000000000 --- a/server/levels/level_schema.coffee +++ /dev/null @@ -1,255 +0,0 @@ -c = require '../commons/schemas' -ThangComponentSchema = require './thangs/thang_component_schema' - -SpecificArticleSchema = c.object() -c.extendNamedProperties SpecificArticleSchema # name first -SpecificArticleSchema.properties.body = { type: 'string', title: 'Content', description: "The body content of the article, in Markdown.", format: 'markdown' } -SpecificArticleSchema.displayProperty = 'name' - -side = {title: "Side", description: "A side.", type: 'string', 'enum': ['left', 'right', 'top', 'bottom']} -thang = {title: "Thang", description: "The name of a Thang.", type: 'string', maxLength: 30, format:'thang'} - -eventPrereqValueTypes = ["boolean", "integer", "number", "null", "string"] # not "object" or "array" -EventPrereqSchema = c.object {title: "Event Prerequisite", format: 'event-prereq', description: "Script requires that the value of some property on the event triggering it to meet some prerequisite.", "default": {eventProps: []}, required: ["eventProps"]}, - eventProps: c.array {'default': ["thang"], format:'event-value-chain', maxItems: 10, title: "Event Property", description: 'A chain of keys in the event, like "thang.pos.x" to access event.thang.pos.x.'}, c.shortString(title: "Property", description: "A key in the event property key chain.") - equalTo: c.object {type: eventPrereqValueTypes, title: "==", description: "Script requires the event's property chain value to be equal to this value."} - notEqualTo: c.object {type: eventPrereqValueTypes, title: "!=", description: "Script requires the event's property chain value to *not* be equal to this value."} - greaterThan: {type: 'number', title: ">", description: "Script requires the event's property chain value to be greater than this value."} - greaterThanOrEqualTo: {type: 'number', title: ">=", description: "Script requires the event's property chain value to be greater or equal to this value."} - lessThan: {type: 'number', title: "<", description: "Script requires the event's property chain value to be less than this value."} - lessThanOrEqualTo: {type: 'number', title: "<=", description: "Script requires the event's property chain value to be less than or equal to this value."} - containingString: c.shortString(title: "Contains", description: "Script requires the event's property chain value to be a string containing this string.") - notContainingString: c.shortString(title: "Does not contain", description: "Script requires the event's property chain value to *not* be a string containing this string.") - containingRegexp: c.shortString(title: "Contains Regexp", description: "Script requires the event's property chain value to be a string containing this regular expression.") - notContainingRegexp: c.shortString(title: "Does not contain regexp", description: "Script requires the event's property chain value to *not* be a string containing this regular expression.") - -GoalSchema = c.object {title: "Goal", description: "A goal that the player can accomplish.", required: ["name", "id"]}, - name: c.shortString(title: "Name", description: "Name of the goal that the player will see, like \"Defeat eighteen dragons\".") - i18n: {type: "object", format: 'i18n', props: ['name'], description: "Help translate this goal"} - id: c.shortString(title: "ID", description: "Unique identifier for this goal, like \"defeat-dragons\".") # unique somehow? - worldEndsAfter: {title: 'World Ends After', description: "When included, ends the world this many seconds after this goal succeeds or fails.", type: 'number', minimum: 0, exclusiveMinimum: true, maximum: 300, default: 3} - howMany: {title: "How Many", description: "When included, require only this many of the listed goal targets instead of all of them.", type: 'integer', minimum: 1} - hiddenGoal: {title: "Hidden", description: "Hidden goals don't show up in the goals area for the player until they're failed. (Usually they're obvious, like 'don't die'.)", 'type': 'boolean', default: false} - team: c.shortString(title: 'Team', description: 'Name of the team this goal is for, if it is not for all of the playable teams.') - killThangs: c.array {title: "Kill Thangs", description: "A list of Thang IDs the player should kill, or team names.", uniqueItems: true, minItems: 1, "default": ["ogres"]}, thang - saveThangs: c.array {title: "Save Thangs", description: "A list of Thang IDs the player should save, or team names", uniqueItems: true, minItems: 1, "default": ["humans"]}, thang - getToLocations: c.object {title: "Get To Locations", description: "Will be set off when any of the \"who\" touch any of the \"targets\" ", required: ["who", "targets"]}, - who: c.array {title: "Who", description: "The Thangs who must get to the target locations.", minItems: 1}, thang - targets: c.array {title: "Targets", description: "The target locations to which the Thangs must get.", minItems: 1}, thang - getAllToLocations: c.array {title: "Get all to locations", description: "Similar to getToLocations but now a specific \"who\" can have a specific \"target\", also must be used with the HowMany property for desired effect",required: ["getToLocation"]}, - c.object {title: "", description: ""}, - getToLocation: c.object {title: "Get To Locations", description: "TODO: explain", required: ["who", "targets"]}, - who: c.array {title: "Who", description: "The Thangs who must get to the target locations.", minItems: 1}, thang - targets: c.array {title: "Targets", description: "The target locations to which the Thangs must get.", minItems: 1}, thang - keepFromLocations: c.object {title: "Keep From Locations", description: "TODO: explain", required: ["who", "targets"]}, - who: c.array {title: "Who", description: "The Thangs who must not get to the target locations.", minItems: 1}, thang - targets: c.array {title: "Targets", description: "The target locations to which the Thangs must not get.", minItems: 1}, thang - keepAllFromLocations: c.array {title: "Keep ALL From Locations", description: "Similar to keepFromLocations but now a specific \"who\" can have a specific \"target\", also must be used with the HowMany property for desired effect", required: ["keepFromLocation"]}, - c.object {title: "", description: ""}, - keepFromLocation: c.object {title: "Keep From Locations", description: "TODO: explain", required: ["who", "targets"]}, - who: c.array {title: "Who", description: "The Thangs who must not get to the target locations.", minItems: 1}, thang - targets: c.array {title: "Targets", description: "The target locations to which the Thangs must not get.", minItems: 1}, thang - leaveOffSides: c.object {title: "Leave Off Sides", description: "Sides of the level to get some Thangs to leave across.", required: ["who", "sides"]}, - who: c.array {title: "Who", description: "The Thangs which must leave off the sides of the level.", minItems: 1}, thang - sides: c.array {title: "Sides", description: "The sides off which the Thangs must leave.", minItems: 1}, side - keepFromLeavingOffSides: c.object {title: "Keep From Leaving Off Sides", description: "Sides of the level to keep some Thangs from leaving across.", required: ["who", "sides"]}, - who: c.array {title: "Who", description: "The Thangs which must not leave off the sides of the level.", minItems: 1}, thang - sides: side, {title: "Sides", description: "The sides off which the Thangs must not leave.", minItems: 1}, side - collectThangs: c.object {title: "Collect", description: "Thangs that other Thangs must collect.", required: ["who", "targets"]}, - who: c.array {title: "Who", description: "The Thangs which must collect the target items.", minItems: 1}, thang - targets: c.array {title: "Targets", description: "The target items which the Thangs must collect.", minItems: 1}, thang - keepFromCollectingThangs: c.object {title: "Keep From Collecting", description: "Thangs that the player must prevent other Thangs from collecting.", required: ["who", "targets"]}, - who: c.array {title: "Who", description: "The Thangs which must not collect the target items.", minItems: 1}, thang - targets: c.array {title: "Targets", description: "The target items which the Thangs must not collect.", minItems: 1}, thang - -ResponseSchema = c.object {title: "Dialogue Button", description: "A button to be shown to the user with the dialogue.", required: ["text"]}, - text: {title: "Title", description: "The text that will be on the button", "default": "Okay", type: 'string', maxLength: 30} - channel: c.shortString(title: "Channel", format: 'event-channel', description: 'Channel that this event will be broadcast over, like "level-set-playing".') - event: {type: 'object', title: "Event", description: "Event that will be broadcast when this button is pressed, like {playing: true}."} - buttonClass: c.shortString(title: "Button Class", description: 'CSS class that will be added to the button, like "btn-primary".') - i18n: {type: "object", format: 'i18n', props: ['text'], description: "Help translate this button"} - -PointSchema = c.object {title: "Point", description: "An {x, y} coordinate point.", format: "point2d", required: ["x", "y"]}, - x: {title: "x", description: "The x coordinate.", type: "number", "default": 15} - y: {title: "y", description: "The y coordinate.", type: "number", "default": 20} - -SpriteCommandSchema = c.object {title: "Thang Command", description: "Make a target Thang move or say something, or select/deselect it.", required: ["id"], default: {id: "Captain Anya"}}, - id: thang - select: {title: "Select", description: "Select or deselect this Thang.", type: 'boolean'} - say: c.object {title: "Say", description: "Make this Thang say a message.", required: ["text"]}, - blurb: c.shortString(title: "Blurb", description: "A very short message to display above this Thang's head. Plain text.", maxLength: 50) - mood: c.shortString(title: "Mood", description: "The mood with which the Thang speaks.", "enum": ["explain", "debrief", "congrats", "attack", "joke", "tip", "alarm"], "default": "explain") - text: {title: "Text", description: "A short message to display in the dialogue area. Markdown okay.", type: "string", maxLength: 400} - sound: c.object {title: "Sound", description: "A dialogue sound file to accompany the message.", required: ["mp3", "ogg"]}, - mp3: c.shortString(title: "MP3", format: 'sound-file') - ogg: c.shortString(title: "OGG", format: 'sound-file') - preload: {title: "Preload", description: "Whether to load this sound file before the level can begin (typically for the first dialogue of a level).", type: 'boolean', "default": false} - responses: c.array {title: "Buttons", description: "An array of buttons to include with the dialogue, with which the user can respond."}, ResponseSchema - i18n: {type: "object", format: 'i18n', props: ['blurb', 'text'], description: "Help translate this message"} - move: c.object {title: "Move", description: "Tell the Thang to move.", required: ['target'], default: {target: {x: 20, y: 20}, duration: 500}}, - target: _.extend _.cloneDeep(PointSchema), {title: 'Target', description: 'Target point to which the Thang will move.'} - duration: {title: "Duration", description: "Number of milliseconds over which to move, or 0 for an instant move.", type: 'integer', minimum: 0, default: 500, format: 'milliseconds'} - -NoteGroupSchema = c.object {title: "Note Group", description: "A group of notes that should be sent out as a result of this script triggering.", displayProperty: "name"}, - name: {title: "Name", description: "Short name describing the script, like \"Anya greets the player\", for your convenience.", type: "string"} - dom: c.object {title: "DOM", description: "Manipulate things in the play area DOM, outside of the level area canvas."}, - focus: c.shortString(title: "Focus", description: "Set the window focus to this DOM selector string.") - showVictory: { - title: "Show Victory", - description: "Show the done button and maybe also the victory modal.", - enum: [true, 'Done Button', 'Done Button And Modal'] # deprecate true, same as 'done_button_and_modal' - } - highlight: c.object {title: "Highlight", description: "Highlight the target DOM selector string with a big arrow."}, - target: c.shortString(title: "Target", description: "Target highlight element DOM selector string.") - delay: {type: 'integer', minimum: 0, title: "Delay", description: "Show the highlight after this many milliseconds. Doesn't affect the dim shade cutout highlight method."} - offset: _.extend _.cloneDeep(PointSchema), {title: 'Offset', description: 'Pointing arrow tip offset in pixels from the default target.', format: null} - rotation: {type: 'number', minimum: 0, title: "Rotation", description: "Rotation of the pointing arrow, in radians. PI / 2 points left, PI points up, etc."} - sides: c.array {title: "Sides", description: "Which sides of the target element to point at."}, {type: 'string', 'enum': ['left', 'right', 'top', 'bottom'], title: "Side", description: "A side of the target element to point at."} - lock: {title: "Lock", description: "Whether the interface should be locked so that the player's focus is on the script, or specific areas to lock.", type: ['boolean', 'array'], items: {type: 'string', enum: ['surface', 'editor', 'palette', 'hud', 'playback', 'playback-hover', 'level', ]}} - letterbox: {type: 'boolean', title: 'Letterbox', description:'Turn letterbox mode on or off. Disables surface and playback controls.'} - - goals: c.object {title: "Goals (Old)", description: "Deprecated. Goals added here have no effect. Add goals in the level settings instead."}, - add: c.array {title: "Add", description: "Deprecated. Goals added here have no effect. Add goals in the level settings instead."}, GoalSchema - remove: c.array {title: "Remove", description: "Deprecated. Goals removed here have no effect. Adjust goals in the level settings instead."}, GoalSchema - - playback: c.object {title: "Playback", description: "Control the playback of the level."}, - playing: {type: 'boolean', title: "Set Playing", description: "Set whether playback is playing or paused."} - scrub: c.object {title: "Scrub", description: "Scrub the level playback time to a certain point.", default: {offset: 2, duration: 1000, toRatio: 0.5}}, - offset: {type: 'integer', title: "Offset", description: "Number of frames by which to adjust the scrub target time.", default: 2} - duration: {type: 'integer', title: "Duration", description: "Number of milliseconds over which to scrub time.", minimum: 0, format: 'milliseconds'} - toRatio: {type: 'number', title: "To Progress Ratio", description: "Set playback time to a target playback progress ratio.", minimum: 0, maximum: 1} - toTime: {type: 'number', title: "To Time", description: "Set playback time to a target playback point, in seconds.", minimum: 0} - toGoal: c.shortString(title: "To Goal", description: "Set playback time to when this goal was achieved. (TODO: not implemented.)") - - script: c.object {title: "Script", description: "Extra configuration for this action group."}, - duration: {type: 'integer', minimum: 0, title: "Duration", description: "How long this script should last in milliseconds. 0 for indefinite.", format: 'milliseconds'} - skippable: {type: 'boolean', title: "Skippable", description: "Whether this script shouldn't bother firing when the player skips past all current scripts."} - beforeLoad: {type: 'boolean', title: "Before Load", description: "Whether this script should fire before the level is finished loading."} - - sprites: c.array {title: "Sprites", description: "Commands to issue to Sprites on the Surface."}, SpriteCommandSchema - - surface: c.object {title: "Surface", description: "Commands to issue to the Surface itself."}, - focus: c.object {title: "Camera", description: "Focus the camera on a specific point on the Surface.", format:'viewport'}, - target: {anyOf: [PointSchema, thang, {type: 'null'}], title: "Target", description: "Where to center the camera view."} - zoom: {type: 'number', minimum: 0, exclusiveMinimum: true, maximum: 64, title: "Zoom", description: "What zoom level to use."} - duration: {type:'number', minimum: 0, title: "Duration", description: "in ms"} - bounds: c.array {title:'Boundary', maxItems: 2, minItems: 2, default:[{x:0,y:0}, {x:46, y:39}], format: 'bounds'}, PointSchema - isNewDefault: {type:'boolean', format: 'hidden', title: "New Default", description: 'Set this as new default zoom once scripts end.'} # deprecated - highlight: c.object {title: "Highlight", description: "Highlight specific Sprites on the Surface."}, - targets: c.array {title: "Targets", description: "Thang IDs of target Sprites to highlight."}, thang - delay: {type: 'integer', minimum: 0, title: "Delay", description: "Delay in milliseconds before the highlight appears."} - lockSelect: {type: 'boolean', title: "Lock Select", description: "Whether to lock Sprite selection so that the player can't select/deselect anything."} - - sound: c.object {title: "Sound", description: "Commands to control sound playback."}, - suppressSelectionSounds: {type: "boolean", title: "Suppress Selection Sounds", description: "Whether to suppress selection sounds made from clicking on Thangs."} - music: c.object { title: "Music", description: "Control music playing"}, - play: { title: "Play", type: "boolean" } - file: c.shortString(title: "File", enum:['/music/music_level_1','/music/music_level_2','/music/music_level_3','/music/music_level_4','/music/music_level_5']) - -ScriptSchema = c.object { - title: "Script" - description: 'A script fires off a chain of notes to interact with the game when a certain event triggers it.' - required: ["channel"] - 'default': {channel: "world:won", noteChain: []} -}, - id: c.shortString(title: "ID", description: "A unique ID that other scripts can rely on in their Happens After prereqs, for sequencing.") # uniqueness? - channel: c.shortString(title: "Event", format: 'event-channel', description: 'Event channel this script might trigger for, like "world:won".') - eventPrereqs: c.array {title: "Event Checks", description: "Logical checks on the event for this script to trigger.", format:'event-prereqs'}, EventPrereqSchema - repeats: {title: "Repeats", description: "Whether this script can trigger more than once during a level.", enum: [true, false, 'session'], "default": false} - scriptPrereqs: c.array {title: "Happens After", description: "Scripts that need to fire first."}, - c.shortString(title: "ID", description: "A unique ID of a script.") - notAfter: c.array {title: "Not After", description: "Do not run this script if any of these scripts have run."}, - c.shortString(title: "ID", description: "A unique ID of a script.") - noteChain: c.array {title: "Actions", description: "A list of things that happen when this script triggers."}, NoteGroupSchema - -LevelThangSchema = c.object { - title: "Thang", - description: "Thangs are any units, doodads, or abstract things that you use to build the level. (\"Thing\" was too confusing to say.)", - format: "thang" - required: ["id", "thangType", "components"] - 'default': - id: "Boris" - thangType: "Soldier" - components: [] -}, - id: thang # TODO: figure out if we can make this unique and how to set dynamic defaults - # TODO: split thangType into "original" and "majorVersion" like the rest for consistency - thangType: c.objectId(links: [{rel: "db", href: "/db/thang.type/{($)}/version"}], title: "Thang Type", description: "A reference to the original Thang template being configured.", format: 'thang-type') - components: c.array {title: "Components", description: "Thangs are configured by changing the Components attached to them.", uniqueItems: true, format: 'thang-components-array'}, ThangComponentSchema # TODO: uniqueness should be based on "original", not whole thing - -LevelSystemSchema = c.object { - title: "System" - description: "Configuration for a System that this Level uses." - format: 'level-system' - required: ['original', 'majorVersion'] - 'default': - majorVersion: 0 - config: {} - links: [{rel: "db", href: "/db/level.system/{(original)}/version/{(majorVersion)}"}] -}, - original: c.objectId(title: "Original", description: "A reference to the original System being configured.", format: "hidden") - config: c.object {title: "Configuration", description: "System-specific configuration properties.", additionalProperties: true, format: 'level-system-configuration'} - majorVersion: {title: "Major Version", description: "Which major version of the System is being used.", type: 'integer', minimum: 0, default: 0, format: "hidden"} - -GeneralArticleSchema = c.object { - title: "Article" - description: "Reference to a general documentation article." - required: ['original'] - format: 'latest-version-reference' - 'default': - original: null - majorVersion: 0 - links: [{rel: "db", href: "/db/article/{(original)}/version/{(majorVersion)}"}] -}, - original: c.objectId(title: "Original", description: "A reference to the original Article.")#, format: "hidden") # hidden? - majorVersion: {title: "Major Version", description: "Which major version of the Article is being used.", type: 'integer', minimum: 0}#, format: "hidden"} # hidden? - -LevelSchema = c.object { - title: "Level" - description: "A spectacular level which will delight and educate its stalwart players with the sorcery of coding." - required: ["name", "description", "scripts", "thangs", "documentation"] - 'default': - name: "Ineffable Wizardry" - description: "This level is indescribably flarmy." - documentation: {specificArticles: [], generalArticles: []} - scripts: [] - thangs: [] -} -c.extendNamedProperties LevelSchema # let's have the name be the first property -_.extend LevelSchema.properties, - description: {title: "Description", description: "A short explanation of what this level is about.", type: "string", maxLength: 65536, "default": "This level is indescribably flarmy!", format: 'markdown'} - documentation: c.object {title: "Documentation", description: "Documentation articles relating to this level.", required: ["specificArticles", "generalArticles"], 'default': {specificArticles: [], generalArticles: []}}, - specificArticles: c.array {title: "Specific Articles", description: "Specific documentation articles that live only in this level.", uniqueItems: true, "default": []}, SpecificArticleSchema - generalArticles: c.array {title: "General Articles", description: "General documentation articles that can be linked from multiple levels.", uniqueItems: true, "default": []}, GeneralArticleSchema - background: c.objectId({format: 'hidden'}) - nextLevel: { - type:'object', - links: [{rel: "extra", href: "/db/level/{($)}"}, {rel:'db', href: "/db/level/{(original)}/version/{(majorVersion)}"}], - format: 'latest-version-reference', - title: "Next Level", - description: "Reference to the next level players will player after beating this one." - } - scripts: c.array {title: "Scripts", description: "An array of scripts that trigger based on what the player does and affect things outside of the core level simulation.", "default": []}, ScriptSchema - thangs: c.array {title: "Thangs", description: "An array of Thangs that make up the level.", "default": []}, LevelThangSchema - systems: c.array {title: "Systems", description: "Levels are configured by changing the Systems attached to them.", uniqueItems: true, default: []}, LevelSystemSchema # TODO: uniqueness should be based on "original", not whole thing - victory: c.object {title: "Victory Screen", default: {}, properties: {'body': {type: 'string', format: 'markdown', title: 'Body Text', description: 'Inserted into the Victory Modal once this level is complete. Tell the player they did a good job and what they accomplished!'}, i18n: {type: "object", format: 'i18n', props: ['body'], description: "Help translate this victory message"}}} - i18n: {type: "object", format: 'i18n', props: ['name', 'description'], description: "Help translate this level"} - icon: { type: 'string', format: 'image-file', title: 'Icon' } - goals: c.array {title: 'Goals', description: 'An array of goals which are visible to the player and can trigger scripts.'}, GoalSchema - type: c.shortString(title: "Type", description: "What kind of level this is.", "enum": ['campaign', 'ladder', 'ladder-tutorial']) - showsGuide: c.shortString(title: "Shows Guide", description: "If the guide is shown at the beginning of the level.", "enum": ['first-time', 'always']) - -c.extendBasicProperties LevelSchema, 'level' -c.extendSearchableProperties LevelSchema -c.extendVersionedProperties LevelSchema, 'level' -c.extendPermissionsProperties LevelSchema, 'level' -c.extendPatchableProperties LevelSchema - -module.exports = LevelSchema - -# To test: -# 1: Copy the schema from http://localhost:3000/db/level/schema -# 2. Open up the Treema demo page http://localhost:9090/demo.html -# 3. tv4.addSchema(metaschema.id, metaschema) -# 4. S = <paste big schema here> -# 5. tv4.validateMultiple(S, metaschema) and look for errors diff --git a/server/levels/sessions/level_session_handler.coffee b/server/levels/sessions/level_session_handler.coffee index eaa5e4ed6..25131833d 100644 --- a/server/levels/sessions/level_session_handler.coffee +++ b/server/levels/sessions/level_session_handler.coffee @@ -9,7 +9,7 @@ class LevelSessionHandler extends Handler editableProperties: ['multiplayer', 'players', 'code', 'completed', 'state', 'levelName', 'creatorName', 'levelID', 'screenshot', 'chat', 'teamSpells', 'submitted', 'unsubscribed'] - jsonSchema: require './level_session_schema' + jsonSchema: require '../../../app/schemas/level_session_schema' getByRelationship: (req, res, args...) -> return @getActiveSessions req, res if args.length is 2 and args[1] is 'active' diff --git a/server/levels/systems/level_system_handler.coffee b/server/levels/systems/level_system_handler.coffee index a76fed659..c3fd0a366 100644 --- a/server/levels/systems/level_system_handler.coffee +++ b/server/levels/systems/level_system_handler.coffee @@ -13,7 +13,7 @@ LevelSystemHandler = class LevelSystemHandler extends Handler 'configSchema' ] postEditableProperties: ['name'] - jsonSchema: require './level_system_schema' + jsonSchema: require '../../../app/schemas/level_system_schema' getEditableProperties: (req, document) -> props = super(req, document) diff --git a/server/levels/systems/level_system_schema.coffee b/server/levels/systems/level_system_schema.coffee deleted file mode 100644 index 7adcb969e..000000000 --- a/server/levels/systems/level_system_schema.coffee +++ /dev/null @@ -1,107 +0,0 @@ -c = require '../../commons/schemas' -metaschema = require '../../commons/metaschema' - -jitterSystemCode = """ -class Jitter extends System - constructor: (world, config) -> - super world, config - @idlers = @addRegistry (thang) -> thang.exists and thang.acts and thang.moves and thang.action is 'idle' - - update: -> - # We return a simple numeric hash that will combine to a frame hash - # help us determine whether this frame has changed in resimulations. - hash = 0 - for thang in @idlers - hash += thang.pos.x += 0.5 - Math.random() - hash += thang.pos.y += 0.5 - Math.random() - thang.hasMoved = true - return hash -""" - -PropertyDocumentationSchema = c.object { - title: "Property Documentation" - description: "Documentation entry for a property this System will add to its Thang which other Systems - might want to also use." - "default": - name: "foo" - type: "object" - description: "This System provides a 'foo' property to satisfy all one's foobar needs. Use it wisely." - required: ['name', 'type', 'description'] -}, - name: {type: 'string', pattern: c.identifierPattern, title: "Name", description: "Name of the property."} - # not actual JS types, just whatever they describe... - type: c.shortString(title: "Type", description: "Intended type of the property.") - description: {type: 'string', description: "Description of the property.", maxLength: 1000} - args: c.array {title: "Arguments", description: "If this property has type 'function', then provide documentation for any function arguments."}, c.FunctionArgumentSchema - -DependencySchema = c.object { - title: "System Dependency" - description: "A System upon which this System depends." - "default": - #original: ? - majorVersion: 0 - required: ["original", "majorVersion"] - format: 'latest-version-reference' - links: [{rel: "db", href: "/db/level.system/{(original)}/version/{(majorVersion)}"}] -}, - original: c.objectId(title: "Original", description: "A reference to another System upon which this System depends.") - majorVersion: - title: "Major Version" - description: "Which major version of the System this System needs." - type: 'integer' - minimum: 0 - -LevelSystemSchema = c.object { - title: "System" - description: "A System which can affect Level behavior." - required: ["name", "description", "code", "dependencies", "propertyDocumentation", "language"] - "default": - name: "JitterSystem" - description: "This System makes all idle, movable Thangs jitter around." - code: jitterSystemCode - language: "coffeescript" - dependencies: [] # TODO: should depend on something by default - propertyDocumentation: [] -} -c.extendNamedProperties LevelSystemSchema # let's have the name be the first property -LevelSystemSchema.properties.name.pattern = c.classNamePattern -_.extend LevelSystemSchema.properties, - description: - title: "Description" - description: "A short explanation of what this System does." - type: "string" - maxLength: 2000 - "default": "This System doesn't do anything yet." - language: - type: "string" - title: "Language" - description: "Which programming language this System is written in." - "enum": ["coffeescript"] - code: - title: "Code" - description: "The code for this System, as a CoffeeScript class. TODO: add link to documentation - for how to write these." - "default": jitterSystemCode - type: "string" - format: "coffee" - js: - title: "JavaScript" - description: "The transpiled JavaScript code for this System" - type: "string" - format: "hidden" - dependencies: c.array {title: "Dependencies", description: "An array of Systems upon which this System depends.", "default": [], uniqueItems: true}, DependencySchema - propertyDocumentation: c.array {title: "Property Documentation", description: "An array of documentation entries for each notable property this System will add to its Level which other Systems might want to also use.", "default": []}, PropertyDocumentationSchema - configSchema: _.extend metaschema, {title: "Configuration Schema", description: "A schema for validating the arguments that can be passed to this System as configuration.", default: {type: 'object', additionalProperties: false}} - official: - type: "boolean" - title: "Official" - description: "Whether this is an official CodeCombat System." - "default": false - -c.extendBasicProperties LevelSystemSchema, 'level.system' -c.extendSearchableProperties LevelSystemSchema -c.extendVersionedProperties LevelSystemSchema, 'level.system' -c.extendPermissionsProperties LevelSystemSchema -c.extendPatchableProperties LevelSystemSchema - -module.exports = LevelSystemSchema diff --git a/server/levels/thangs/thang_type_handler.coffee b/server/levels/thangs/thang_type_handler.coffee index 0627fc5f7..851d2ccf6 100644 --- a/server/levels/thangs/thang_type_handler.coffee +++ b/server/levels/thangs/thang_type_handler.coffee @@ -3,7 +3,7 @@ Handler = require('../../commons/Handler') ThangTypeHandler = class ThangTypeHandler extends Handler modelClass: ThangType - jsonSchema: require './thang_type_schema' + jsonSchema: require '../../../app/schemas/thang_type_schema' editableProperties: [ 'name', 'raw', diff --git a/server/levels/thangs/thang_type_schema.coffee b/server/levels/thangs/thang_type_schema.coffee deleted file mode 100644 index 68eb6d084..000000000 --- a/server/levels/thangs/thang_type_schema.coffee +++ /dev/null @@ -1,154 +0,0 @@ -c = require '../../commons/schemas' -ThangComponentSchema = require './thang_component_schema' - -ThangTypeSchema = c.object() -c.extendNamedProperties ThangTypeSchema # name first - -ShapeObjectSchema = c.object { title: 'Shape' }, - fc: { type: 'string', title: 'Fill Color' } - lf: { type: 'array', title: 'Linear Gradient Fill' } - ls: { type: 'array', title: 'Linear Gradient Stroke' } - p: { type: 'string', title: 'Path' } - de: { type: 'array', title: 'Draw Ellipse' } - sc: { type: 'string', title: 'Stroke Color' } - ss: { type: 'array', title: 'Stroke Style' } - t: c.array {}, { type: 'number', title: 'Transform' } - m: { type: 'string', title: 'Mask' } - -ContainerObjectSchema = c.object { format: 'container' }, - b: c.array { title: 'Bounds' }, { type: 'number' } - c: c.array { title: 'Children' }, { anyOf: [ - { type: 'string', title: 'Shape Child' }, - c.object { title: 'Container Child' } - gn: { type: 'string', title: 'Global Name' } - t: c.array {}, { type: 'number' } - ]} - -RawAnimationObjectSchema = c.object {}, - bounds: c.array { title: 'Bounds' }, { type: 'number' } - frameBounds: c.array { title: 'Frame Bounds' }, c.array { title: 'Bounds' }, { type: 'number' } - shapes: c.array {}, - bn: { type: 'string', title: 'Block Name' } - gn: { type: 'string', title: 'Global Name' } - im : { type: 'boolean', title: 'Is Mask' } - m: { type: 'string', title: 'Uses Mask' } - containers: c.array {}, - bn: { type: 'string', title: 'Block Name' } - gn: { type: 'string', title: 'Global Name' } - t: c.array {}, { type: 'number' } - o: { type: 'boolean', title: 'Starts Hidden (_off)'} - al: { type: 'number', title: 'Alpha'} - animations: c.array {}, - bn: { type: 'string', title: 'Block Name' } - gn: { type: 'string', title: 'Global Name' } - t: c.array {}, { type: 'number', title: 'Transform' } - a: c.array { title: 'Arguments' } - tweens: c.array {}, - c.array { title: 'Function Chain', }, - c.object { title: 'Function Call' }, - n: { type: 'string', title: 'Name' } - a: c.array { title: 'Arguments' } - graphics: c.array {}, - bn: { type: 'string', title: 'Block Name' } - p: { type: 'string', title: 'Path' } - -PositionsSchema = c.object { title: 'Positions', description: 'Customize position offsets.' }, - registration: c.point2d { title: 'Registration Point', description: "Action-specific registration point override." } - torso: c.point2d { title: 'Torso Offset', description: "Action-specific torso offset override." } - mouth: c.point2d { title: 'Mouth Offset', description: "Action-specific mouth offset override." } - aboveHead: c.point2d { title: 'Above Head Offset', description: "Action-specific above-head offset override." } - -ActionSchema = c.object {}, - animation: { type: 'string', description: 'Raw animation being sourced', format: 'raw-animation' } - container: { type: 'string', description: 'Name of the container to show' } - relatedActions: c.object { }, - begin: { $ref: '#/definitions/action' } - end: { $ref: '#/definitions/action' } - main: { $ref: '#/definitions/action' } - fore: { $ref: '#/definitions/action' } - back: { $ref: '#/definitions/action' } - side: { $ref: '#/definitions/action' } - - "?0?011?11?11": { $ref: '#/definitions/action', title: "NW corner" } - "?0?11011?11?": { $ref: '#/definitions/action', title: "NE corner, flipped" } - "?0?111111111": { $ref: '#/definitions/action', title: "N face" } - "?11011011?0?": { $ref: '#/definitions/action', title: "SW corner, top" } - "11?11?110?0?": { $ref: '#/definitions/action', title: "SE corner, top, flipped" } - "?11011?0????": { $ref: '#/definitions/action', title: "SW corner, bottom" } - "11?110?0????": { $ref: '#/definitions/action', title: "SE corner, bottom, flipped" } - "?11011?11?11": { $ref: '#/definitions/action', title: "W face" } - "11?11011?11?": { $ref: '#/definitions/action', title: "E face, flipped" } - "011111111111": { $ref: '#/definitions/action', title: "NW elbow" } - "110111111111": { $ref: '#/definitions/action', title: "NE elbow, flipped" } - "111111111?0?": { $ref: '#/definitions/action', title: "S face, top" } - "111111?0????": { $ref: '#/definitions/action', title: "S face, bottom" } - "111111111011": { $ref: '#/definitions/action', title: "SW elbow, top" } - "111111111110": { $ref: '#/definitions/action', title: "SE elbow, top, flipped" } - "111111011?11": { $ref: '#/definitions/action', title: "SW elbow, bottom" } - "11111111011?": { $ref: '#/definitions/action', title: "SE elbow, bottom, flipped" } - "111111111111": { $ref: '#/definitions/action', title: "Middle" } - - loops: { type: 'boolean' } - speed: { type: 'number' } - goesTo: { type: 'string', description: 'Action (animation?) to which we switch after this animation.' } - frames: { type: 'string', pattern:'^[0-9,]+$', description: 'Manually way to specify frames.' } - framerate: { type: 'number', description: 'Get this from the HTML output.' } - positions: PositionsSchema - scale: { title: 'Scale', type: 'number' } - flipX: { title: "Flip X", type: 'boolean', description: "Flip this animation horizontally?" } - flipY: { title: "Flip Y", type: 'boolean', description: "Flip this animation vertically?" } - -SoundSchema = c.sound({delay: { type: 'number' }}) - -_.extend ThangTypeSchema.properties, - raw: c.object {title: 'Raw Vector Data'}, - shapes: c.object {title: 'Shapes', additionalProperties: ShapeObjectSchema} - containers: c.object {title: 'Containers', additionalProperties: ContainerObjectSchema} - animations: c.object {title: 'Animations', additionalProperties: RawAnimationObjectSchema} - kind: c.shortString { enum: ['Unit', 'Floor', 'Wall', 'Doodad', 'Misc', 'Mark'], default: 'Misc', title: 'Kind' } - - actions: c.object { title: 'Actions', additionalProperties: { $ref: '#/definitions/action' } } - soundTriggers: c.object { title: "Sound Triggers", additionalProperties: c.array({}, { $ref: '#/definitions/sound' }) }, - say: c.object { format: 'slug-props', additionalProperties: { $ref: '#/definitions/sound' } }, - defaultSimlish: c.array({}, { $ref: '#/definitions/sound' }) - swearingSimlish: c.array({}, { $ref: '#/definitions/sound' }) - rotationType: { title: 'Rotation', type: 'string', enum: ['isometric', 'fixed']} - matchWorldDimensions: { title: 'Match World Dimensions', type: 'boolean' } - shadow: { title: 'Shadow Diameter', type: 'number', format: 'meters', description: "Shadow diameter in meters" } - layerPriority: - title: 'Layer Priority' - type: 'integer' - description: "Within its layer, sprites are sorted by layer priority, then y, then z." - scale: - title: 'Scale' - type: 'number' - positions: PositionsSchema - colorGroups: c.object - title: 'Color Groups' - additionalProperties: - type:'array' - format: 'thang-color-group' - items: {type:'string'} - snap: c.object { title: "Snap", description: "In the level editor, snap positioning to these intervals.", required: ['x', 'y'] }, - x: - title: "Snap X" - type: 'number' - description: "Snap to this many meters in the x-direction." - default: 4 - y: - title: "Snap Y" - type: 'number' - description: "Snap to this many meters in the y-direction." - default: 4 - components: c.array {title: "Components", description: "Thangs are configured by changing the Components attached to them.", uniqueItems: true, format: 'thang-components-array'}, ThangComponentSchema # TODO: uniqueness should be based on "original", not whole thing - -ThangTypeSchema.definitions = - action: ActionSchema - sound: SoundSchema - -c.extendBasicProperties ThangTypeSchema, 'thang.type' -c.extendSearchableProperties ThangTypeSchema -c.extendVersionedProperties ThangTypeSchema, 'thang.type' -c.extendPatchableProperties ThangTypeSchema - -module.exports = ThangTypeSchema diff --git a/server/patches/patch_handler.coffee b/server/patches/patch_handler.coffee index c38068ae5..33b729e22 100644 --- a/server/patches/patch_handler.coffee +++ b/server/patches/patch_handler.coffee @@ -1,6 +1,6 @@ Patch = require('./Patch') Handler = require('../commons/Handler') -schema = require './patch_schema' +schema = require '../../app/schemas/patch_schema' {handlers} = require '../commons/mapping' mongoose = require('mongoose') @@ -8,7 +8,7 @@ PatchHandler = class PatchHandler extends Handler modelClass: Patch editableProperties: [] postEditableProperties: ['delta', 'target', 'commitMessage'] - jsonSchema: require './patch_schema' + jsonSchema: require '../../app/schemas/patch_schema' makeNewInstance: (req) -> patch = super(req) From 3078036da1fed4ab743deb2bb57f9d16b77c5e08 Mon Sep 17 00:00:00 2001 From: Aditya Raisinghani <aditya.ajeet@gmail.com> Date: Sat, 12 Apr 2014 15:33:57 +0530 Subject: [PATCH 66/79] Deleted updated schemas. --- server/articles/article_schema.coffee | 14 --- server/commons/schemas.coffee | 172 -------------------------- 2 files changed, 186 deletions(-) delete mode 100644 server/articles/article_schema.coffee delete mode 100644 server/commons/schemas.coffee diff --git a/server/articles/article_schema.coffee b/server/articles/article_schema.coffee deleted file mode 100644 index 8c1764258..000000000 --- a/server/articles/article_schema.coffee +++ /dev/null @@ -1,14 +0,0 @@ -c = require '../commons/schemas' - -ArticleSchema = c.object() -c.extendNamedProperties ArticleSchema # name first - -ArticleSchema.properties.body = { type: 'string', title: 'Content', format: 'markdown' } -ArticleSchema.properties.i18n = { type: 'object', title: 'i18n', format: 'i18n', props: ['name', 'body'] } - -c.extendBasicProperties ArticleSchema, 'article' -c.extendSearchableProperties ArticleSchema -c.extendVersionedProperties ArticleSchema, 'article' -c.extendPatchableProperties ArticleSchema - -module.exports = ArticleSchema diff --git a/server/commons/schemas.coffee b/server/commons/schemas.coffee deleted file mode 100644 index a98c4a9b5..000000000 --- a/server/commons/schemas.coffee +++ /dev/null @@ -1,172 +0,0 @@ -#language imports -Language = require '../routes/languages' -# schema helper methods - -me = module.exports - -combine = (base, ext) -> - return base unless ext? - return _.extend(base, ext) - -urlPattern = '^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_=]*)?$' - -# Common schema properties -me.object = (ext, props) -> combine {type: 'object', additionalProperties: false, properties: props or {}}, ext -me.array = (ext, items) -> combine {type: 'array', items: items or {}}, ext -me.shortString = (ext) -> combine({type: 'string', maxLength: 100}, ext) -me.pct = (ext) -> combine({type: 'number', maximum: 1.0, minimum: 0.0}, ext) -me.date = (ext) -> combine({type: ['object', 'string'], format: 'date-time'}, ext) -# should just be string (Mongo ID), but sometimes mongoose turns them into objects representing those, so we are lenient -me.objectId = (ext) -> schema = combine({type: ['object', 'string'] }, ext) -me.url = (ext) -> combine({type: 'string', format: 'url', pattern: urlPattern}, ext) - -PointSchema = me.object {title: "Point", description: "An {x, y} coordinate point.", format: "point2d", required: ["x", "y"]}, - x: {title: "x", description: "The x coordinate.", type: "number", "default": 15} - y: {title: "y", description: "The y coordinate.", type: "number", "default": 20} - -me.point2d = (ext) -> combine(_.cloneDeep(PointSchema), ext) - -SoundSchema = me.object { format: 'sound' }, - mp3: { type: 'string', format: 'sound-file' } - ogg: { type: 'string', format: 'sound-file' } - -me.sound = (props) -> - obj = _.cloneDeep(SoundSchema) - obj.properties[prop] = props[prop] for prop of props - obj - -ColorConfigSchema = me.object { format: 'color-sound' }, - hue: { format: 'range', type: 'number', minimum: 0, maximum: 1 } - saturation: { format: 'range', type: 'number', minimum: 0, maximum: 1 } - lightness: { format: 'range', type: 'number', minimum: 0, maximum: 1 } - -me.colorConfig = (props) -> - obj = _.cloneDeep(ColorConfigSchema) - obj.properties[prop] = props[prop] for prop of props - obj - -# BASICS - -basicProps = (linkFragment) -> - _id: me.objectId(links: [{rel: 'self', href: "/db/#{linkFragment}/{($)}"}], format: 'hidden') - __v: { title: 'Mongoose Version', format: 'hidden' } - -me.extendBasicProperties = (schema, linkFragment) -> - schema.properties = {} unless schema.properties? - _.extend(schema.properties, basicProps(linkFragment)) - -# PATCHABLE - -patchableProps = -> - patches: me.array({title:'Patches'}, { - _id: me.objectId(links: [{rel: "db", href: "/db/patch/{($)}"}], title: "Patch ID", description: "A reference to the patch.") - status: { enum: ['pending', 'accepted', 'rejected', 'cancelled']} - }) - allowPatches: { type: 'boolean' } - listeners: me.array({title:'Listeners'}, - me.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}])) - -me.extendPatchableProperties = (schema) -> - schema.properties = {} unless schema.properties? - _.extend(schema.properties, patchableProps()) - -# NAMED - -namedProps = -> - name: me.shortString({title: 'Name'}) - slug: me.shortString({title: 'Slug', format: 'hidden'}) - -me.extendNamedProperties = (schema) -> - schema.properties = {} unless schema.properties? - _.extend(schema.properties, namedProps()) - - -# VERSIONED - -versionedProps = (linkFragment) -> - version: - 'default': { minor: 0, major: 0, isLatestMajor: true, isLatestMinor: true } - format: 'version' - title: 'Version' - type: 'object' - readOnly: true - additionalProperties: false - properties: - major: { type: 'number', minimum: 0 } - minor: { type: 'number', minimum: 0 } - isLatestMajor: { type: 'boolean' } - isLatestMinor: { type: 'boolean' } - # TODO: figure out useful 'rel' values here - original: me.objectId(links: [{rel: 'extra', href: "/db/#{linkFragment}/{($)}"}], format: 'hidden') - parent: me.objectId(links: [{rel: 'extra', href: "/db/#{linkFragment}/{($)}"}], format: 'hidden') - creator: me.objectId(links: [{rel: 'extra', href: "/db/user/{($)}"}], format: 'hidden') - created: me.date( { title: 'Created', readOnly: true }) - commitMessage: { type: 'string', maxLength: 500, title: 'Commit Message', readOnly: true } - -me.extendVersionedProperties = (schema, linkFragment) -> - schema.properties = {} unless schema.properties? - _.extend(schema.properties, versionedProps(linkFragment)) - - -# SEARCHABLE - -searchableProps = -> - index: { format: 'hidden' } - -me.extendSearchableProperties = (schema) -> - schema.properties = {} unless schema.properties? - _.extend(schema.properties, searchableProps()) - - -# PERMISSIONED - -permissionsProps = -> - permissions: - type: 'array' - items: - type: 'object' - additionalProperties: false - properties: - target: {} - access: {type: 'string', 'enum': ['read', 'write', 'owner']} - format: "hidden" - -me.extendPermissionsProperties = (schema) -> - schema.properties = {} unless schema.properties? - _.extend(schema.properties, permissionsProps()) - -# TRANSLATABLE - -me.generateLanguageCodeArrayRegex = -> "^(" + Language.languageCodes.join("|") + ")$" - -me.getLanguageCodeArray = -> - return Language.languageCodes - -me.getLanguagesObject = -> return Language - -# OTHER - -me.classNamePattern = "^[A-Z][A-Za-z0-9]*$" # starts with capital letter; just letters and numbers -me.identifierPattern = "^[a-z][A-Za-z0-9]*$" # starts with lowercase letter; just letters and numbers -me.constantPattern = "^[A-Z0-9_]+$" # just uppercase letters, underscores, and numbers -me.identifierOrConstantPattern = "^([a-z][A-Za-z0-9]*|[A-Z0-9_]+)$" - -me.FunctionArgumentSchema = me.object { - title: "Function Argument", - description: "Documentation entry for a function argument." - "default": - name: "target" - type: "object" - example: "this.getNearestEnemy()" - description: "The target of this function." - required: ['name', 'type', 'example', 'description'] -}, - name: {type: 'string', pattern: me.identifierPattern, title: "Name", description: "Name of the function argument."} - # not actual JS types, just whatever they describe... - type: me.shortString(title: "Type", description: "Intended type of the argument.") - example: me.shortString(title: "Example", description: "Example value for the argument.") - description: {title: "Description", type: 'string', description: "Description of the argument.", maxLength: 1000} - "default": - title: "Default" - description: "Default value of the argument. (Your code should set this.)" - "default": null From 34c883b7df85e7baf5f8f4e90a9303bcda479aa8 Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 16:55:59 +0200 Subject: [PATCH 67/79] Moved language selection to the top and starting localized the hardcoded stuff. --- .../windows/coco-dev-setup/batch/config/config.coco | 2 +- .../batch/config/{ => localized}/license.coco | 0 .../batch/config/{ => localized}/readme.coco | 0 .../batch/config/localized/tips-nl.coco | 8 ++++++++ .../batch/config/{ => localized}/tips.coco | 0 .../coco-dev-setup/batch/localisation/de.coco | 13 ++++++++++++- .../coco-dev-setup/batch/localisation/en.coco | 6 +++++- .../coco-dev-setup/batch/localisation/nl.coco | 6 +++++- .../coco-dev-setup/batch/localisation/ru.coco | 6 +++++- .../coco-dev-setup/batch/localisation/zh-HANS.coco | 13 ++++++++++++- .../coco-dev-setup/batch/localisation/zh-HANT.coco | 13 ++++++++++++- .../coco-dev-setup/batch/scripts/get_language.bat | 11 +++++++---- .../batch/scripts/print_localized_file.bat | 8 ++++++++ .../coco-dev-setup/batch/scripts/print_tips.bat | 2 +- .../windows/coco-dev-setup/batch/scripts/setup.bat | 7 ++++--- 15 files changed, 80 insertions(+), 15 deletions(-) rename scripts/windows/coco-dev-setup/batch/config/{ => localized}/license.coco (100%) rename scripts/windows/coco-dev-setup/batch/config/{ => localized}/readme.coco (100%) create mode 100755 scripts/windows/coco-dev-setup/batch/config/localized/tips-nl.coco rename scripts/windows/coco-dev-setup/batch/config/{ => localized}/tips.coco (100%) create mode 100755 scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat diff --git a/scripts/windows/coco-dev-setup/batch/config/config.coco b/scripts/windows/coco-dev-setup/batch/config/config.coco index eab3e07a0..da381689f 100755 --- a/scripts/windows/coco-dev-setup/batch/config/config.coco +++ b/scripts/windows/coco-dev-setup/batch/config/config.coco @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1" ?> <variables> - <version>3.4</version> + <version>3.5</version> <author>GlenDC</author> <copyright>CodeCombat.com � 2013-2014</copyright> <github_url>https://github.com/codecombat/codecombat.git</github_url> diff --git a/scripts/windows/coco-dev-setup/batch/config/license.coco b/scripts/windows/coco-dev-setup/batch/config/localized/license.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/config/license.coco rename to scripts/windows/coco-dev-setup/batch/config/localized/license.coco diff --git a/scripts/windows/coco-dev-setup/batch/config/readme.coco b/scripts/windows/coco-dev-setup/batch/config/localized/readme.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/config/readme.coco rename to scripts/windows/coco-dev-setup/batch/config/localized/readme.coco diff --git a/scripts/windows/coco-dev-setup/batch/config/localized/tips-nl.coco b/scripts/windows/coco-dev-setup/batch/config/localized/tips-nl.coco new file mode 100755 index 000000000..bc12d3bf5 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/localized/tips-nl.coco @@ -0,0 +1,8 @@ + 1) Antwoord voorzichtig en juist, indien er een vraag gesteld wordt. + 2) Deze installatie is nog steeds in beta en kan bugs bevatten. + 3) Rapporteer bugs op 'https://github.com/codecombat/codecombat/issues' + 4) Heb je vragen of suggesties? Praat met ons op HipChat via CodeCombat.com + + Je kan een Engelstalige stappengids + voor deze installatie vinden op onze wiki: + github.com/codecombat/codecombat/wiki/Setup-on-Windows:-a-step-by-step-guide \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/config/tips.coco b/scripts/windows/coco-dev-setup/batch/config/localized/tips.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/config/tips.coco rename to scripts/windows/coco-dev-setup/batch/config/localized/tips.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/de.coco b/scripts/windows/coco-dev-setup/batch/localisation/de.coco index e8af90621..fb8f1fce6 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/de.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/de.coco @@ -3,8 +3,12 @@ <global> <native>Deutsch</native> <description>German</description> - <intro>Ab jetzt senden wir unser Feedback in Englisch!</intro> + <tips>Before we start the installation, here are some tips:</tips> </global> + <language> + <choosen>You have choosen Deutsch as your language.</choosen> + <feedback>Ab jetzt senden wir unser Feedback in Deutsch.</feedback> + </language> <install> <system> <bit>-Bit System erkannt.</bit> @@ -52,6 +56,13 @@ <bashq>Bitte gebe den kompletten Pfad zur Git Bash ein, oder drücke Enter, um den Standardpfad zu verwenden</bashq> <ssh>Willst du das Repository via SSH auschecken?</ssh> </process> + <config> + <intro>You should have forked CodeCombat to your own GitHub Account by now...</intro> + <info>Please enter your github information, to configure your local repository.</info> + <username>Username: </username> + <password>Password: </password> + <process>Thank you... Configuring your local repistory right now...</process> + </config> </github> <switch> <install>The installation of your local environment was succesfull!</install> diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en.coco b/scripts/windows/coco-dev-setup/batch/localisation/en.coco index 46464bb55..d763e34a5 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/en.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/en.coco @@ -3,8 +3,12 @@ <global> <native>English</native> <description>English</description> - <intro>From now on we'll send our feedback in English!</intro> + <tips>Before we start the installation, here are some tips:</tips> </global> + <language> + <choosen>You have choosen English as your language.</choosen> + <feedback>From now on we'll send our feedback in English.</feedback> + </language> <install> <system> <bit>-bit computer detected.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco index 501a4e339..971caf048 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/nl.coco @@ -3,8 +3,12 @@ <global> <native>Nederlands</native> <description>Dutch</description> - <intro>Vanaf nu geven we onze feedback in het Nederlands!</intro> + <tips>Voor we verder gaan met de installatie hier volgen enkele tips:</tips> </global> + <language> + <choosen>Je hebt Nederlands gekozen als jouw taal naar keuze.</choosen> + <feedback>Vanaf nu geven we onze feedback in het Nederlands.</feedback> + </language> <install> <system> <bit>-bit computer gedetecteerd.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localisation/ru.coco b/scripts/windows/coco-dev-setup/batch/localisation/ru.coco index 37e9d0b2f..e7fc59f3e 100644 --- a/scripts/windows/coco-dev-setup/batch/localisation/ru.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/ru.coco @@ -3,8 +3,12 @@ <global> <native>�������</native> <description>Russian</description> - <intro>C ������� ������� �� ����� �������� �� �������!</intro> + <tips>Before we start the installation, here are some tips:</tips> </global> + <language> + <choosen>You have choosen ������� as your language.</choosen> + <feedback>C ������� ������� �� ����� �������� �� �������.</feedback> + </language> <install> <system> <bit>-������ ��������� ���������.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco index 410d032f7..29f8977e7 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco @@ -3,8 +3,12 @@ <global> <native>简体中文</native> <description>Traditional Chinese</description> - <intro>目前我们只能用英文给你反馈!</intro> + <tips>Before we start the installation, here are some tips:</tips> </global> + <language> + <choosen>You have choosen 简体中文 as your language.</choosen> + <feedback>目前我们只能用英文给你反馈</feedback> + </language> <install> <system> <bit>-位系统.</bit> @@ -52,6 +56,13 @@ <bashq>请输入 git bash 的安装全路径, 如果你安装的是默认路径, 那么直接输入回车即可</bashq> <ssh>你是否想使用 ssh 来检出(checkout)库(repository)?</ssh> </process> + <config> + <intro>You should have forked CodeCombat to your own GitHub Account by now...</intro> + <info>Please enter your github information, to configure your local repository.</info> + <username>Username: </username> + <password>Password: </password> + <process>Thank you... Configuring your local repistory right now...</process> + </config> </github> <switch> <install>The installation of your local environment was succesfull!</install> diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco index 8c242effa..efb024647 100755 --- a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco +++ b/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco @@ -3,8 +3,12 @@ <global> <native>繁体中文</native> <description>Simplified Chinese</description> - <intro>From now on we'll send our feedback in English!</intro> + <tips>Before we start the installation, here are some tips:</tips> </global> + <language> + <choosen>You have choosen 繁体中文 as your language.</choosen> + <feedback>From now on we'll send our feedback in 繁体中文.</feedback> + </language> <install> <system> <bit>-bit computer detected.</bit> @@ -52,6 +56,13 @@ <bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq> <ssh>Do you want to checkout the repository via ssh?</ssh> </process> + <config> + <intro>You should have forked CodeCombat to your own GitHub Account by now...</intro> + <info>Please enter your github information, to configure your local repository.</info> + <username>Username: </username> + <password>Password: </password> + <process>Thank you... Configuring your local repistory right now...</process> + </config> </github> <switch> <install>The installation of your local environment was succesfull!</install> diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat index fa66aafc8..96da622e9 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat @@ -27,10 +27,13 @@ goto:get_localisation_id goto:get_localisation_id ) else ( set language_id=!languages[%local_id%]! - call get_text !language_id! global_native global native call print_dashed_seperator - echo You have choosen !global_native! as your language. - call get_text !language_id! global_intro global intro - echo !global_intro! + + call get_local_text language_choosen language choosen + echo !language_choosen! + + call get_local_text language_feedback language feedback + echo !language_feedback! + call print_seperator ) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat new file mode 100755 index 000000000..14c74e7a7 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat @@ -0,0 +1,8 @@ +set "LFTP=%1-%language_id%.coco" +if not exist "%LFTP%" ( + echo printing %1.coco... + call print_file %1.coco +) else ( + echo printing %LFTP%... + call print_file %LFTP% +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat index c00833574..0a2e3033a 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_tips.bat @@ -1 +1 @@ -print_file ..\\config\\tips.coco \ No newline at end of file +call print_localized_file ..\\config\\localized\\tips \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/setup.bat b/scripts/windows/coco-dev-setup/batch/scripts/setup.bat index 9ac1c55df..b8ad678bc 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/setup.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/setup.bat @@ -13,14 +13,15 @@ echo Welcome to the automated Installation of the CodeCombat Dev. Environment! echo v%version% authored by %author% and published by %copyright%. call print_seperator -echo Before we start the installation, here are some tips: +call get_language + +call get_local_text global_tips global tips +echo !global_tips! call print_tips call print_seperator call sign_license -call get_language - call download_and_install_applications start cmd /c "setup_p2.bat" From 10b166041960f6ce7aa2d9fd5e371c18049b52da Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Sat, 12 Apr 2014 08:48:49 -0700 Subject: [PATCH 68/79] Fixed the level editor so you can save again. --- app/locale/en.coffee | 5 +++-- app/templates/editor/level/edit.jade | 14 +++++++++++--- app/views/editor/article/edit.coffee | 2 +- app/views/editor/level/edit.coffee | 14 +++++++++++--- app/views/editor/thang/edit.coffee | 2 +- app/views/kinds/CocoView.coffee | 2 +- app/views/modal/save_version_modal.coffee | 6 +++--- server/levels/level_handler.coffee | 1 - 8 files changed, 31 insertions(+), 15 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index b65b93340..087e95976 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -1,4 +1,4 @@ -module.exports = nativeDescription: "English", englishDescription: "English", translation: +module.exports = nativeDescription: "English", englishDescription: "English", translation: common: loading: "Loading..." saving: "Saving..." @@ -359,7 +359,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr thang_search_title: "Search Thang Types Here" level_search_title: "Search Levels Here" signup_to_create: "Sign Up to Create a New Content" - read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." + read_only_warning2: "Note: you can't save any edits here, because you're not logged in." article: edit_btn_preview: "Preview" @@ -661,3 +661,4 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr leaderboard: "Leaderboard" user_schema: "User Schema" user_profile: "User Profile" + patches: "Patches" diff --git a/app/templates/editor/level/edit.jade b/app/templates/editor/level/edit.jade index c029c4a73..ba69b27fd 100644 --- a/app/templates/editor/level/edit.jade +++ b/app/templates/editor/level/edit.jade @@ -26,11 +26,16 @@ block outer_content a(href="#editor-level-components-tab-view", data-toggle="tab", data-i18n="editor.level_tab_components") Components li a(href="#editor-level-systems-tab-view", data-toggle="tab", data-i18n="editor.level_tab_systems") Systems - - + li + a(href="#editor-level-patches", data-toggle="tab", data-i18n="resources.patches")#patches-tab Patches + + ul.nav.navbar-nav.navbar-right li(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true").btn.btn-primary.navbar-btn#revert-button Revert - li(data-i18n="common.save", disabled=authorized === true ? undefined : "true").btn.btn-primary.navbar-btn#commit-level-start-button Save + if authorized + li(data-i18n="common.save").btn.btn-primary.navbar-btn#commit-level-start-button Save + else + li(data-i18n="common.patch").btn.btn-primary.navbar-btn#commit-level-patch-button Patch li(data-i18n="common.fork", disabled=anonymous ? "true": undefined).btn.btn-primary.navbar-btn#fork-level-start-button Fork li(title="⌃↩ or ⌘↩: Play preview of current level", data-i18n="common.play")#play-button.btn.btn-inverse.banner.navbar-btn Play! @@ -74,6 +79,9 @@ block outer_content div.tab-pane#editor-level-components-tab-view div.tab-pane#editor-level-systems-tab-view + + div.tab-pane#editor-level-patches + .patches-view div#error-view diff --git a/app/views/editor/article/edit.coffee b/app/views/editor/article/edit.coffee index 1d91558f1..b6f279089 100644 --- a/app/views/editor/article/edit.coffee +++ b/app/views/editor/article/edit.coffee @@ -80,7 +80,7 @@ module.exports = class ArticleEditView extends View afterRender: -> super() return if @startsLoading - @showReadOnly() unless me.isAdmin() or @article.hasWriteAccess(me) + @showReadOnly() if me.get('anonymous') openPreview: -> @preview = window.open('/editor/article/x/preview', 'preview', 'height=800,width=600') diff --git a/app/views/editor/level/edit.coffee b/app/views/editor/level/edit.coffee index b685d457f..e28f87247 100644 --- a/app/views/editor/level/edit.coffee +++ b/app/views/editor/level/edit.coffee @@ -12,6 +12,8 @@ ComponentsTabView = require './components_tab_view' SystemsTabView = require './systems_tab_view' LevelSaveView = require './save_view' LevelForkView = require './fork_view' +SaveVersionModal = require 'views/modal/save_version_modal' +PatchesView = require 'views/editor/patches_view' VersionHistoryView = require './versions_view' ErrorView = require '../../error_view' @@ -26,6 +28,8 @@ module.exports = class EditorLevelView extends View 'click #commit-level-start-button': 'startCommittingLevel' 'click #fork-level-start-button': 'startForkingLevel' 'click #history-button': 'showVersionHistory' + 'click #patches-tab': -> @patchesView.load() + 'click #commit-level-patch-button': 'startPatchingLevel' constructor: (options, @levelID) -> super options @@ -88,7 +92,8 @@ module.exports = class EditorLevelView extends View @componentsTab = @insertSubView new ComponentsTabView supermodel: @supermodel @systemsTab = @insertSubView new SystemsTabView supermodel: @supermodel Backbone.Mediator.publish 'level-loaded', level: @level - @showReadOnly() unless me.isAdmin() or @level.hasWriteAccess(me) + @showReadOnly() if me.get('anonymous') + @patchesView = @insertSubView(new PatchesView(@level), @$el.find('.patches-view')) onPlayLevel: (e) -> sendLevel = => @@ -103,9 +108,12 @@ module.exports = class EditorLevelView extends View @childWindow.onPlayLevelViewLoaded = (e) => sendLevel() # still a hack @childWindow.focus() + startPatchingLevel: (e) -> + @openModalView new SaveVersionModal({model:@level}) + Backbone.Mediator.publish 'level:view-switched', e + startCommittingLevel: (e) -> - levelSaveView = new LevelSaveView level: @level, supermodel: @supermodel - @openModalView levelSaveView + @openModalView new LevelSaveView level: @level, supermodel: @supermodel Backbone.Mediator.publish 'level:view-switched', e startForkingLevel: (e) -> diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index 67edc6978..bd8a34804 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -95,7 +95,7 @@ module.exports = class ThangTypeEditView extends View @initComponents() @insertSubView(new ColorsTabView(@thangType)) @patchesView = @insertSubView(new PatchesView(@thangType), @$el.find('.patches-view')) - @showReadOnly() unless me.isAdmin() or @thangType.hasWriteAccess(me) + @showReadOnly() if me.get('anonymous') initComponents: => options = diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index 0287dc959..338a2cc3b 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -262,7 +262,7 @@ class CocoView extends Backbone.View showReadOnly: -> return if me.isAdmin() - warning = $.i18n.t 'editor.read_only_warning', defaultValue: "Note: you can't save any edits here, because you're not logged in as an admin." + warning = $.i18n.t 'editor.read_only_warning2', defaultValue: "Note: you can't save any edits here, because you're not logged in." noty text: warning, layout: 'center', type: 'information', killer: true, timeout: 5000 # Loading ModalViews diff --git a/app/views/modal/save_version_modal.coffee b/app/views/modal/save_version_modal.coffee index 1ed4a4d54..8c49327f5 100644 --- a/app/views/modal/save_version_modal.coffee +++ b/app/views/modal/save_version_modal.coffee @@ -17,8 +17,8 @@ module.exports = class SaveVersionModal extends ModalView constructor: (options) -> super options - @model = options.model - new Patch() + @model = options.model or options.level + new Patch() # hack to get the schema to load, delete this later @isPatch = not @model.hasWriteAccess() getRenderData: -> @@ -33,7 +33,7 @@ module.exports = class SaveVersionModal extends ModalView changeEl = @$el.find('.changes-stub') deltaView = new DeltaView({model:@model}) @insertSubView(deltaView, changeEl) - $('.commit-message input').attr('placeholder', $.i18n.t('general.commit_msg')) + @$el.find('.commit-message input').attr('placeholder', $.i18n.t('general.commit_msg')) onClickSaveButton: -> Backbone.Mediator.publish 'save-new-version', { diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index a19487191..1caa693f1 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -39,7 +39,6 @@ LevelHandler = class LevelHandler extends Handler return @getLeaderboardGPlusFriends(req, res, args[0]) if args[1] is 'leaderboard_gplus_friends' return @getHistogramData(req, res, args[0]) if args[1] is 'histogram_data' return @checkExistence(req, res, args[0]) if args[1] is 'exists' - return @sendNotFoundError(res) super(arguments...) fetchLevelByIDAndHandleErrors: (id, req, res, callback) -> From 30f785f7cfaa93f7b4a64480f8f61f77d3ba5932 Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Sat, 12 Apr 2014 10:51:02 -0700 Subject: [PATCH 69/79] Moved the model schemas into a models folder. --- app/models/CocoModel.coffee | 26 ++++--------------- app/models/SuperModel.coffee | 8 ------ .../article.coffee} | 2 +- .../level.coffee} | 4 +-- .../level_component.coffee} | 4 +-- .../level_feedback.coffee} | 2 +- .../level_session.coffee} | 2 +- .../level_system.coffee} | 4 +-- .../patch.coffee} | 2 +- .../thang_component.coffee} | 2 +- .../thang_type.coffee} | 4 +-- .../user.coffee} | 2 +- app/views/account/job_profile_view.coffee | 7 +---- app/views/account/settings_view.coffee | 6 +---- app/views/editor/article/edit.coffee | 10 ++----- app/views/editor/components/main.coffee | 5 +--- app/views/editor/thang/edit.coffee | 3 +-- server/articles/article_handler.coffee | 2 +- server/commons/mapping.coffee | 15 ----------- server/levels/Level.coffee | 2 +- .../levels/components/LevelComponent.coffee | 2 +- .../components/level_component_handler.coffee | 2 +- server/levels/feedbacks/LevelFeedback.coffee | 2 +- .../feedbacks/level_feedback_handler.coffee | 2 +- server/levels/level_handler.coffee | 2 +- server/levels/sessions/LevelSession.coffee | 2 +- .../sessions/level_session_handler.coffee | 2 +- server/levels/systems/LevelSystem.coffee | 2 +- .../systems/level_system_handler.coffee | 2 +- .../levels/thangs/thang_type_handler.coffee | 2 +- server/patches/patch_handler.coffee | 4 +-- server/routes/db.coffee | 3 +-- server/users/User.coffee | 2 +- server/users/user_handler.coffee | 2 +- test/server/functional/article.spec.coffee | 1 + 35 files changed, 43 insertions(+), 101 deletions(-) rename app/schemas/{article_schema.coffee => models/article.coffee} (94%) rename app/schemas/{level_schema.coffee => models/level.coffee} (99%) rename app/schemas/{level_component_schema.coffee => models/level_component.coffee} (98%) rename app/schemas/{level_feedback_schema.coffee => models/level_feedback.coffee} (96%) rename app/schemas/{level_session_schema.coffee => models/level_session.coffee} (99%) rename app/schemas/{level_system_schema.coffee => models/level_system.coffee} (98%) rename app/schemas/{patch_schema.coffee => models/patch.coffee} (97%) rename app/schemas/{thang_component_schema.coffee => models/thang_component.coffee} (96%) rename app/schemas/{thang_type_schema.coffee => models/thang_type.coffee} (98%) rename app/schemas/{user_schema.coffee => models/user.coffee} (99%) diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index bb2fc0547..e63e1cd0a 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -11,14 +11,11 @@ class CocoModel extends Backbone.Model initialize: -> super() - @constructor.schema ?= @urlRoot[4..].replace '.', '_' + @constructor.schema ?= require "schemas/models/#{@urlRoot[4..].replace '.', '_'}" if not @constructor.className console.error("#{@} needs a className set.") @markToRevert() - if @constructor.schema?.loaded - @addSchemaDefaults() - else - @loadSchema() + @addSchemaDefaults() @once 'sync', @onLoaded, @ @saveBackup = _.debounce(@saveBackup, 500) @@ -34,9 +31,8 @@ class CocoModel extends Backbone.Model onLoaded: -> @loaded = true @loading = false - if @constructor.schema?.loaded - @markToRevert() - @loadFromBackup() + @markToRevert() + @loadFromBackup() set: -> res = super(arguments...) @@ -55,18 +51,6 @@ class CocoModel extends Backbone.Model CocoModel.backedUp[@id] = @ @backedUp = {} - - loadSchema: -> - return if @constructor.schema.loading - @constructor.schema = require 'schemas/' + @constructor.schema + '_schema' unless @constructor.schema.loaded - @onConstructorSync() - - onConstructorSync: -> - @constructor.schema.loaded = true - @addSchemaDefaults() - @trigger 'schema-loaded' - - @hasSchema: -> return @schema?.loaded schema: -> return @constructor.schema validate: -> @@ -129,7 +113,7 @@ class CocoModel extends Backbone.Model @set "permissions", (@get("permissions") or []).concat({access: 'read', target: 'public'}) addSchemaDefaults: -> - return if @addedSchemaDefaults or not @constructor.hasSchema() + return if @addedSchemaDefaults @addedSchemaDefaults = true for prop, defaultValue of @constructor.schema.default or {} continue if @get(prop)? diff --git a/app/models/SuperModel.coffee b/app/models/SuperModel.coffee index adcac62eb..6963392a2 100644 --- a/app/models/SuperModel.coffee +++ b/app/models/SuperModel.coffee @@ -2,7 +2,6 @@ class SuperModel constructor: -> @models = {} @collections = {} - @schemas = {} _.extend(@, Backbone.Events) populateModel: (model) -> @@ -26,11 +25,7 @@ class SuperModel @removeEventsFromModel(model) modelLoaded: (model) -> - model.loadSchema() schema = model.schema() - unless schema.loaded - @schemas[model.urlRoot] = schema - return schema.once('sync', => @modelLoaded(model)) refs = model.getReferencedModels(model.attributes, schema, '/', @shouldLoadProjection) refs = [] unless @mustPopulate is model or @shouldPopulate(model) # console.log 'Loaded', model.get('name') @@ -103,9 +98,6 @@ class SuperModel for model in _.values @models total += 1 loaded += 1 if model.loaded - for schema in _.values @schemas - total += 1 - loaded += 1 if schema.loaded return 1.0 unless total return loaded / total diff --git a/app/schemas/article_schema.coffee b/app/schemas/models/article.coffee similarity index 94% rename from app/schemas/article_schema.coffee rename to app/schemas/models/article.coffee index 0274f92a6..60f65640f 100644 --- a/app/schemas/article_schema.coffee +++ b/app/schemas/models/article.coffee @@ -1,4 +1,4 @@ -c = require './schemas' +c = require './../schemas' ArticleSchema = c.object() c.extendNamedProperties ArticleSchema # name first diff --git a/app/schemas/level_schema.coffee b/app/schemas/models/level.coffee similarity index 99% rename from app/schemas/level_schema.coffee rename to app/schemas/models/level.coffee index 919b44c44..7180c6a67 100644 --- a/app/schemas/level_schema.coffee +++ b/app/schemas/models/level.coffee @@ -1,5 +1,5 @@ -c = require './schemas' -ThangComponentSchema = require './thang_component_schema' +c = require './../schemas' +ThangComponentSchema = require './../models/thang_component' SpecificArticleSchema = c.object() c.extendNamedProperties SpecificArticleSchema # name first diff --git a/app/schemas/level_component_schema.coffee b/app/schemas/models/level_component.coffee similarity index 98% rename from app/schemas/level_component_schema.coffee rename to app/schemas/models/level_component.coffee index 3178eb916..8552979ee 100644 --- a/app/schemas/level_component_schema.coffee +++ b/app/schemas/models/level_component.coffee @@ -1,5 +1,5 @@ -c = require './schemas' -metaschema = require './metaschema' +c = require './../schemas' +metaschema = require './../metaschema' attackSelfCode = """ class AttacksSelf extends Component diff --git a/app/schemas/level_feedback_schema.coffee b/app/schemas/models/level_feedback.coffee similarity index 96% rename from app/schemas/level_feedback_schema.coffee rename to app/schemas/models/level_feedback.coffee index 201beb468..f8bb6a73c 100644 --- a/app/schemas/level_feedback_schema.coffee +++ b/app/schemas/models/level_feedback.coffee @@ -1,4 +1,4 @@ -c = require './schemas' +c = require './../schemas' LevelFeedbackLevelSchema = c.object {required: ['original', 'majorVersion']}, { original: c.objectId({}) diff --git a/app/schemas/level_session_schema.coffee b/app/schemas/models/level_session.coffee similarity index 99% rename from app/schemas/level_session_schema.coffee rename to app/schemas/models/level_session.coffee index 4244c4771..670dc9ad4 100644 --- a/app/schemas/level_session_schema.coffee +++ b/app/schemas/models/level_session.coffee @@ -1,4 +1,4 @@ -c = require './schemas' +c = require './../schemas' LevelSessionPlayerSchema = c.object id: c.objectId diff --git a/app/schemas/level_system_schema.coffee b/app/schemas/models/level_system.coffee similarity index 98% rename from app/schemas/level_system_schema.coffee rename to app/schemas/models/level_system.coffee index 9b186aaac..1804de363 100644 --- a/app/schemas/level_system_schema.coffee +++ b/app/schemas/models/level_system.coffee @@ -1,5 +1,5 @@ -c = require './schemas' -metaschema = require './metaschema' +c = require './../schemas' +metaschema = require './../metaschema' jitterSystemCode = """ class Jitter extends System diff --git a/app/schemas/patch_schema.coffee b/app/schemas/models/patch.coffee similarity index 97% rename from app/schemas/patch_schema.coffee rename to app/schemas/models/patch.coffee index 5c2ce122e..e14423371 100644 --- a/app/schemas/patch_schema.coffee +++ b/app/schemas/models/patch.coffee @@ -1,4 +1,4 @@ -c = require './schemas' +c = require './../schemas' patchables = ['level', 'thang_type', 'level_system', 'level_component', 'article'] diff --git a/app/schemas/thang_component_schema.coffee b/app/schemas/models/thang_component.coffee similarity index 96% rename from app/schemas/thang_component_schema.coffee rename to app/schemas/models/thang_component.coffee index b6d574fdc..eebcf155b 100644 --- a/app/schemas/thang_component_schema.coffee +++ b/app/schemas/models/thang_component.coffee @@ -1,4 +1,4 @@ -c = require './schemas' +c = require './../schemas' module.exports = ThangComponentSchema = c.object { title: "Component" diff --git a/app/schemas/thang_type_schema.coffee b/app/schemas/models/thang_type.coffee similarity index 98% rename from app/schemas/thang_type_schema.coffee rename to app/schemas/models/thang_type.coffee index 1e6bc2ee5..eb78c1c11 100644 --- a/app/schemas/thang_type_schema.coffee +++ b/app/schemas/models/thang_type.coffee @@ -1,5 +1,5 @@ -c = require './schemas' -ThangComponentSchema = require './thang_component_schema' +c = require './../schemas' +ThangComponentSchema = require './thang_component' ThangTypeSchema = c.object() c.extendNamedProperties ThangTypeSchema # name first diff --git a/app/schemas/user_schema.coffee b/app/schemas/models/user.coffee similarity index 99% rename from app/schemas/user_schema.coffee rename to app/schemas/models/user.coffee index a386051f3..6bb3939e6 100644 --- a/app/schemas/user_schema.coffee +++ b/app/schemas/models/user.coffee @@ -1,4 +1,4 @@ -c = require './schemas' +c = require './../schemas' emailSubscriptions = ['announcement', 'tester', 'level_creator', 'developer', 'article_editor', 'translator', 'support', 'notification'] UserSchema = c.object {}, diff --git a/app/views/account/job_profile_view.coffee b/app/views/account/job_profile_view.coffee index d14fc2f79..940d52ffe 100644 --- a/app/views/account/job_profile_view.coffee +++ b/app/views/account/job_profile_view.coffee @@ -14,12 +14,6 @@ module.exports = class JobProfileView extends CocoView 'updated' ] - constructor: (options) -> - super options - unless me.schema().loaded - @addSomethingToLoad("user_schema") - @listenToOnce me, 'schema-loaded', => @somethingLoaded 'user_schema' - afterRender: -> super() return if @loading() @@ -29,6 +23,7 @@ module.exports = class JobProfileView extends CocoView visibleSettings = @editableSettings.concat @readOnlySettings data = _.pick (me.get('jobProfile') ? {}), (value, key) => key in visibleSettings data.name ?= (me.get('firstName') + ' ' + me.get('lastName')).trim() if me.get('firstName') + console.log 'schema?', me.schema() schema = _.cloneDeep me.schema().properties.jobProfile schema.properties = _.pick schema.properties, (value, key) => key in visibleSettings schema.required = _.intersection schema.required, visibleSettings diff --git a/app/views/account/settings_view.coffee b/app/views/account/settings_view.coffee index e74db5f65..0665a7c9c 100644 --- a/app/views/account/settings_view.coffee +++ b/app/views/account/settings_view.coffee @@ -43,11 +43,7 @@ module.exports = class SettingsView extends View @jobProfileView = new JobProfileView() @listenTo @jobProfileView, 'change', @save @insertSubView @jobProfileView - - if me.schema().loaded - @buildPictureTreema() - else - @listenToOnce me, 'schema-loaded', @buildPictureTreema + @buildPictureTreema() chooseTab: (category) -> id = "##{category}-pane" diff --git a/app/views/editor/article/edit.coffee b/app/views/editor/article/edit.coffee index 31acafbca..0123546e0 100644 --- a/app/views/editor/article/edit.coffee +++ b/app/views/editor/article/edit.coffee @@ -35,17 +35,11 @@ module.exports = class ArticleEditView extends View ) @article.fetch() - @article.loadSchema() - @listenToOnce(@article, 'sync', @onArticleSync) - @listenToOnce(@article, 'schema-loaded', @buildTreema) + @listenToOnce(@article, 'sync', @buildTreema) @pushChangesToPreview = _.throttle(@pushChangesToPreview, 500) - onArticleSync: -> - @article.loaded = true - @buildTreema() - buildTreema: -> - return if @treema? or (not @article.loaded) or (not Article.hasSchema()) + return if @treema? or (not @article.loaded) unless @article.attributes.body @article.set('body', '') @startsLoading = false diff --git a/app/views/editor/components/main.coffee b/app/views/editor/components/main.coffee index 2c39b6086..0104aa5d9 100644 --- a/app/views/editor/components/main.coffee +++ b/app/views/editor/components/main.coffee @@ -20,9 +20,6 @@ module.exports = class ThangComponentEditView extends CocoView render: => return if @destroyed - for model in [Level, LevelComponent] - temp = new model() - @listenToOnce temp, 'schema-loaded', @render unless model.schema?.loaded if not @componentCollection @componentCollection = @supermodel.getCollection new ComponentsCollection() unless @componentCollection.loaded @@ -32,7 +29,7 @@ module.exports = class ThangComponentEditView extends CocoView afterRender: -> super() - return @showLoading() unless @componentCollection?.loaded and Level.schema.loaded and LevelComponent.schema.loaded + return @showLoading() unless @componentCollection?.loaded @hideLoading() @buildExtantComponentTreema() @buildAddComponentTreema() diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee index 7c3500fad..c5b08d7c0 100644 --- a/app/views/editor/thang/edit.coffee +++ b/app/views/editor/thang/edit.coffee @@ -61,12 +61,11 @@ module.exports = class ThangTypeEditView extends View ) @thangType.fetch() - @thangType.loadSchema() @listenToOnce(@thangType, 'sync', @onThangTypeSync) @refreshAnimation = _.debounce @refreshAnimation, 500 onThangTypeSync: -> - return unless @thangType.loaded and ThangType.hasSchema() + return unless @thangType.loaded @startsLoading = false @files = new DocumentFiles(@thangType) @files.fetch() diff --git a/server/articles/article_handler.coffee b/server/articles/article_handler.coffee index 1d9e90436..8aa2d26dc 100644 --- a/server/articles/article_handler.coffee +++ b/server/articles/article_handler.coffee @@ -4,7 +4,7 @@ Handler = require('../commons/Handler') ArticleHandler = class ArticleHandler extends Handler modelClass: Article editableProperties: ['body', 'name', 'i18n'] - jsonSchema: require './article_schema' + jsonSchema: require '../../app/schemas/models/article' hasAccess: (req) -> req.method is 'GET' or req.user?.isAdmin() diff --git a/server/commons/mapping.coffee b/server/commons/mapping.coffee index d7400c951..3cfcc2164 100644 --- a/server/commons/mapping.coffee +++ b/server/commons/mapping.coffee @@ -10,21 +10,6 @@ module.exports.handlers = 'thang_type': 'levels/thangs/thang_type_handler' 'user': 'users/user_handler' -module.exports.schemas = - 'article': 'articles/article_schema' - 'common': 'commons/schemas' - 'i18n': 'commons/i18n_schema' - 'level': 'levels/level_schema' - 'level_component': 'levels/components/level_component_schema' - 'level_feedback': 'levels/feedbacks/level_feedback_schema' - 'level_session': 'levels/sessions/level_session_schema' - 'level_system': 'levels/systems/level_system_schema' - 'metaschema': 'commons/metaschema' - 'patch': 'patches/patch_schema' - 'thang_component': 'levels/thangs/thang_component_schema' - 'thang_type': 'levels/thangs/thang_type_schema' - 'user': 'users/user_schema' - module.exports.routes = [ 'routes/auth' diff --git a/server/levels/Level.coffee b/server/levels/Level.coffee index 83e8d678b..9cadeac7b 100644 --- a/server/levels/Level.coffee +++ b/server/levels/Level.coffee @@ -1,6 +1,6 @@ mongoose = require('mongoose') plugins = require('../plugins/plugins') -jsonschema = require('../../app/schemas/level_schema') +jsonschema = require('../../app/schemas/models/level') LevelSchema = new mongoose.Schema({ description: String diff --git a/server/levels/components/LevelComponent.coffee b/server/levels/components/LevelComponent.coffee index 5f00f261c..6c1a58370 100644 --- a/server/levels/components/LevelComponent.coffee +++ b/server/levels/components/LevelComponent.coffee @@ -1,6 +1,6 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('../../../app/schemas/level_component_schema') +jsonschema = require('../../../app/schemas/models/level_component') LevelComponentSchema = new mongoose.Schema { description: String diff --git a/server/levels/components/level_component_handler.coffee b/server/levels/components/level_component_handler.coffee index e2b7a2ba8..3bcc572d0 100644 --- a/server/levels/components/level_component_handler.coffee +++ b/server/levels/components/level_component_handler.coffee @@ -3,7 +3,7 @@ Handler = require('../../commons/Handler') LevelComponentHandler = class LevelComponentHandler extends Handler modelClass: LevelComponent - jsonSchema: require '../../../app/schemas/level_component_schema' + jsonSchema: require '../../../app/schemas/models/level_component' editableProperties: [ 'system' 'description' diff --git a/server/levels/feedbacks/LevelFeedback.coffee b/server/levels/feedbacks/LevelFeedback.coffee index 234caf367..5fef6a567 100644 --- a/server/levels/feedbacks/LevelFeedback.coffee +++ b/server/levels/feedbacks/LevelFeedback.coffee @@ -2,7 +2,7 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('../../../app/schemas/level_feedback_schema') +jsonschema = require('../../../app/schemas/models/level_feedback') LevelFeedbackSchema = new mongoose.Schema({ created: diff --git a/server/levels/feedbacks/level_feedback_handler.coffee b/server/levels/feedbacks/level_feedback_handler.coffee index cd4ffda26..58d268db1 100644 --- a/server/levels/feedbacks/level_feedback_handler.coffee +++ b/server/levels/feedbacks/level_feedback_handler.coffee @@ -4,7 +4,7 @@ Handler = require('../../commons/Handler') class LevelFeedbackHandler extends Handler modelClass: LevelFeedback editableProperties: ['rating', 'review', 'level', 'levelID', 'levelName'] - jsonSchema: require '../../../app/schemas/level_feedback_schema' + jsonSchema: require '../../../app/schemas/models/level_feedback' makeNewInstance: (req) -> feedback = super(req) diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index 9a9a8aafd..f0c6d225b 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -8,7 +8,7 @@ mongoose = require('mongoose') LevelHandler = class LevelHandler extends Handler modelClass: Level - jsonSchema: require '../../app/schemas/level_schema' + jsonSchema: require '../../app/schemas/models/level' editableProperties: [ 'description' 'documentation' diff --git a/server/levels/sessions/LevelSession.coffee b/server/levels/sessions/LevelSession.coffee index d91b7241c..c30519ba0 100644 --- a/server/levels/sessions/LevelSession.coffee +++ b/server/levels/sessions/LevelSession.coffee @@ -2,7 +2,7 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('../../../app/schemas/level_session_schema') +jsonschema = require('../../../app/schemas/models/level_session') LevelSessionSchema = new mongoose.Schema({ created: diff --git a/server/levels/sessions/level_session_handler.coffee b/server/levels/sessions/level_session_handler.coffee index 25131833d..5771711f2 100644 --- a/server/levels/sessions/level_session_handler.coffee +++ b/server/levels/sessions/level_session_handler.coffee @@ -9,7 +9,7 @@ class LevelSessionHandler extends Handler editableProperties: ['multiplayer', 'players', 'code', 'completed', 'state', 'levelName', 'creatorName', 'levelID', 'screenshot', 'chat', 'teamSpells', 'submitted', 'unsubscribed'] - jsonSchema: require '../../../app/schemas/level_session_schema' + jsonSchema: require '../../../app/schemas/models/level_session' getByRelationship: (req, res, args...) -> return @getActiveSessions req, res if args.length is 2 and args[1] is 'active' diff --git a/server/levels/systems/LevelSystem.coffee b/server/levels/systems/LevelSystem.coffee index 730b338ad..f945aaa95 100644 --- a/server/levels/systems/LevelSystem.coffee +++ b/server/levels/systems/LevelSystem.coffee @@ -1,6 +1,6 @@ mongoose = require('mongoose') plugins = require('../../plugins/plugins') -jsonschema = require('../../../app/schemas/level_system_schema') +jsonschema = require('../../../app/schemas/models/level_system') LevelSystemSchema = new mongoose.Schema { description: String diff --git a/server/levels/systems/level_system_handler.coffee b/server/levels/systems/level_system_handler.coffee index c3fd0a366..bf1bb39d5 100644 --- a/server/levels/systems/level_system_handler.coffee +++ b/server/levels/systems/level_system_handler.coffee @@ -13,7 +13,7 @@ LevelSystemHandler = class LevelSystemHandler extends Handler 'configSchema' ] postEditableProperties: ['name'] - jsonSchema: require '../../../app/schemas/level_system_schema' + jsonSchema: require '../../../app/schemas/models/level_system' getEditableProperties: (req, document) -> props = super(req, document) diff --git a/server/levels/thangs/thang_type_handler.coffee b/server/levels/thangs/thang_type_handler.coffee index 851d2ccf6..abdecd529 100644 --- a/server/levels/thangs/thang_type_handler.coffee +++ b/server/levels/thangs/thang_type_handler.coffee @@ -3,7 +3,7 @@ Handler = require('../../commons/Handler') ThangTypeHandler = class ThangTypeHandler extends Handler modelClass: ThangType - jsonSchema: require '../../../app/schemas/thang_type_schema' + jsonSchema: require '../../../app/schemas/models/thang_type' editableProperties: [ 'name', 'raw', diff --git a/server/patches/patch_handler.coffee b/server/patches/patch_handler.coffee index 33b729e22..12a68ed9a 100644 --- a/server/patches/patch_handler.coffee +++ b/server/patches/patch_handler.coffee @@ -1,6 +1,6 @@ Patch = require('./Patch') Handler = require('../commons/Handler') -schema = require '../../app/schemas/patch_schema' +schema = require '../../app/schemas/models/patch' {handlers} = require '../commons/mapping' mongoose = require('mongoose') @@ -8,7 +8,7 @@ PatchHandler = class PatchHandler extends Handler modelClass: Patch editableProperties: [] postEditableProperties: ['delta', 'target', 'commitMessage'] - jsonSchema: require '../../app/schemas/patch_schema' + jsonSchema: require '../../app/schemas/models/patch' makeNewInstance: (req) -> patch = super(req) diff --git a/server/routes/db.coffee b/server/routes/db.coffee index 072b0ea8d..beb120573 100644 --- a/server/routes/db.coffee +++ b/server/routes/db.coffee @@ -1,7 +1,6 @@ log = require 'winston' errors = require '../commons/errors' handlers = require('../commons/mapping').handlers -schemas = require('../commons/mapping').schemas mongoose = require 'mongoose' module.exports.setup = (app) -> @@ -48,7 +47,7 @@ module.exports.setup = (app) -> getSchema = (req, res, moduleName) -> try name = moduleName.replace '.', '_' - schema = require('../../app/schemas/' + name + '_schema') + schema = require('../../app/schemas/models/' + name) res.send(JSON.stringify(schema, null, '\t')) res.end() diff --git a/server/users/User.coffee b/server/users/User.coffee index fd9b81969..0d3c42a92 100644 --- a/server/users/User.coffee +++ b/server/users/User.coffee @@ -1,5 +1,5 @@ mongoose = require('mongoose') -jsonschema = require('../../app/schemas/user_schema') +jsonschema = require('../../app/schemas/models/user') crypto = require('crypto') {salt, isProduction} = require('../../server_config') mail = require '../commons/mail' diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index eb26ff7e5..9023e3d94 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -1,4 +1,4 @@ -schema = require '../../app/schemas/user_schema' +schema = require '../../app/schemas/models/user' crypto = require 'crypto' request = require 'request' User = require './User' diff --git a/test/server/functional/article.spec.coffee b/test/server/functional/article.spec.coffee index 377907180..c48b6783b 100644 --- a/test/server/functional/article.spec.coffee +++ b/test/server/functional/article.spec.coffee @@ -33,6 +33,7 @@ describe '/db/article', -> new_article = _.clone(articles[0]) new_article.body = '...' request.post {uri:url, json:new_article}, (err, res, body) -> + console.log 'new article?', body expect(res.statusCode).toBe(200) expect(body.version.major).toBe(0) expect(body.version.minor).toBe(1) From 94e75b852c5603ffdad98b6910f12b548d10d96d Mon Sep 17 00:00:00 2001 From: Scott Erickson <sderickson@gmail.com> Date: Sat, 12 Apr 2014 10:51:31 -0700 Subject: [PATCH 70/79] Removed a log. --- test/server/functional/article.spec.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/test/server/functional/article.spec.coffee b/test/server/functional/article.spec.coffee index c48b6783b..377907180 100644 --- a/test/server/functional/article.spec.coffee +++ b/test/server/functional/article.spec.coffee @@ -33,7 +33,6 @@ describe '/db/article', -> new_article = _.clone(articles[0]) new_article.body = '...' request.post {uri:url, json:new_article}, (err, res, body) -> - console.log 'new article?', body expect(res.statusCode).toBe(200) expect(body.version.major).toBe(0) expect(body.version.minor).toBe(1) From b95d7d4cb44df45e58440d76471f0b8ffdd2cc00 Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 20:18:55 +0200 Subject: [PATCH 71/79] Fixed grammar error in files --- .../{localisation => localization}/de.coco | 0 .../{localisation => localization}/en.coco | 0 .../languages.coco | 0 .../{localisation => localization}/nl.coco | 0 .../{localisation => localization}/ru.coco | 0 .../zh-HANS.coco | 0 .../zh-HANT.coco | 0 .../batch/scripts/get_language.bat | 22 +++++++++---------- .../coco-dev-setup/batch/scripts/get_text.bat | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/de.coco (100%) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/en.coco (100%) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/languages.coco (100%) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/nl.coco (100%) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/ru.coco (100%) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/zh-HANS.coco (100%) rename scripts/windows/coco-dev-setup/batch/{localisation => localization}/zh-HANT.coco (100%) diff --git a/scripts/windows/coco-dev-setup/batch/localisation/de.coco b/scripts/windows/coco-dev-setup/batch/localization/de.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/de.coco rename to scripts/windows/coco-dev-setup/batch/localization/de.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en.coco b/scripts/windows/coco-dev-setup/batch/localization/en.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/en.coco rename to scripts/windows/coco-dev-setup/batch/localization/en.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/languages.coco b/scripts/windows/coco-dev-setup/batch/localization/languages.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/languages.coco rename to scripts/windows/coco-dev-setup/batch/localization/languages.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl.coco b/scripts/windows/coco-dev-setup/batch/localization/nl.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/nl.coco rename to scripts/windows/coco-dev-setup/batch/localization/nl.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/ru.coco b/scripts/windows/coco-dev-setup/batch/localization/ru.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/ru.coco rename to scripts/windows/coco-dev-setup/batch/localization/ru.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco b/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/zh-HANS.coco rename to scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco diff --git a/scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco b/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco similarity index 100% rename from scripts/windows/coco-dev-setup/batch/localisation/zh-HANT.coco rename to scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat index 96da622e9..70c36f5fe 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_language.bat @@ -3,28 +3,28 @@ echo but most feedback is sent and localised by us. echo Here is a list of languages: call print_dashed_seperator -call get_array ..\\localisation\\languages.coco languages language_count +call get_array ..\\localization\\languages.coco languages language_count for /l %%i in (1,1,%language_count%) do ( call get_text !languages[%%i]! global_description global description echo [%%i] !global_description! ) -goto:get_localisation_id +goto:get_localization_id -:get_localisation_id +:get_localization_id call print_dashed_seperator - set /p "localisation_id=Enter the language ID of your preference and press <ENTER>: " + set /p "localization_id=Enter the language ID of your preference and press <ENTER>: " goto:validation_check :validation_check - set "localisation_is_false=" - set /a local_id = %localisation_id% - if !local_id! EQU 0 set localisation_is_false=1 - if !local_id! LSS 1 set localisation_is_false=1 - if !local_id! GTR !language_count! set localisation_is_false=1 - if defined localisation_is_false ( + set "localization_is_false=" + set /a local_id = %localization_id% + if !local_id! EQU 0 set localization_is_false=1 + if !local_id! LSS 1 set localization_is_false=1 + if !local_id! GTR !language_count! set localization_is_false=1 + if defined localization_is_false ( echo The id you entered is invalid, please try again... - goto:get_localisation_id + goto:get_localization_id ) else ( set language_id=!languages[%local_id%]! call print_dashed_seperator diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat index aacdf94f2..178f81a50 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_text.bat @@ -1,3 +1,3 @@ -for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\localisation\\%1.coco %3 %4 %5 %6') do ( +for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\localization\\%1.coco %3 %4 %5 %6') do ( set "%2=%%F" ) \ No newline at end of file From 5c7a255e98739f5dc8a38a42f0afb9f8bdd66fbc Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 20:34:06 +0200 Subject: [PATCH 72/79] License agreement and feedback for that is now also localized --- .../coco-dev-setup/batch/localization/de.coco | 7 ++++++ .../coco-dev-setup/batch/localization/en.coco | 7 ++++++ .../coco-dev-setup/batch/localization/nl.coco | 7 ++++++ .../coco-dev-setup/batch/localization/ru.coco | 7 ++++++ .../batch/localization/zh-HANS.coco | 7 ++++++ .../batch/localization/zh-HANT.coco | 7 ++++++ .../batch/scripts/print_license.bat | 2 +- .../batch/scripts/print_localized_file.bat | 2 -- .../batch/scripts/sign_license.bat | 22 ++++++++++++++----- 9 files changed, 60 insertions(+), 8 deletions(-) diff --git a/scripts/windows/coco-dev-setup/batch/localization/de.coco b/scripts/windows/coco-dev-setup/batch/localization/de.coco index fb8f1fce6..1630f8d53 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/de.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/de.coco @@ -9,6 +9,13 @@ <choosen>You have choosen Deutsch as your language.</choosen> <feedback>Ab jetzt senden wir unser Feedback in Deutsch.</feedback> </language> + <license> + <s1>In order to continue the installation of the developers environment</s1> + <s2>you will have to read and agree with the following license:</s2> + <q1>Have you read the license and do you agree with it?</q1> + <a1>This setup can't happen without an agreement.</a1> + <a2>Installation and Setup of the CodeCombat environment is cancelled.</a2> + </license> <install> <system> <bit>-Bit System erkannt.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localization/en.coco b/scripts/windows/coco-dev-setup/batch/localization/en.coco index d763e34a5..fdfcefc99 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/en.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/en.coco @@ -9,6 +9,13 @@ <choosen>You have choosen English as your language.</choosen> <feedback>From now on we'll send our feedback in English.</feedback> </language> + <license> + <s1>In order to continue the installation of the developers environment</s1> + <s2>you will have to read and agree with the following license:</s2> + <q1>Have you read the license and do you agree with it?</q1> + <a1>This setup can't happen without an agreement.</a1> + <a2>Installation and Setup of the CodeCombat environment is cancelled.</a2> + </license> <install> <system> <bit>-bit computer detected.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localization/nl.coco b/scripts/windows/coco-dev-setup/batch/localization/nl.coco index 971caf048..70af88eb0 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/nl.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/nl.coco @@ -9,6 +9,13 @@ <choosen>Je hebt Nederlands gekozen als jouw taal naar keuze.</choosen> <feedback>Vanaf nu geven we onze feedback in het Nederlands.</feedback> </language> + <license> + <s1>Om verder te gaan met de installatie van jouw CodeCombat omgeving</s1> + <s2>moet je de licentieovereenkomst lezen en ermee akkoord gaan.</s2> + <q1>Heb je de licentieovereenkomst gelezen en ga je ermee akkoord?</q1> + <a1>Deze installatie kan niet doorgaan zonder jouw akkoord.</a1> + <a2>De installatie van jouw Developers omgeving is nu geannulleerd.</a2> + </license> <install> <system> <bit>-bit computer gedetecteerd.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localization/ru.coco b/scripts/windows/coco-dev-setup/batch/localization/ru.coco index e7fc59f3e..cf3ae6823 100644 --- a/scripts/windows/coco-dev-setup/batch/localization/ru.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/ru.coco @@ -9,6 +9,13 @@ <choosen>You have choosen ������� as your language.</choosen> <feedback>C ������� ������� �� ����� �������� �� �������.</feedback> </language> + <license> + <s1>In order to continue the installation of the developers environment</s1> + <s2>you will have to read and agree with the following license:</s2> + <q1>Have you read the license and do you agree with it?</q1> + <a1>This setup can't happen without an agreement.</a1> + <a2>Installation and Setup of the CodeCombat environment is cancelled.</a2> + </license> <install> <system> <bit>-������ ��������� ���������.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco b/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco index 29f8977e7..5932e75c2 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco @@ -9,6 +9,13 @@ <choosen>You have choosen 简体中文 as your language.</choosen> <feedback>目前我们只能用英文给你反馈</feedback> </language> + <license> + <s1>In order to continue the installation of the developers environment</s1> + <s2>you will have to read and agree with the following license:</s2> + <q1>Have you read the license and do you agree with it?</q1> + <a1>This setup can't happen without an agreement.</a1> + <a2>Installation and Setup of the CodeCombat environment is cancelled.</a2> + </license> <install> <system> <bit>-位系统.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco b/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco index efb024647..03768f3ce 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco @@ -9,6 +9,13 @@ <choosen>You have choosen 繁体中文 as your language.</choosen> <feedback>From now on we'll send our feedback in 繁体中文.</feedback> </language> + <license> + <s1>In order to continue the installation of the developers environment</s1> + <s2>you will have to read and agree with the following license:</s2> + <q1>Have you read the license and do you agree with it?</q1> + <a1>This setup can't happen without an agreement.</a1> + <a2>Installation and Setup of the CodeCombat environment is cancelled.</a2> + </license> <install> <system> <bit>-bit computer detected.</bit> diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat index a208ca559..3acee4bcc 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_license.bat @@ -1 +1 @@ -print_file ..\\config\\license.coco \ No newline at end of file +call print_localized_file ..\\config\\localized\\license \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat index 14c74e7a7..e71fe3364 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_localized_file.bat @@ -1,8 +1,6 @@ set "LFTP=%1-%language_id%.coco" if not exist "%LFTP%" ( - echo printing %1.coco... call print_file %1.coco ) else ( - echo printing %LFTP%... call print_file %LFTP% ) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat b/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat index 139ddfd80..4b0ceecfc 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/sign_license.bat @@ -1,15 +1,27 @@ -echo In order to continue the installation of the developers environment -echo you will have to read and agree with the following license: +call get_local_text license_s1 license s1 +echo !license_s1! + +call get_local_text license_s2 license s2 +echo !license_s2! + call print_dashed_seperator call print_license call print_dashed_seperator -call ask_question "Have you read the license and do you agree with it?" +call get_local_text license_q1 license q1 +call ask_question "%license_q1%" + call print_dashed_seperator if "%result%"=="false" ( - echo This setup can't happen without an agreement. - echo Installation and Setup of the CodeCombat environment is cancelled. + call get_local_text license_a1 license a1 + echo !license_a1! + + call get_local_text license_a2 license a2 + echo !license_a2! + + echo. + call print_exit ) \ No newline at end of file From 8e8b49708bfbf03524ba85acfc11dfaf555bbe1e Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 20:38:26 +0200 Subject: [PATCH 73/79] Readme at end of installation is now also localized --- .../batch/config/localized/license-nl.coco | 10 +++++++ .../batch/config/localized/readme-nl.coco | 29 +++++++++++++++++++ .../scripts/open_localized_text_file.bat | 6 ++++ .../batch/scripts/open_readme.bat | 2 +- 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 scripts/windows/coco-dev-setup/batch/config/localized/license-nl.coco create mode 100755 scripts/windows/coco-dev-setup/batch/config/localized/readme-nl.coco create mode 100755 scripts/windows/coco-dev-setup/batch/scripts/open_localized_text_file.bat diff --git a/scripts/windows/coco-dev-setup/batch/config/localized/license-nl.coco b/scripts/windows/coco-dev-setup/batch/config/localized/license-nl.coco new file mode 100755 index 000000000..9b753bf10 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/localized/license-nl.coco @@ -0,0 +1,10 @@ + +The MIT License (MIT) + +Copyright (c) 2014 CodeCombat Inc. and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN sCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE. diff --git a/scripts/windows/coco-dev-setup/batch/config/localized/readme-nl.coco b/scripts/windows/coco-dev-setup/batch/config/localized/readme-nl.coco new file mode 100755 index 000000000..40665c28c --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/config/localized/readme-nl.coco @@ -0,0 +1,29 @@ + _____ _ _____ _ _ + / __ \ | | / __ \ | | | | + | / \/ ___ __| | ___ | / \/ ___ _ __ ___ | |__ __ _| |_ + | | / _ \ / _` |/ _ \ | | / _ \| '_ ` _ \| '_ \ / _` | __| + | \__/\ (_) | (_| | __/ | \__/\ (_) | | | | | | |_) | (_| | |_ + \____/\___/ \__,_|\___| \____/\___/|_| |_| |_|_.__/ \__,_|\__| + +============================================================================= + +Congratulations, you are now part of the CodeCombat community. +Now that your Develop Environment has been setup, you are ready to start +contributing and help us make this world a better place. + +Do you have questions or would you like to meet us? +Talk with us on hipchat @ https://www.hipchat.com/g3plnOKqa + +Another way to reach is, is by visiting our forum. +You can find it @ http://discourse.codecombat.com/ + +You can read about the latest developments on our blog site. +This one can be found @ http://blog.codecombat.com/ + +Last but not least, you can find most of our documentation +and information on our wiki @ https://github.com/codecombat/codecombat/wiki + +We hope you'll enjoy yourself within our community, just as much as us. + + + - Nick, George, Scott, Michael, Jeremy and Glen diff --git a/scripts/windows/coco-dev-setup/batch/scripts/open_localized_text_file.bat b/scripts/windows/coco-dev-setup/batch/scripts/open_localized_text_file.bat new file mode 100755 index 000000000..bee9f5dd6 --- /dev/null +++ b/scripts/windows/coco-dev-setup/batch/scripts/open_localized_text_file.bat @@ -0,0 +1,6 @@ +set "LFTP=%1-%language_id%.coco" +if not exist "%LFTP%" ( + call open_text_file %1.coco +) else ( + call open_text_file %LFTP% +) \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat b/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat index 484f3dd75..730a3f577 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/open_readme.bat @@ -1 +1 @@ -call open_text_file ..\\config\\readme.coco \ No newline at end of file +call open_localized_text_file ..\\config\\localized\\readme \ No newline at end of file From 74f8a469a59f286442011f643bcc8e37abef5197 Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 20:49:08 +0200 Subject: [PATCH 74/79] Exit script is now also localized --- scripts/windows/coco-dev-setup/batch/localization/de.coco | 1 + scripts/windows/coco-dev-setup/batch/localization/en.coco | 1 + scripts/windows/coco-dev-setup/batch/localization/nl.coco | 1 + scripts/windows/coco-dev-setup/batch/localization/ru.coco | 1 + scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco | 1 + scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco | 1 + scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat | 3 ++- 7 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/windows/coco-dev-setup/batch/localization/de.coco b/scripts/windows/coco-dev-setup/batch/localization/de.coco index 1630f8d53..cb24108fe 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/de.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/de.coco @@ -4,6 +4,7 @@ <native>Deutsch</native> <description>German</description> <tips>Before we start the installation, here are some tips:</tips> + <exit>Press any key to exit...</exit> </global> <language> <choosen>You have choosen Deutsch as your language.</choosen> diff --git a/scripts/windows/coco-dev-setup/batch/localization/en.coco b/scripts/windows/coco-dev-setup/batch/localization/en.coco index fdfcefc99..bef7c9ae6 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/en.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/en.coco @@ -4,6 +4,7 @@ <native>English</native> <description>English</description> <tips>Before we start the installation, here are some tips:</tips> + <exit>Press any key to exit...</exit> </global> <language> <choosen>You have choosen English as your language.</choosen> diff --git a/scripts/windows/coco-dev-setup/batch/localization/nl.coco b/scripts/windows/coco-dev-setup/batch/localization/nl.coco index 70af88eb0..a969efb31 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/nl.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/nl.coco @@ -4,6 +4,7 @@ <native>Nederlands</native> <description>Dutch</description> <tips>Voor we verder gaan met de installatie hier volgen enkele tips:</tips> + <exit>Druk een willekeurige toets in om af te sluiten...</exit> </global> <language> <choosen>Je hebt Nederlands gekozen als jouw taal naar keuze.</choosen> diff --git a/scripts/windows/coco-dev-setup/batch/localization/ru.coco b/scripts/windows/coco-dev-setup/batch/localization/ru.coco index cf3ae6823..150391711 100644 --- a/scripts/windows/coco-dev-setup/batch/localization/ru.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/ru.coco @@ -4,6 +4,7 @@ <native>�������</native> <description>Russian</description> <tips>Before we start the installation, here are some tips:</tips> + <exit>Press any key to exit...</exit> </global> <language> <choosen>You have choosen ������� as your language.</choosen> diff --git a/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco b/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco index 5932e75c2..2d598306d 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/zh-HANS.coco @@ -4,6 +4,7 @@ <native>简体中文</native> <description>Traditional Chinese</description> <tips>Before we start the installation, here are some tips:</tips> + <exit>Press any key to exit...</exit> </global> <language> <choosen>You have choosen 简体中文 as your language.</choosen> diff --git a/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco b/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco index 03768f3ce..d5510b57d 100755 --- a/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco +++ b/scripts/windows/coco-dev-setup/batch/localization/zh-HANT.coco @@ -4,6 +4,7 @@ <native>繁体中文</native> <description>Simplified Chinese</description> <tips>Before we start the installation, here are some tips:</tips> + <exit>Press any key to exit...</exit> </global> <language> <choosen>You have choosen 繁体中文 as your language.</choosen> diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat index 6f1051cc6..afcd9643b 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_exit.bat @@ -1,2 +1,3 @@ -set /p res="Press any key to exit..." +call get_local_text global_exit global exit +set /p res="%global_exit%" exit \ No newline at end of file From 9157a5d3ba909daf5d7548d464fd56fa99bcc819 Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 21:11:12 +0200 Subject: [PATCH 75/79] Seperation of s3 and s4 tag in the installation process. --- .../batch/scripts/download_and_install_applications.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat b/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat index 3c5f798fd..437fc6afa 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/download_and_install_applications.bat @@ -38,6 +38,7 @@ call get_local_text install_process_winpath install process winpath echo !install_process_s1! echo !install_process_s2! echo !install_process_s3! +echo. echo !install_process_s4! echo. echo !install_process_winpath! From 1efa1a54e12f4bebbadf37380c2e8c654d9ebb89 Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 21:15:36 +0200 Subject: [PATCH 76/79] Seperated win7 and win8 to prevent any future awkwardness --- .../windows/coco-dev-setup/batch/config/downloads.coco | 8 ++++++++ .../batch/scripts/get_system_information.bat | 6 ++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/windows/coco-dev-setup/batch/config/downloads.coco b/scripts/windows/coco-dev-setup/batch/config/downloads.coco index 1d57fbb71..f8906cbb4 100755 --- a/scripts/windows/coco-dev-setup/batch/config/downloads.coco +++ b/scripts/windows/coco-dev-setup/batch/config/downloads.coco @@ -18,6 +18,14 @@ <vs10redist>http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe</vs10redist> </general> </general> + <Win8> + <b32> + <mongodb>https://fastdl.mongodb.org/win32/mongodb-win32-i386-2.6.0.zip</mongodb> + </b32> + <b64> + <mongodb>https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.0.zip</mongodb> + </b64> + </Win8> <Win7> <b32> <mongodb>https://fastdl.mongodb.org/win32/mongodb-win32-i386-2.6.0.zip</mongodb> diff --git a/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat b/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat index 908399932..2cf69dfda 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/get_system_information.bat @@ -8,10 +8,8 @@ for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j if "%version%" == "5.2" ( call:set_os XP ) if "%version%" == "6.0" ( call:set_os Vista ) if "%version%" == "6.1" ( call:set_os Win7 ) -:: we handle win8.0 as win7 -if "%version%" == "6.2" ( call:set_os Win7 ) -:: we handle win8.1 as win7 -if "%version%" == "6.3" ( call:set_os Win7 ) +if "%version%" == "6.2" ( call:set_os Win8 ) +if "%version%" == "6.3" ( call:set_os Win8 ) goto:end From 1f3bf9e8aba25f4a202a9590537a46fcfdd69727 Mon Sep 17 00:00:00 2001 From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com> Date: Sat, 12 Apr 2014 21:16:49 +0200 Subject: [PATCH 77/79] Modified seperation scripts to have the correct width --- .../coco-dev-setup/batch/scripts/print_dashed_seperator.bat | 2 +- .../windows/coco-dev-setup/batch/scripts/print_seperator.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat index 727d7e61c..5022e09a7 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_dashed_seperator.bat @@ -1,3 +1,3 @@ echo. -echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - echo. \ No newline at end of file diff --git a/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat b/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat index c68792d46..b77582db3 100755 --- a/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat +++ b/scripts/windows/coco-dev-setup/batch/scripts/print_seperator.bat @@ -1,3 +1,3 @@ echo. -echo ----------------------------------------------------------------------------- +echo ------------------------------------------------------------------------------- echo. \ No newline at end of file From 8349578057a1bbc5d8a63eaaa69cde0d20bb9ef9 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Sat, 12 Apr 2014 12:35:45 -0700 Subject: [PATCH 78/79] Fixed #786. --- app/views/kinds/RootView.coffee | 6 ++---- app/views/play_view.coffee | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/views/kinds/RootView.coffee b/app/views/kinds/RootView.coffee index fd824cd47..7ef3e7221 100644 --- a/app/views/kinds/RootView.coffee +++ b/app/views/kinds/RootView.coffee @@ -41,13 +41,13 @@ module.exports = class RootView extends CocoView hash = location.hash location.hash = '' location.hash = hash - @buildLanguages() @renderScrollbar() #@$('.antiscroll-wrap').antiscroll() # not yet, buggy afterRender: -> super(arguments...) @chooseTab(location.hash.replace('#','')) if location.hash + @buildLanguages() $('body').removeClass('is-playing') chooseTab: (category) -> @@ -58,7 +58,7 @@ module.exports = class RootView extends CocoView buildLanguages: -> $select = @$el.find(".language-dropdown").empty() if $select.hasClass("fancified") - $select.parent().find('.options,.trigger').remove() + $select.parent().find('.options, .trigger').remove() $select.unwrap().removeClass("fancified") preferred = me.lang() codes = _.keys(locale) @@ -76,10 +76,8 @@ module.exports = class RootView extends CocoView $.i18n.setLng(newLang, {}) @saveLanguage(newLang) @render() - @buildLanguages() unless newLang.split('-')[0] is "en" @openModalView(application.router.getView("modal/diplomat_suggestion", "_modal")) - $('body').attr('lang', newLang) saveLanguage: (newLang) -> me.set('preferredLanguage', newLang) diff --git a/app/views/play_view.coffee b/app/views/play_view.coffee index d505cb5e6..349f900c7 100644 --- a/app/views/play_view.coffee +++ b/app/views/play_view.coffee @@ -227,4 +227,3 @@ module.exports = class PlayView extends View super() @$el.find('.modal').on 'shown.bs.modal', -> $('input:visible:first', @).focus() - From 072729acc34123c42250d361955438cfd8c210d7 Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Sat, 12 Apr 2014 13:03:46 -0700 Subject: [PATCH 79/79] Non-admins can save (but not overwrite) file uploads. --- server/routes/file.coffee | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/server/routes/file.coffee b/server/routes/file.coffee index 7a16c3709..f01f635e3 100644 --- a/server/routes/file.coffee +++ b/server/routes/file.coffee @@ -19,7 +19,7 @@ fileGet = (req, res) -> objectId = mongoose.Types.ObjectId(path) query = objectId catch e - path = path.split('/') + path = path.split('/') filename = path[path.length-1] path = path[...path.length-1].join('/') query = @@ -34,7 +34,7 @@ fileGet = (req, res) -> res.setHeader('Content-Type', 'text/json') res.send(results) res.end() - + else Grid.gfs.collection('media').findOne query, (err, filedata) => return errors.notFound(res) if not filedata @@ -42,7 +42,7 @@ fileGet = (req, res) -> if req.headers['if-modified-since'] is filedata.uploadDate res.status(304) return res.end() - + res.setHeader('Content-Type', filedata.contentType) res.setHeader('Last-Modified', filedata.uploadDate) res.setHeader('Cache-Control', 'public') @@ -70,7 +70,7 @@ postFileSchema = required: ['filename', 'mimetype', 'path'] filePost = (req, res) -> - return errors.forbidden(res) unless req.user?.isAdmin() + return errors.forbidden(res) unless req.user options = req.body tv4 = require('tv4').tv4 valid = tv4.validate(options, postFileSchema) @@ -83,7 +83,8 @@ filePost = (req, res) -> saveURL = (req, res) -> options = createPostOptions(req) - checkExistence options, res, req.body.force, (err) -> + force = req.user.isAdmin() and req.body.force + checkExistence options, res, force, (err) -> return errors.serverError(res) if err writestream = Grid.gfs.createWriteStream(options) request(req.body.url).pipe(writestream) @@ -91,7 +92,8 @@ saveURL = (req, res) -> saveFile = (req, res) -> options = createPostOptions(req) - checkExistence options, res, req.body.force, (err) -> + force = req.user.isAdmin() and req.body.force + checkExistence options, res, force, (err) -> return if err writestream = Grid.gfs.createWriteStream(options) f = req.files[req.body.postName] @@ -101,7 +103,8 @@ saveFile = (req, res) -> savePNG = (req, res) -> options = createPostOptions(req) - checkExistence options, res, req.body.force, (err) -> + force = req.user.isAdmin() and req.body.force + checkExistence options, res, force, (err) -> return errors.serverError(res) if err writestream = Grid.gfs.createWriteStream(options) img = new Buffer(req.body.b64png, 'base64') @@ -143,11 +146,11 @@ createPostOptions = (req) -> unless req.body.name name = req.body.filename.split('.')[0] req.body.name = _.str.humanize(name) - + path = req.body.path or '' path = path[1...] if path and path[0] is '/' path = path[...path.length-2] if path and path[path.length-1] is '/' - + options = mode: 'w' filename: req.body.filename @@ -158,6 +161,6 @@ createPostOptions = (req) -> name: req.body.name path: path creator: ''+req.user._id - options.metadata.description = req.body.description if req.body.description? + options.metadata.description = req.body.description if req.body.description? options