From 5ae4eb9b8f2b03baebbb9da1eb2a6bee642c610d Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Mon, 14 Feb 2022 02:56:05 -0800 Subject: [PATCH 01/59] Super messy initial working version. To clean up. --- bookwyrm/static/js/bookwyrm.js | 59 ++++++++++++++++++++ bookwyrm/static/js/vendor/quagga.min.js | 1 + bookwyrm/templates/layout.html | 7 +++ bookwyrm/templates/search/barcode_modal.html | 14 +++++ 4 files changed, 81 insertions(+) create mode 100644 bookwyrm/static/js/vendor/quagga.min.js create mode 100644 bookwyrm/templates/search/barcode_modal.html diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index cf3ce3032..b826a54e2 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -47,6 +47,10 @@ let BookWyrm = new (class { .forEach((node) => node.addEventListener("toggle", this.handleDetailsDropdown.bind(this)) ); + + document + .querySelector("#barcode_scanner_modal") + .addEventListener("open", this.openBarcodeScanner.bind(this)); } /** @@ -427,9 +431,11 @@ let BookWyrm = new (class { }); modalElement.addEventListener("keydown", handleFocusTrap); + modalElement.dispatchEvent(new Event('open')); } function handleModalClose(modalElement) { + modalElement.dispatchEvent(new Event('close')); modalElement.removeEventListener("keydown", handleFocusTrap); htmlElement.classList.remove("is-clipped"); modalElement.classList.remove("is-active"); @@ -632,4 +638,57 @@ let BookWyrm = new (class { } } } + + openBarcodeScanner(event) { + /*function onScanSuccess(decodedText, decodedResult) { + alert(`${decodedText}`, decodedResult); + } + + function onScanFailure(error) { + alert(error); + }*/ + + Quagga.init({ + inputStream : { + name: "Live", + type: "LiveStream", + target: "#barcode_scanner" + }, + decoder : { + readers: [ + "ean_reader", + { + format: "ean_reader", + config: { + supplements: [ "ean_2_reader", "ean_5_reader" ] + } + } + ], + debug: { + drawBoundingBox: true, + drawScanline: true, + showPattern: true, + }, + multiple: false + }, + debug: true + }, function(err) { + if (err) { + console.log(err); + return; + } + + console.log('started'); + Quagga.start(); + }); + + Quagga.onDetected(function(result) { + var code = result.codeResult.code; + + location.href = `search?q=${code}`; + Quagga.stop(); + + console.log(code); + }); + } })(); diff --git a/bookwyrm/static/js/vendor/quagga.min.js b/bookwyrm/static/js/vendor/quagga.min.js new file mode 100644 index 000000000..f7a30f41b --- /dev/null +++ b/bookwyrm/static/js/vendor/quagga.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(e.toString()).default:"object"==typeof exports?exports.Quagga=e(e.toString()).default:t.Quagga=e(e.toString()).default}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=166)}([function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";function r(t,e){return this._row=[],this.config=t||{},this.supplements=e,this}var o=n(3);r.prototype._nextUnset=function(t,e){var n;for(void 0===e&&(e=0),n=e;nn)return Number.MAX_VALUE;u+=c}return u/f},r.prototype._nextSet=function(t,e){var n;for(e=e||0,n=e;n1&&(t[n[r]]=o)},r.prototype._matchTrace=function(t,e){var n,r,o=[],i=this,a=i._nextSet(i._row),u=!i._row[a],c=0,s={error:Number.MAX_VALUE,code:-1,start:0};if(t){for(n=0;n=0;r--)e=Math.floor(Math.random()*r),n=t[r],t[r]=t[e],t[e]=n;return t},toPointList:function(t){var e,n,r=[],o=[];for(e=0;e=e&&o.push(t[r]);return o},maxIndex:function(t){var e,n=0;for(e=0;et[n]&&(n=e);return n},max:function t(e){var n,t=0;for(n=0;nt&&(t=e[n]);return t},sum:function t(e){for(var n=e.length,t=0;n--;)t+=e[n];return t}}},function(t,e,n){"use strict";function r(t,e){t=a()(o(),t),u.a.call(this,t,e)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=Object.assign||function(t){for(var e=1;ea.AVG_CODE_ERROR?null:f}s++,i[s]=1,c=!c}return null},r.prototype._findPattern=function(t,e,n,r,o){var i,a,u,c,s=[],f=this,l=0,d={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e||(e=f._nextSet(f._row)),void 0===n&&(n=!1),void 0===r&&(r=!0),void 0===o&&(o=f.AVG_CODE_ERROR),i=0;i=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start),e=i.CODE_G_START?(t.code=t.code-i.CODE_G_START,a|=1<<5-r):a|=0<<5-r,e.push(t.code),n.push(t)}if(null===(o=i._calculateFirstDigit(a)))return null;if(e.unshift(o),null===(t=i._findPattern(i.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<6;r++){if(!(t=i._decodeCode(t.end,i.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},r.prototype._decode=function(){var t,e,n=this,r=[],o=[],i={};if(!(t=n._findStart()))return null;if(e={code:t.code,start:t.start,end:t.end},o.push(e),!(e=n._decodePayload(e,r,o)))return null;if(!(e=n._findEnd(e.end,!1)))return null;if(o.push(e),!n._checksum(r))return null;if(this.supplements.length>0){var a=this._decodeExtensions(e.end);if(!a)return null;var u=a.decodedCodes[a.decodedCodes.length-1],s={start:u.start+((u.end-u.start)/2|0),end:u.end};if(!n._verifyTrailingWhitespace(s))return null;i={supplement:a,code:r.join("")+a.code}}return c({code:r.join(""),start:t.start,end:e.end,codeset:"",startInfo:t,decodedCodes:o},i)},r.prototype._decodeExtensions=function(t){var e,n,r=this._nextSet(this._row,t),o=this._findPattern(this.EXTENSION_START_PATTERN,r,!1,!1);if(null===o)return null;for(e=0;e=0;e-=2)n+=t[e];for(n*=3,e=t.length-1;e>=0;e-=2)n+=t[e];return n%10==0},r.CONFIG_KEYS={supplements:{type:"arrayOf(string)",default:[],description:"Allowed extensions to be decoded (2 and/or 5)"}},e.a=r},function(t,e,n){var r=n(38),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e){function n(t){return null!=t&&"object"==typeof t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e}t.exports=n},function(t,e,n){function r(t){return null==t?void 0===t?c:u:s&&s in Object(t)?i(t):a(t)}var o=n(11),i=n(119),a=n(146),u="[object Null]",c="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;o-1&&t%1==0&&t0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function o(t,e,n){n||(n=t);for(var r=t.data,o=r.length,i=n.data;o--;)i[o]=r[o]>o]++;return a}function a(t,e){function n(t,e){var n,r=0;for(n=t;n<=e;n++)r+=a[n];return r}function r(t,e){var n,r=0;for(n=t;n<=e;n++)r+=n*a[n];return r}function o(){var o,u,c,s,f,l,d,h=[0],p=(1<c)for(i=s[u],i.score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;ae[r]?r++:n++;return o}function _(t,e){function n(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-d)>Math.abs(t[e-1]-d)?t[e-1]:t[e]),d/nc[f-1]/c[f]?{x:n,y:n}:null}var r,o=p(e.x),i=p(e.y),a=Math.max(e.x,e.y),u=v(o,i),c=[8,10,15,20,32,60,80],s={"x-small":5,small:4,medium:3,large:2,"x-large":1},f=s[t]||s.medium,l=c[f],d=Math.floor(a/l);return r=n(u),r||(r=n(p(a)))||(r=n(p(d*l))),r}function g(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}function y(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce(function(t,e){var o=n[e],i=g(o),a=C[e](i,r);return t[e]=a,t},{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}var m=n(50),x=n(3);e.b=r,e.f=u,e.g=c,e.h=s,e.c=f,e.d=l,e.i=d,e.a=h,e.e=_,e.j=y;var b={clone:n(7)},E={clone:n(83)},C={top:function(t,e){if("%"===t.unit)return Math.floor(e.height*(t.value/100))},right:function(t,e){if("%"===t.unit)return Math.floor(e.width-e.width*(t.value/100))},bottom:function(t,e){if("%"===t.unit)return Math.floor(e.height-e.height*(t.value/100))},left:function(t,e){if("%"===t.unit)return Math.floor(e.width*(t.value/100))}}},function(t,e,n){"use strict";function r(t,e,n,r){e?this.data=e:n?(this.data=new n(t.x*t.y),n===Array&&r&&a.a.init(this.data,0)):(this.data=new Uint8Array(t.x*t.y),Uint8Array===Array&&r&&a.a.init(this.data,0)),this.size=t}var o=n(53),i=n(19),a=n(3),u={clone:n(7)};r.prototype.inImageWithBorder=function(t,e){return t.x>=e&&t.y>=e&&t.x0&&(a=g[r-1],a.m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+m,a.theta=(180*h/m+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=h>m?h-m:h,a.vec=u.clone([Math.cos(h),Math.sin(h)]),y.push(a));return y},r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,c=0;c360)&&(e=360);for(var o=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=[],f=t.getContext("2d"),l=f.getImageData(r.x,r.y,this.size.x,this.size.y),d=l.data,h=this.data.length;h--;)o[0]=this.data[h]*e,s=o[0]<=0?u:o[0]>=360?c:n.i(i.a)(o,a),d[4*h+0]=s[0],d[4*h+1]=s[1],d[4*h+2]=s[2],d[4*h+3]=255;f.putImageData(l,r.x,r.y)},e.a=r},function(t,e,n){function r(t,e,n){"__proto__"==e&&o?o(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var o=n(37);t.exports=r},function(t,e,n){function r(t,e){var n=i(t,e);return o(n)?n:void 0}var o=n(97),i=n(120);t.exports=r},function(t,e,n){function r(t){if("string"==typeof t||o(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}var o=n(27),i=1/0;t.exports=r},function(t,e,n){function r(t){return null!=t&&i(t.length)&&!o(t)}var o=n(25),i=n(26);t.exports=r},function(t,e,n){function r(t){if(!i(t))return!1;var e=o(t);return e==u||e==c||e==a||e==s}var o=n(8),i=n(0),a="[object AsyncFunction]",u="[object Function]",c="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){return"symbol"==typeof t||i(t)&&o(t)==a}var o=n(8),i=n(6),a="[object Symbol]";t.exports=r},function(t,e,n){var r=n(100),o=n(116),i=o(function(t,e,n){r(t,e,n)});t.exports=i},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";var r={searchDirections:[[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[-1,1]],create:function(t,e){function n(t,e,n,r){var o,f,l;for(o=0;o<7;o++){if(f=t.cy+c[t.dir][0],l=t.cx+c[t.dir][1],i=f*s+l,a[i]===e&&(0===u[i]||u[i]===n))return u[i]=n,t.cy=f,t.cx=l,!0;0===u[i]&&(u[i]=r),t.dir=(t.dir+1)%8}return!1}function r(t,e,n){return{dir:n,x:t,y:e,next:null,prev:null}}function o(t,e,o,i,a){var u,c,s,f=null,l={cx:e,cy:t,dir:0};if(n(l,i,o,a)){f=r(e,t,l.dir),u=f,s=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c;do l.dir=(l.dir+6)%8,n(l,i,o,a),s!==l.dir?(u.dir=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c):(u.dir=s,u.x=l.cx,u.y=l.cy),s=l.dir;while(l.cx!==e||l.cy!==t);f.prev=u.prev,u.prev.next=f}return f}var i,a=t.data,u=e.data,c=this.searchDirections,s=t.size.x;return{trace:function(t,e,r,o){return n(t,e,r,o)},contourTracing:function(t,e,n,r,i){return o(t,e,n,r,i)}}}};e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(1),i=n(3),a={ALPHABETH_STRING:{value:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"},ALPHABET:{value:[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,45,46,32,42,36,47,43,37]},CHARACTER_ENCODINGS:{value:[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]},ASTERISK:{value:148},FORMAT:{value:"code_39",writeable:!1}};r.prototype=Object.create(o.a.prototype,a),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o=this,a=[0,0,0,0,0,0,0,0,0],u=[],c=o._findStart();if(!c)return null;r=o._nextSet(o._row,c.end);do{if(a=o._toCounters(r,a),(n=o._toPattern(a))<0)return null;if((t=o._patternToChar(n))<0)return null;u.push(t),e=r,r+=i.a.sum(a),r=o._nextSet(o._row,r)}while("*"!==t);return u.pop(),u.length&&o._verifyTrailingWhitespace(e,r,a)?{code:u.join(""),start:c.start,end:r,startInfo:c,decodedCodes:u}:null},r.prototype._verifyTrailingWhitespace=function(t,e,n){var r=i.a.sum(n);return 3*(e-t-r)>=r},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ee&&(r=t[n]);return r},r.prototype._toPattern=function(t){for(var e,n,r=t.length,o=0,i=r,a=0,u=this;i>3;){for(o=u._findNextWidth(t,o),i=0,e=0,n=0;no&&(e|=1<0;n++)if(t[n]>o&&(i--,2*t[n]>=a))return-1;return e}}return-1},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextSet(r._row),i=o,a=[0,0,0,0,0,0,0,0,0],u=0,c=!1;for(t=o;t0)for(r=0;r0){if(!(t=Y.filter(function(t){return!t.busy})[0]))return;w.attachData(t.imageData)}else w.attachData(S.data);w.grab()&&(t?(t.busy=!0,t.worker.postMessage({cmd:"process",imageData:t.imageData},[t.imageData.buffer])):_())}else _()}function y(){var t=null,e=1e3/($.frequency||60);T=!1,function n(r){t=t||r,T||(r>=t&&(t+=e,g()),window.requestAnimFrame(n))}(performance.now())}function m(){Q&&"LiveStream"===$.inputStream.type?y():g()}function x(t){var e,n={worker:void 0,imageData:new Uint8Array(R.getWidth()*R.getHeight()),busy:!0};e=C(),n.worker=new Worker(e),n.worker.onmessage=function(r){if("initialized"===r.data.event)return URL.revokeObjectURL(e),n.busy=!1,n.imageData=new Uint8Array(r.data.imageData),t(n);"processed"===r.data.event?(n.imageData=new Uint8Array(r.data.imageData),n.busy=!1,v(r.data.result,n.imageData)):r.data.event},n.worker.postMessage({cmd:"init",size:{x:R.getWidth(),y:R.getHeight()},imageData:n.imageData,config:b($)},[n.imageData.buffer])}function b(t){return X({},t,{inputStream:X({},t.inputStream,{target:null})})}function E(t){function e(t){self.postMessage({event:"processed",imageData:o.data,result:t},[o.data.buffer])}function n(){self.postMessage({event:"initialized",imageData:o.data},[o.data.buffer])}if(t){var r=t().default;if(!r)return void self.postMessage({event:"error",message:"Quagga could not be created"})}var o;self.onmessage=function(t){if("init"===t.data.cmd){var i=t.data.config;i.numOfWorkers=0,o=new r.ImageWrapper({x:t.data.size.x,y:t.data.size.y},new Uint8Array(t.data.imageData)),r.init(i,n,o),r.onProcessed(e)}else"process"===t.data.cmd?(o.data=new Uint8Array(t.data.imageData),r.start()):"setReaders"===t.data.cmd&&r.setReaders(t.data.readers)}}function C(){var e,n;return void 0!==t&&(n=t),e=new Blob(["("+E.toString()+")("+n+");"],{type:"text/javascript"}),window.URL.createObjectURL(e)}function O(t){P?P.setReaders(t):Q&&Y.length>0&&Y.forEach(function(e){e.worker.postMessage({cmd:"setReaders",readers:t})})}function A(t,e){var n=t-Y.length;if(0===n)return e&&e();if(n<0){return Y.slice(n).forEach(function(t){t.worker.terminate()}),Y=Y.slice(0,n),e&&e()}for(var r=function(n){Y.push(n),Y.length>=t&&e&&e()},o=0;oe},getPoints:function(){return a},getCenter:function(){return u}}},createPoint:function(t,e,n){return{rad:t[n],point:t,id:e}}}},function(t,e,n){"use strict";e.a=function(){function t(t){return o[t]||(o[t]={subscribers:[]}),o[t]}function e(){o={}}function n(t,e){t.async?setTimeout(function(){t.callback(e)},4):t.callback(e)}function r(e,n,r){var o;if("function"==typeof n)o={callback:n,async:r};else if(o=n,!o.callback)throw"Callback was not specified on options";t(e).subscribers.push(o)}var o={};return{subscribe:function(t,e,n){return r(t,e,n)},publish:function(e,r){var o=t(e),i=o.subscribers;i.filter(function(t){return!!t.once}).forEach(function(t){n(t,r)}),o.subscribers=i.filter(function(t){return!t.once}),o.subscribers.forEach(function(t){n(t,r)})},once:function(t,e,n){r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){var o;n?(o=t(n),o.subscribers=o&&r?o.subscribers.filter(function(t){return t.callback!==r}):[]):e()}}}()},function(t,e,n){"use strict";function r(){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():Promise.reject(new Error("enumerateDevices is not defined"))}function o(t){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia(t):Promise.reject(new Error("getUserMedia is not defined"))}e.b=r,e.a=o},function(t,e,n){"use strict";function r(t,e,n){n||(n={data:null,size:e}),this.data=n.data,this.originalSize=n.size,this.I=n,this.from=t,this.size=e}r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,a=0;a>>16&65535,r=65535&t,o=e>>>16&65535,i=65535&e;return r*i+(n*i+r*o<<16>>>0)|0},"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n1&&(!e.inImageWithBorder(t[0],0)||!e.inImageWithBorder(t[1],0));)r-=Math.ceil(r/2),o(-r);return t}function u(t){return[{x:(t[1][0]-t[0][0])/2+t[0][0],y:(t[1][1]-t[0][1])/2+t[0][1]},{x:(t[3][0]-t[2][0])/2+t[2][0],y:(t[3][1]-t[2][1])/2+t[2][1]}]}function c(t){var n,o=null,i=r.a.getBarcodeLine(e,t[0],t[1]);for(r.a.toBinaryLine(i),n=0;nE?l:E,g.push(l)}var o,i,a,u,c,s,f,l,d=0|e.x,h=0|e.y,p=0|n.x,v=0|n.y,_=Math.abs(v-h)>Math.abs(p-d),g=[],y=t.data,m=t.size.x,x=0,b=255,E=0;for(_&&(s=d,d=h,h=s,s=p,p=v,v=s),d>p&&(s=d,d=p,p=s,s=h,h=v,v=s),o=p-d,i=Math.abs(v-h),a=o/2|0,c=h,u=hl?o.DIR.UP:o.DIR.DOWN,d.push({pos:0,val:f[0]}),a=0;ah&&f[a+1]>.5*l?o.DIR.UP:r,r!==i&&(d.push({pos:a,val:f[a]}),r=i);for(d.push({pos:f.length,val:f[f.length-1]}),u=d[0].pos;ul?0:1;for(a=1;ad[a].val?d[a].val+(d[a+1].val-d[a].val)/3*2|0:d[a+1].val+(d[a].val-d[a+1].val)/3|0,u=d[a].pos;uh?0:1;return{line:f,threshold:h}},r.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(r,500):n("Unable to play video stream. Is webcam working?"),o--}var o=10;r()})}function o(t,e){return n.i(d.a)(e).then(function(e){return new Promise(function(n){s=e,t.setAttribute("autoplay",!0),t.setAttribute("muted",!0),t.setAttribute("playsinline",!0),t.srcObject=e,t.addEventListener("loadedmetadata",function(){t.play(),n()})})}).then(r.bind(null,t))}function i(t){var e=l()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function a(t){var e={audio:!1,video:i(t)};return e.video.deviceId&&e.video.facingMode&&delete e.video.facingMode,Promise.resolve(e)}function u(){return n.i(d.b)().then(function(t){return t.filter(function(t){return"videoinput"===t.kind})})}function c(){if(s){var t=s.getVideoTracks();if(t&&t.length)return t[0]}}var s,f=n(162),l=n.n(f),d=n(52);e.a={request:function(t,e){return a(e).then(o.bind(null,t))},release:function(){var t=s&&s.getVideoTracks();t&&t.length&&t[0].stop(),s=null},enumerateVideoDevices:u,getActiveStreamLabel:function(){var t=c();return t?t.label:""},getActiveTrack:c}},function(t,e,n){"use strict";function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;return/^blob\:/i.test(t)?i(t).then(o).then(function(t){return a(t,e)}):Promise.resolve(null)}function o(t){return new Promise(function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)})}function i(t){return new Promise(function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()})}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d,n=new DataView(t),r=t.byteLength,o=e.reduce(function(t,e){var n=Object.keys(l).filter(function(t){return l[t]===e})[0];return n&&(t[n]=e),t},{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1?i.size:Math.floor(e/o*i.size):e,r=i.size?e/o>1?Math.floor(o/e*i.size):i.size:o,s.x=n,s.y=r}var n,r,o={},i=null,a=["canrecord","ended"],u={},c={x:0,y:0},s={x:0,y:0};return o.getRealWidth=function(){return t.videoWidth},o.getRealHeight=function(){return t.videoHeight},o.getWidth=function(){return n},o.getHeight=function(){return r},o.setWidth=function(t){n=t},o.setHeight=function(t){r=t},o.setInputStream=function(e){i=e,t.src=void 0!==e.src?e.src:""},o.ended=function(){return t.ended},o.getConfig=function(){return i},o.setAttribute=function(e,n){t.setAttribute(e,n)},o.pause=function(){t.pause()},o.play=function(){t.play()},o.setCurrentTime=function(e){"LiveStream"!==i.type&&(t.currentTime=e)},o.addEventListener=function(e,n,r){a.indexOf(e)!==-1?(u[e]||(u[e]=[]),u[e].push(n)):t.addEventListener(e,n,r)},o.clearEventHandlers=function(){a.forEach(function(e){var n=u[e];n&&n.length>0&&n.forEach(function(n){t.removeEventListener(e,n)})})},o.trigger=function(t,n){var r,i=u[t];if("canrecord"===t&&e(),i&&i.length>0)for(r=0;r1?a.size:Math.floor(u/c*a.size):u,o=a.size?u/c>1?Math.floor(c/u*a.size):a.size:c,x.x=n,x.y=o,l=!0,s=0,setTimeout(function(){e("canrecord",[])},0)},p,h,a.sequence)}function e(t,e){var n,r=y[t];if(r&&r.length>0)for(n=0;nf&&(f=o.box[r][0]),o.box[r][1]l&&(l=o.box[r][1]);for(a=[[c,s],[f,s],[f,l],[c,l]],u=p.halfSample?2:1,i=M.invert(i,i),r=0;r<4;r++)I.transformMat2(a[r],a[r],i);for(r=0;r<4;r++)I.scale(a[r],a[r],u);return a}function a(){n.i(w.f)(v,E),E.zeroBorder()}function u(){var t,e,n,r,o,i,a,u=[];for(t=0;t0&&r[x.data[n]-1]++;return r=r.map(function(t,e){return{val:t,label:e+1}}),r.sort(function(t,e){return e.val-t.val}),r.filter(function(t){return t.val>=5})}function s(t,e){var n,r,o,a,u=[],c=[];for(n=0;n=2){for(o=0;ol&&c.push(t[o]);if(c.length>=2){for(a=f(c),i=0,o=0;o1&&a.length>=c.length/4*3&&a.length>t.length/4&&(i/=a.length,u={index:e[1]*z.x+e[0],pos:{x:n,y:r},box:[I.clone([n,r]),I.clone([n+g.size.x,r]),I.clone([n+g.size.x,r+g.size.y]),I.clone([n,r+g.size.y])],moments:a,rad:i,vec:I.clone([Math.cos(i),Math.sin(i)])},s.push(u))}}return s}function h(t){function e(){var t;for(t=0;ta&&n(u):x.data[u]=Number.MAX_VALUE}var r,o,i=0,a=.95,u=0;for(T.a.init(m.data,0),T.a.init(x.data,0),T.a.init(b.data,null),r=0;r0) {length=length - 1|0;images[outImagePtr+length|0]=(images[aImagePtr+length|0]|0) - (images[bImagePtr+length|0]|0)|0;}}function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) {aImagePtr=aImagePtr|0;bImagePtr=bImagePtr|0;outImagePtr=outImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[outImagePtr+length|0]=images[aImagePtr+length|0]|0|(images[bImagePtr+length|0]|0)|0;}}function countNonZero(imagePtr) {imagePtr=imagePtr|0;var sum=0,length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;sum=(sum|0)+(images[imagePtr+length|0]|0)|0;}return sum|0;}function init(imagePtr, value) {imagePtr=imagePtr|0;value=value|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[imagePtr+length|0]=value;}}function dilate(inImagePtr, outImagePtr) {inImagePtr=inImagePtr|0;outImagePtr=outImagePtr|0;var v=0,u=0,sum=0,yStart1=0,yStart2=0,xStart1=0,xStart2=0,offset=0;for (v=1; (v|0)<(size - 1|0); v=v+1|0) {offset=offset+size|0;for (u=1; (u|0)<(size - 1|0); u=u+1|0) {yStart1=offset - size|0;yStart2=offset+size|0;xStart1=u - 1|0;xStart2=u+1|0;sum=(images[inImagePtr+yStart1+xStart1|0]|0)+(images[inImagePtr+yStart1+xStart2|0]|0)+(images[inImagePtr+offset+u|0]|0)+(images[inImagePtr+yStart2+xStart1|0]|0)+(images[inImagePtr+yStart2+xStart2|0]|0)|0;if ((sum|0)>(0|0)) {images[outImagePtr+offset+u|0]=1;} else {images[outImagePtr+offset+u|0]=0;}}}return;}function memcpy(srcImagePtr, dstImagePtr) {srcImagePtr=srcImagePtr|0;dstImagePtr=dstImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[dstImagePtr+length|0]=images[srcImagePtr+length|0]|0;}}function zeroBorder(imagePtr) {imagePtr=imagePtr|0;var x=0,y=0;for (x=0; (x|0)<(size - 1|0); x=x+1|0) {images[imagePtr+x|0]=0;images[imagePtr+y|0]=0;y=y+size - 1|0;images[imagePtr+y|0]=0;y=y+1|0;}for (x=0; (x|0)<(size|0); x=x+1|0) {images[imagePtr+y|0]=0;y=y+1|0;}}function skeletonize() {var subImagePtr=0,erodedImagePtr=0,tempImagePtr=0,skelImagePtr=0,sum=0,done=0;erodedImagePtr=imul(size, size)|0;tempImagePtr=erodedImagePtr+erodedImagePtr|0;skelImagePtr=tempImagePtr+erodedImagePtr|0;init(skelImagePtr, 0);zeroBorder(subImagePtr);do {erode(subImagePtr, erodedImagePtr);dilate(erodedImagePtr, tempImagePtr);subtract(subImagePtr, tempImagePtr, tempImagePtr);bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr);memcpy(erodedImagePtr, subImagePtr);sum=countNonZero(subImagePtr)|0;done=(sum|0) == 0|0;} while (!done);}return {skeletonize: skeletonize};} __webpack_exports__["a"]=Skeletonizer; },function(t,e,n){"use strict";function r(t){o.a.call(this,t),this.barSpaceRatio=[1,1]}var o=n(1),i=1,a=3,u={START_PATTERN:{value:[a,i,a,i,i,i]},STOP_PATTERN:{value:[a,i,i,i,a]},CODE_PATTERN:{value:[[i,i,a,a,i],[a,i,i,i,a],[i,a,i,i,a],[a,a,i,i,i],[i,i,a,i,a],[a,i,a,i,i],[i,a,a,i,i],[i,i,i,a,a],[a,i,i,a,i],[i,a,i,a,i]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.3,writable:!0},FORMAT:{value:"2of5"}},c=u.START_PATTERN.value.reduce(function(t,e){return t+e},0);r.prototype=Object.create(o.a.prototype,u),r.prototype.constructor=r,r.prototype._findPattern=function(t,e,n,r){var o,i,a,u,c=[],s=this,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0},d=s.AVG_CODE_ERROR;for(n=n||!1,r=r||!1,e||(e=s._nextSet(s._row)),o=0;o=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e1&&i._isStartEnd(n))break}while(ri._counters.length?i._counters.length:r,o=t.start+i._sumCounters(t.startCounter,r-8),{code:a.join(""),start:t.start,end:o,startInfo:t,decodedCodes:a}):null},r.prototype._verifyWhitespace=function(t,e){return(t-1<=0||this._counters[t-1]>=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)},r.prototype._calculatePatternLength=function(t){var e,n=0;for(e=t;e=0;i--)n=2==(1&i)?c.bar:c.space,r=1==(1&a)?n.wide:n.narrow,r.size+=u._counters[s+i],r.counts++,a>>=1;s+=8}return["space","bar"].forEach(function(t){var e=c[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((e.wide.size*u.MAX_ACCEPTABLE+u.PADDING)/e.wide.counts)}),c},r.prototype._charToPattern=function(t){var e,n=this,r=t.charCodeAt(0);for(e=0;e=0;r--){if(o=0==(1&r)?s.bar:s.space,i=1==(1&u)?o.wide:o.narrow,(a=c._counters[f+r])i.max)return!1;u>>=1}f+=8}return!0},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ei&&(i=r),rthis._counters.length)return-1;for(e=this._computeAlternatingThreshold(t,a),n=this._computeAlternatingThreshold(t+1,a),r=0;ro&&(c|=u),u>>=1;return c},r.prototype._isStartEnd=function(t){var e;for(e=0;eu.AVG_CODE_ERROR?null:(u.CODE_PATTERN[l.code]&&(l.correction.bar=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.bar),l.correction.space=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.space)),l)}f++,a[f]=1,s=!s}return null},r.prototype._correct=function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)},r.prototype._findStart=function(){var t,e,n,r,i,a=[0,0,0,0,0,0],u=this,c=u._nextSet(u._row),s=!1,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}};for(t=c;t4)return-1;if(0==(1&i))for(var u=0;u="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32)}n.push(u)}else n.push(o)}return n},r.prototype._verifyChecksums=function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)},r.prototype._matchCheckChar=function(t,e,n){var r=this,o=t.slice(0,e),i=o.length,a=o.reduce(function(t,e,o){return t+((o*-1+(i-1))%n+1)*r.ALPHABET.indexOf(e.charCodeAt(0))},0);return this.ALPHABET[a%47]===t[e].charCodeAt(0)},e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(4),i={FORMAT:{value:"ean_2",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,o=0,i=e,a=this._row.length,u=[],c=[];for(o=0;o<2&&i=this.CODE_G_START&&(r|=1<<1-o),1!=o&&(i=this._nextSet(this._row,n.end),i=this._nextUnset(this._row,i))}return 2!=u.length||parseInt(u.join(""))%4!==r?null:{code:u.join(""),decodedCodes:c,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(){a.a.call(this)}function o(t){var e;for(e=0;e<10;e++)if(t===c[e])return e;return null}function i(t){var e,n=t.length,r=0;for(e=n-2;e>=0;e-=2)r+=t[e];for(r*=3,e=n-1;e>=0;e-=2)r+=t[e];return(r*=3)%10}var a=n(4),u={FORMAT:{value:"ean_5",writeable:!1}},c=[24,20,18,17,12,6,3,10,9,5];r.prototype=Object.create(a.a.prototype,u),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,a=0,u=e,c=this._row.length,s=[],f=[];for(a=0;a<5&&u=this.CODE_G_START&&(r|=1<<4-a),4!=a&&(u=this._nextSet(this._row,n.end),u=this._nextUnset(this._row,u))}return 5!=s.length?null:i(s)!==o(r)?null:{code:s.join(""),decodedCodes:f,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={FORMAT:{value:"ean_8",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decodePayload=function(t,e,n){var r,o=this;for(r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;e.push(t.code),n.push(t)}if(null===(t=o._findPattern(o.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},e.a=r},function(t,e,n){"use strict";function r(t){t=a()(o(),t),u.a.call(this,t),this.barSpaceRatio=[1,1],t.normalizeBarSpaceWidth&&(this.SINGLE_CODE_ERROR=.38,this.AVG_CODE_ERROR=.09)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=1,s=3,f={START_PATTERN:{value:[c,c,c,c]},STOP_PATTERN:{value:[c,c,s]},CODE_PATTERN:{value:[[c,c,s,s,c],[s,c,c,c,s],[c,s,c,c,s],[s,s,c,c,c],[c,c,s,c,s],[s,c,s,c,c],[c,s,s,c,c],[c,c,c,s,s],[s,c,c,s,c],[c,s,c,s,c]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.38,writable:!0},MAX_CORRECTION_FACTOR:{value:5},FORMAT:{value:"i2of5"}};r.prototype=Object.create(u.a.prototype,f),r.prototype.constructor=r,r.prototype._matchPattern=function(t,e){if(this.config.normalizeBarSpaceWidth){var n,r=[0,0],o=[0,0],i=[0,0],a=this.MAX_CORRECTION_FACTOR,c=1/a;for(n=0;n=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e=o.CODE_G_START&&(t.code=t.code-o.CODE_G_START,i|=1<<5-r),e.push(t.code),n.push(t)}return o._determineParity(i,e)?t:null},r.prototype._determineParity=function(t,e){var n,r;for(r=0;r0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(90),i=n(128);t.exports=r},function(t,e,n){var r=n(117),o=r();t.exports=o},function(t,e,n){function r(t,e){e=o(e,t);for(var n=0,r=e.length;null!=t&&n1?n[o-1]:void 0,u=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,u&&i(n[0],n[1],u)&&(a=o<3?void 0:a,o=1),e=Object(e);++r-1}var o=n(12);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(12);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(84),i=n(10),a=n(33);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(14);t.exports=r},function(t,e,n){function r(t){var e=o(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}var o=n(161),i=500;t.exports=r},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(38),o="object"==typeof e&&e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o,u=a&&r.process,c=function(){try{return u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=c}).call(e,n(29)(t))},function(t,e){function n(t){return o.call(t)}var r=Object.prototype,o=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t){var e=0,n=0;return function(){var a=i(),u=o-(a-n);if(n=a,u>0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(){this.__data__=new o,this.size=0}var o=n(10);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length{% trans "Search" %} + + {% include "search/barcode_modal.html" with id="barcode_scanner_modal" %} - {% endblock %} From 82cb170a9112193ed8040f5f0a47bae63e7ffeff Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Tue, 15 Feb 2022 02:39:16 -0800 Subject: [PATCH 03/59] Switch version of quagga to new fork quagga2 --- bookwyrm/static/js/vendor/quagga.min.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/js/vendor/quagga.min.js b/bookwyrm/static/js/vendor/quagga.min.js index f7a30f41b..84ccb74fc 100644 --- a/bookwyrm/static/js/vendor/quagga.min.js +++ b/bookwyrm/static/js/vendor/quagga.min.js @@ -1 +1,3 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(e.toString()).default:"object"==typeof exports?exports.Quagga=e(e.toString()).default:t.Quagga=e(e.toString()).default}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=166)}([function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";function r(t,e){return this._row=[],this.config=t||{},this.supplements=e,this}var o=n(3);r.prototype._nextUnset=function(t,e){var n;for(void 0===e&&(e=0),n=e;nn)return Number.MAX_VALUE;u+=c}return u/f},r.prototype._nextSet=function(t,e){var n;for(e=e||0,n=e;n1&&(t[n[r]]=o)},r.prototype._matchTrace=function(t,e){var n,r,o=[],i=this,a=i._nextSet(i._row),u=!i._row[a],c=0,s={error:Number.MAX_VALUE,code:-1,start:0};if(t){for(n=0;n=0;r--)e=Math.floor(Math.random()*r),n=t[r],t[r]=t[e],t[e]=n;return t},toPointList:function(t){var e,n,r=[],o=[];for(e=0;e=e&&o.push(t[r]);return o},maxIndex:function(t){var e,n=0;for(e=0;et[n]&&(n=e);return n},max:function t(e){var n,t=0;for(n=0;nt&&(t=e[n]);return t},sum:function t(e){for(var n=e.length,t=0;n--;)t+=e[n];return t}}},function(t,e,n){"use strict";function r(t,e){t=a()(o(),t),u.a.call(this,t,e)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=Object.assign||function(t){for(var e=1;ea.AVG_CODE_ERROR?null:f}s++,i[s]=1,c=!c}return null},r.prototype._findPattern=function(t,e,n,r,o){var i,a,u,c,s=[],f=this,l=0,d={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e||(e=f._nextSet(f._row)),void 0===n&&(n=!1),void 0===r&&(r=!0),void 0===o&&(o=f.AVG_CODE_ERROR),i=0;i=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start),e=i.CODE_G_START?(t.code=t.code-i.CODE_G_START,a|=1<<5-r):a|=0<<5-r,e.push(t.code),n.push(t)}if(null===(o=i._calculateFirstDigit(a)))return null;if(e.unshift(o),null===(t=i._findPattern(i.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<6;r++){if(!(t=i._decodeCode(t.end,i.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},r.prototype._decode=function(){var t,e,n=this,r=[],o=[],i={};if(!(t=n._findStart()))return null;if(e={code:t.code,start:t.start,end:t.end},o.push(e),!(e=n._decodePayload(e,r,o)))return null;if(!(e=n._findEnd(e.end,!1)))return null;if(o.push(e),!n._checksum(r))return null;if(this.supplements.length>0){var a=this._decodeExtensions(e.end);if(!a)return null;var u=a.decodedCodes[a.decodedCodes.length-1],s={start:u.start+((u.end-u.start)/2|0),end:u.end};if(!n._verifyTrailingWhitespace(s))return null;i={supplement:a,code:r.join("")+a.code}}return c({code:r.join(""),start:t.start,end:e.end,codeset:"",startInfo:t,decodedCodes:o},i)},r.prototype._decodeExtensions=function(t){var e,n,r=this._nextSet(this._row,t),o=this._findPattern(this.EXTENSION_START_PATTERN,r,!1,!1);if(null===o)return null;for(e=0;e=0;e-=2)n+=t[e];for(n*=3,e=t.length-1;e>=0;e-=2)n+=t[e];return n%10==0},r.CONFIG_KEYS={supplements:{type:"arrayOf(string)",default:[],description:"Allowed extensions to be decoded (2 and/or 5)"}},e.a=r},function(t,e,n){var r=n(38),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e){function n(t){return null!=t&&"object"==typeof t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e}t.exports=n},function(t,e,n){function r(t){return null==t?void 0===t?c:u:s&&s in Object(t)?i(t):a(t)}var o=n(11),i=n(119),a=n(146),u="[object Null]",c="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;o-1&&t%1==0&&t0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function o(t,e,n){n||(n=t);for(var r=t.data,o=r.length,i=n.data;o--;)i[o]=r[o]>o]++;return a}function a(t,e){function n(t,e){var n,r=0;for(n=t;n<=e;n++)r+=a[n];return r}function r(t,e){var n,r=0;for(n=t;n<=e;n++)r+=n*a[n];return r}function o(){var o,u,c,s,f,l,d,h=[0],p=(1<c)for(i=s[u],i.score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;ae[r]?r++:n++;return o}function _(t,e){function n(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-d)>Math.abs(t[e-1]-d)?t[e-1]:t[e]),d/nc[f-1]/c[f]?{x:n,y:n}:null}var r,o=p(e.x),i=p(e.y),a=Math.max(e.x,e.y),u=v(o,i),c=[8,10,15,20,32,60,80],s={"x-small":5,small:4,medium:3,large:2,"x-large":1},f=s[t]||s.medium,l=c[f],d=Math.floor(a/l);return r=n(u),r||(r=n(p(a)))||(r=n(p(d*l))),r}function g(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}function y(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce(function(t,e){var o=n[e],i=g(o),a=C[e](i,r);return t[e]=a,t},{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}var m=n(50),x=n(3);e.b=r,e.f=u,e.g=c,e.h=s,e.c=f,e.d=l,e.i=d,e.a=h,e.e=_,e.j=y;var b={clone:n(7)},E={clone:n(83)},C={top:function(t,e){if("%"===t.unit)return Math.floor(e.height*(t.value/100))},right:function(t,e){if("%"===t.unit)return Math.floor(e.width-e.width*(t.value/100))},bottom:function(t,e){if("%"===t.unit)return Math.floor(e.height-e.height*(t.value/100))},left:function(t,e){if("%"===t.unit)return Math.floor(e.width*(t.value/100))}}},function(t,e,n){"use strict";function r(t,e,n,r){e?this.data=e:n?(this.data=new n(t.x*t.y),n===Array&&r&&a.a.init(this.data,0)):(this.data=new Uint8Array(t.x*t.y),Uint8Array===Array&&r&&a.a.init(this.data,0)),this.size=t}var o=n(53),i=n(19),a=n(3),u={clone:n(7)};r.prototype.inImageWithBorder=function(t,e){return t.x>=e&&t.y>=e&&t.x0&&(a=g[r-1],a.m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+m,a.theta=(180*h/m+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=h>m?h-m:h,a.vec=u.clone([Math.cos(h),Math.sin(h)]),y.push(a));return y},r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,c=0;c360)&&(e=360);for(var o=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=[],f=t.getContext("2d"),l=f.getImageData(r.x,r.y,this.size.x,this.size.y),d=l.data,h=this.data.length;h--;)o[0]=this.data[h]*e,s=o[0]<=0?u:o[0]>=360?c:n.i(i.a)(o,a),d[4*h+0]=s[0],d[4*h+1]=s[1],d[4*h+2]=s[2],d[4*h+3]=255;f.putImageData(l,r.x,r.y)},e.a=r},function(t,e,n){function r(t,e,n){"__proto__"==e&&o?o(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var o=n(37);t.exports=r},function(t,e,n){function r(t,e){var n=i(t,e);return o(n)?n:void 0}var o=n(97),i=n(120);t.exports=r},function(t,e,n){function r(t){if("string"==typeof t||o(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}var o=n(27),i=1/0;t.exports=r},function(t,e,n){function r(t){return null!=t&&i(t.length)&&!o(t)}var o=n(25),i=n(26);t.exports=r},function(t,e,n){function r(t){if(!i(t))return!1;var e=o(t);return e==u||e==c||e==a||e==s}var o=n(8),i=n(0),a="[object AsyncFunction]",u="[object Function]",c="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){return"symbol"==typeof t||i(t)&&o(t)==a}var o=n(8),i=n(6),a="[object Symbol]";t.exports=r},function(t,e,n){var r=n(100),o=n(116),i=o(function(t,e,n){r(t,e,n)});t.exports=i},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";var r={searchDirections:[[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[-1,1]],create:function(t,e){function n(t,e,n,r){var o,f,l;for(o=0;o<7;o++){if(f=t.cy+c[t.dir][0],l=t.cx+c[t.dir][1],i=f*s+l,a[i]===e&&(0===u[i]||u[i]===n))return u[i]=n,t.cy=f,t.cx=l,!0;0===u[i]&&(u[i]=r),t.dir=(t.dir+1)%8}return!1}function r(t,e,n){return{dir:n,x:t,y:e,next:null,prev:null}}function o(t,e,o,i,a){var u,c,s,f=null,l={cx:e,cy:t,dir:0};if(n(l,i,o,a)){f=r(e,t,l.dir),u=f,s=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c;do l.dir=(l.dir+6)%8,n(l,i,o,a),s!==l.dir?(u.dir=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c):(u.dir=s,u.x=l.cx,u.y=l.cy),s=l.dir;while(l.cx!==e||l.cy!==t);f.prev=u.prev,u.prev.next=f}return f}var i,a=t.data,u=e.data,c=this.searchDirections,s=t.size.x;return{trace:function(t,e,r,o){return n(t,e,r,o)},contourTracing:function(t,e,n,r,i){return o(t,e,n,r,i)}}}};e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(1),i=n(3),a={ALPHABETH_STRING:{value:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"},ALPHABET:{value:[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,45,46,32,42,36,47,43,37]},CHARACTER_ENCODINGS:{value:[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]},ASTERISK:{value:148},FORMAT:{value:"code_39",writeable:!1}};r.prototype=Object.create(o.a.prototype,a),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o=this,a=[0,0,0,0,0,0,0,0,0],u=[],c=o._findStart();if(!c)return null;r=o._nextSet(o._row,c.end);do{if(a=o._toCounters(r,a),(n=o._toPattern(a))<0)return null;if((t=o._patternToChar(n))<0)return null;u.push(t),e=r,r+=i.a.sum(a),r=o._nextSet(o._row,r)}while("*"!==t);return u.pop(),u.length&&o._verifyTrailingWhitespace(e,r,a)?{code:u.join(""),start:c.start,end:r,startInfo:c,decodedCodes:u}:null},r.prototype._verifyTrailingWhitespace=function(t,e,n){var r=i.a.sum(n);return 3*(e-t-r)>=r},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ee&&(r=t[n]);return r},r.prototype._toPattern=function(t){for(var e,n,r=t.length,o=0,i=r,a=0,u=this;i>3;){for(o=u._findNextWidth(t,o),i=0,e=0,n=0;no&&(e|=1<0;n++)if(t[n]>o&&(i--,2*t[n]>=a))return-1;return e}}return-1},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextSet(r._row),i=o,a=[0,0,0,0,0,0,0,0,0],u=0,c=!1;for(t=o;t0)for(r=0;r0){if(!(t=Y.filter(function(t){return!t.busy})[0]))return;w.attachData(t.imageData)}else w.attachData(S.data);w.grab()&&(t?(t.busy=!0,t.worker.postMessage({cmd:"process",imageData:t.imageData},[t.imageData.buffer])):_())}else _()}function y(){var t=null,e=1e3/($.frequency||60);T=!1,function n(r){t=t||r,T||(r>=t&&(t+=e,g()),window.requestAnimFrame(n))}(performance.now())}function m(){Q&&"LiveStream"===$.inputStream.type?y():g()}function x(t){var e,n={worker:void 0,imageData:new Uint8Array(R.getWidth()*R.getHeight()),busy:!0};e=C(),n.worker=new Worker(e),n.worker.onmessage=function(r){if("initialized"===r.data.event)return URL.revokeObjectURL(e),n.busy=!1,n.imageData=new Uint8Array(r.data.imageData),t(n);"processed"===r.data.event?(n.imageData=new Uint8Array(r.data.imageData),n.busy=!1,v(r.data.result,n.imageData)):r.data.event},n.worker.postMessage({cmd:"init",size:{x:R.getWidth(),y:R.getHeight()},imageData:n.imageData,config:b($)},[n.imageData.buffer])}function b(t){return X({},t,{inputStream:X({},t.inputStream,{target:null})})}function E(t){function e(t){self.postMessage({event:"processed",imageData:o.data,result:t},[o.data.buffer])}function n(){self.postMessage({event:"initialized",imageData:o.data},[o.data.buffer])}if(t){var r=t().default;if(!r)return void self.postMessage({event:"error",message:"Quagga could not be created"})}var o;self.onmessage=function(t){if("init"===t.data.cmd){var i=t.data.config;i.numOfWorkers=0,o=new r.ImageWrapper({x:t.data.size.x,y:t.data.size.y},new Uint8Array(t.data.imageData)),r.init(i,n,o),r.onProcessed(e)}else"process"===t.data.cmd?(o.data=new Uint8Array(t.data.imageData),r.start()):"setReaders"===t.data.cmd&&r.setReaders(t.data.readers)}}function C(){var e,n;return void 0!==t&&(n=t),e=new Blob(["("+E.toString()+")("+n+");"],{type:"text/javascript"}),window.URL.createObjectURL(e)}function O(t){P?P.setReaders(t):Q&&Y.length>0&&Y.forEach(function(e){e.worker.postMessage({cmd:"setReaders",readers:t})})}function A(t,e){var n=t-Y.length;if(0===n)return e&&e();if(n<0){return Y.slice(n).forEach(function(t){t.worker.terminate()}),Y=Y.slice(0,n),e&&e()}for(var r=function(n){Y.push(n),Y.length>=t&&e&&e()},o=0;oe},getPoints:function(){return a},getCenter:function(){return u}}},createPoint:function(t,e,n){return{rad:t[n],point:t,id:e}}}},function(t,e,n){"use strict";e.a=function(){function t(t){return o[t]||(o[t]={subscribers:[]}),o[t]}function e(){o={}}function n(t,e){t.async?setTimeout(function(){t.callback(e)},4):t.callback(e)}function r(e,n,r){var o;if("function"==typeof n)o={callback:n,async:r};else if(o=n,!o.callback)throw"Callback was not specified on options";t(e).subscribers.push(o)}var o={};return{subscribe:function(t,e,n){return r(t,e,n)},publish:function(e,r){var o=t(e),i=o.subscribers;i.filter(function(t){return!!t.once}).forEach(function(t){n(t,r)}),o.subscribers=i.filter(function(t){return!t.once}),o.subscribers.forEach(function(t){n(t,r)})},once:function(t,e,n){r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){var o;n?(o=t(n),o.subscribers=o&&r?o.subscribers.filter(function(t){return t.callback!==r}):[]):e()}}}()},function(t,e,n){"use strict";function r(){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():Promise.reject(new Error("enumerateDevices is not defined"))}function o(t){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia(t):Promise.reject(new Error("getUserMedia is not defined"))}e.b=r,e.a=o},function(t,e,n){"use strict";function r(t,e,n){n||(n={data:null,size:e}),this.data=n.data,this.originalSize=n.size,this.I=n,this.from=t,this.size=e}r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,a=0;a>>16&65535,r=65535&t,o=e>>>16&65535,i=65535&e;return r*i+(n*i+r*o<<16>>>0)|0},"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n1&&(!e.inImageWithBorder(t[0],0)||!e.inImageWithBorder(t[1],0));)r-=Math.ceil(r/2),o(-r);return t}function u(t){return[{x:(t[1][0]-t[0][0])/2+t[0][0],y:(t[1][1]-t[0][1])/2+t[0][1]},{x:(t[3][0]-t[2][0])/2+t[2][0],y:(t[3][1]-t[2][1])/2+t[2][1]}]}function c(t){var n,o=null,i=r.a.getBarcodeLine(e,t[0],t[1]);for(r.a.toBinaryLine(i),n=0;nE?l:E,g.push(l)}var o,i,a,u,c,s,f,l,d=0|e.x,h=0|e.y,p=0|n.x,v=0|n.y,_=Math.abs(v-h)>Math.abs(p-d),g=[],y=t.data,m=t.size.x,x=0,b=255,E=0;for(_&&(s=d,d=h,h=s,s=p,p=v,v=s),d>p&&(s=d,d=p,p=s,s=h,h=v,v=s),o=p-d,i=Math.abs(v-h),a=o/2|0,c=h,u=hl?o.DIR.UP:o.DIR.DOWN,d.push({pos:0,val:f[0]}),a=0;ah&&f[a+1]>.5*l?o.DIR.UP:r,r!==i&&(d.push({pos:a,val:f[a]}),r=i);for(d.push({pos:f.length,val:f[f.length-1]}),u=d[0].pos;ul?0:1;for(a=1;ad[a].val?d[a].val+(d[a+1].val-d[a].val)/3*2|0:d[a+1].val+(d[a].val-d[a+1].val)/3|0,u=d[a].pos;uh?0:1;return{line:f,threshold:h}},r.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(r,500):n("Unable to play video stream. Is webcam working?"),o--}var o=10;r()})}function o(t,e){return n.i(d.a)(e).then(function(e){return new Promise(function(n){s=e,t.setAttribute("autoplay",!0),t.setAttribute("muted",!0),t.setAttribute("playsinline",!0),t.srcObject=e,t.addEventListener("loadedmetadata",function(){t.play(),n()})})}).then(r.bind(null,t))}function i(t){var e=l()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function a(t){var e={audio:!1,video:i(t)};return e.video.deviceId&&e.video.facingMode&&delete e.video.facingMode,Promise.resolve(e)}function u(){return n.i(d.b)().then(function(t){return t.filter(function(t){return"videoinput"===t.kind})})}function c(){if(s){var t=s.getVideoTracks();if(t&&t.length)return t[0]}}var s,f=n(162),l=n.n(f),d=n(52);e.a={request:function(t,e){return a(e).then(o.bind(null,t))},release:function(){var t=s&&s.getVideoTracks();t&&t.length&&t[0].stop(),s=null},enumerateVideoDevices:u,getActiveStreamLabel:function(){var t=c();return t?t.label:""},getActiveTrack:c}},function(t,e,n){"use strict";function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;return/^blob\:/i.test(t)?i(t).then(o).then(function(t){return a(t,e)}):Promise.resolve(null)}function o(t){return new Promise(function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)})}function i(t){return new Promise(function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()})}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d,n=new DataView(t),r=t.byteLength,o=e.reduce(function(t,e){var n=Object.keys(l).filter(function(t){return l[t]===e})[0];return n&&(t[n]=e),t},{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1?i.size:Math.floor(e/o*i.size):e,r=i.size?e/o>1?Math.floor(o/e*i.size):i.size:o,s.x=n,s.y=r}var n,r,o={},i=null,a=["canrecord","ended"],u={},c={x:0,y:0},s={x:0,y:0};return o.getRealWidth=function(){return t.videoWidth},o.getRealHeight=function(){return t.videoHeight},o.getWidth=function(){return n},o.getHeight=function(){return r},o.setWidth=function(t){n=t},o.setHeight=function(t){r=t},o.setInputStream=function(e){i=e,t.src=void 0!==e.src?e.src:""},o.ended=function(){return t.ended},o.getConfig=function(){return i},o.setAttribute=function(e,n){t.setAttribute(e,n)},o.pause=function(){t.pause()},o.play=function(){t.play()},o.setCurrentTime=function(e){"LiveStream"!==i.type&&(t.currentTime=e)},o.addEventListener=function(e,n,r){a.indexOf(e)!==-1?(u[e]||(u[e]=[]),u[e].push(n)):t.addEventListener(e,n,r)},o.clearEventHandlers=function(){a.forEach(function(e){var n=u[e];n&&n.length>0&&n.forEach(function(n){t.removeEventListener(e,n)})})},o.trigger=function(t,n){var r,i=u[t];if("canrecord"===t&&e(),i&&i.length>0)for(r=0;r1?a.size:Math.floor(u/c*a.size):u,o=a.size?u/c>1?Math.floor(c/u*a.size):a.size:c,x.x=n,x.y=o,l=!0,s=0,setTimeout(function(){e("canrecord",[])},0)},p,h,a.sequence)}function e(t,e){var n,r=y[t];if(r&&r.length>0)for(n=0;nf&&(f=o.box[r][0]),o.box[r][1]l&&(l=o.box[r][1]);for(a=[[c,s],[f,s],[f,l],[c,l]],u=p.halfSample?2:1,i=M.invert(i,i),r=0;r<4;r++)I.transformMat2(a[r],a[r],i);for(r=0;r<4;r++)I.scale(a[r],a[r],u);return a}function a(){n.i(w.f)(v,E),E.zeroBorder()}function u(){var t,e,n,r,o,i,a,u=[];for(t=0;t0&&r[x.data[n]-1]++;return r=r.map(function(t,e){return{val:t,label:e+1}}),r.sort(function(t,e){return e.val-t.val}),r.filter(function(t){return t.val>=5})}function s(t,e){var n,r,o,a,u=[],c=[];for(n=0;n=2){for(o=0;ol&&c.push(t[o]);if(c.length>=2){for(a=f(c),i=0,o=0;o1&&a.length>=c.length/4*3&&a.length>t.length/4&&(i/=a.length,u={index:e[1]*z.x+e[0],pos:{x:n,y:r},box:[I.clone([n,r]),I.clone([n+g.size.x,r]),I.clone([n+g.size.x,r+g.size.y]),I.clone([n,r+g.size.y])],moments:a,rad:i,vec:I.clone([Math.cos(i),Math.sin(i)])},s.push(u))}}return s}function h(t){function e(){var t;for(t=0;ta&&n(u):x.data[u]=Number.MAX_VALUE}var r,o,i=0,a=.95,u=0;for(T.a.init(m.data,0),T.a.init(x.data,0),T.a.init(b.data,null),r=0;r0) {length=length - 1|0;images[outImagePtr+length|0]=(images[aImagePtr+length|0]|0) - (images[bImagePtr+length|0]|0)|0;}}function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) {aImagePtr=aImagePtr|0;bImagePtr=bImagePtr|0;outImagePtr=outImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[outImagePtr+length|0]=images[aImagePtr+length|0]|0|(images[bImagePtr+length|0]|0)|0;}}function countNonZero(imagePtr) {imagePtr=imagePtr|0;var sum=0,length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;sum=(sum|0)+(images[imagePtr+length|0]|0)|0;}return sum|0;}function init(imagePtr, value) {imagePtr=imagePtr|0;value=value|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[imagePtr+length|0]=value;}}function dilate(inImagePtr, outImagePtr) {inImagePtr=inImagePtr|0;outImagePtr=outImagePtr|0;var v=0,u=0,sum=0,yStart1=0,yStart2=0,xStart1=0,xStart2=0,offset=0;for (v=1; (v|0)<(size - 1|0); v=v+1|0) {offset=offset+size|0;for (u=1; (u|0)<(size - 1|0); u=u+1|0) {yStart1=offset - size|0;yStart2=offset+size|0;xStart1=u - 1|0;xStart2=u+1|0;sum=(images[inImagePtr+yStart1+xStart1|0]|0)+(images[inImagePtr+yStart1+xStart2|0]|0)+(images[inImagePtr+offset+u|0]|0)+(images[inImagePtr+yStart2+xStart1|0]|0)+(images[inImagePtr+yStart2+xStart2|0]|0)|0;if ((sum|0)>(0|0)) {images[outImagePtr+offset+u|0]=1;} else {images[outImagePtr+offset+u|0]=0;}}}return;}function memcpy(srcImagePtr, dstImagePtr) {srcImagePtr=srcImagePtr|0;dstImagePtr=dstImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[dstImagePtr+length|0]=images[srcImagePtr+length|0]|0;}}function zeroBorder(imagePtr) {imagePtr=imagePtr|0;var x=0,y=0;for (x=0; (x|0)<(size - 1|0); x=x+1|0) {images[imagePtr+x|0]=0;images[imagePtr+y|0]=0;y=y+size - 1|0;images[imagePtr+y|0]=0;y=y+1|0;}for (x=0; (x|0)<(size|0); x=x+1|0) {images[imagePtr+y|0]=0;y=y+1|0;}}function skeletonize() {var subImagePtr=0,erodedImagePtr=0,tempImagePtr=0,skelImagePtr=0,sum=0,done=0;erodedImagePtr=imul(size, size)|0;tempImagePtr=erodedImagePtr+erodedImagePtr|0;skelImagePtr=tempImagePtr+erodedImagePtr|0;init(skelImagePtr, 0);zeroBorder(subImagePtr);do {erode(subImagePtr, erodedImagePtr);dilate(erodedImagePtr, tempImagePtr);subtract(subImagePtr, tempImagePtr, tempImagePtr);bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr);memcpy(erodedImagePtr, subImagePtr);sum=countNonZero(subImagePtr)|0;done=(sum|0) == 0|0;} while (!done);}return {skeletonize: skeletonize};} __webpack_exports__["a"]=Skeletonizer; },function(t,e,n){"use strict";function r(t){o.a.call(this,t),this.barSpaceRatio=[1,1]}var o=n(1),i=1,a=3,u={START_PATTERN:{value:[a,i,a,i,i,i]},STOP_PATTERN:{value:[a,i,i,i,a]},CODE_PATTERN:{value:[[i,i,a,a,i],[a,i,i,i,a],[i,a,i,i,a],[a,a,i,i,i],[i,i,a,i,a],[a,i,a,i,i],[i,a,a,i,i],[i,i,i,a,a],[a,i,i,a,i],[i,a,i,a,i]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.3,writable:!0},FORMAT:{value:"2of5"}},c=u.START_PATTERN.value.reduce(function(t,e){return t+e},0);r.prototype=Object.create(o.a.prototype,u),r.prototype.constructor=r,r.prototype._findPattern=function(t,e,n,r){var o,i,a,u,c=[],s=this,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0},d=s.AVG_CODE_ERROR;for(n=n||!1,r=r||!1,e||(e=s._nextSet(s._row)),o=0;o=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e1&&i._isStartEnd(n))break}while(ri._counters.length?i._counters.length:r,o=t.start+i._sumCounters(t.startCounter,r-8),{code:a.join(""),start:t.start,end:o,startInfo:t,decodedCodes:a}):null},r.prototype._verifyWhitespace=function(t,e){return(t-1<=0||this._counters[t-1]>=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)},r.prototype._calculatePatternLength=function(t){var e,n=0;for(e=t;e=0;i--)n=2==(1&i)?c.bar:c.space,r=1==(1&a)?n.wide:n.narrow,r.size+=u._counters[s+i],r.counts++,a>>=1;s+=8}return["space","bar"].forEach(function(t){var e=c[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((e.wide.size*u.MAX_ACCEPTABLE+u.PADDING)/e.wide.counts)}),c},r.prototype._charToPattern=function(t){var e,n=this,r=t.charCodeAt(0);for(e=0;e=0;r--){if(o=0==(1&r)?s.bar:s.space,i=1==(1&u)?o.wide:o.narrow,(a=c._counters[f+r])i.max)return!1;u>>=1}f+=8}return!0},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ei&&(i=r),rthis._counters.length)return-1;for(e=this._computeAlternatingThreshold(t,a),n=this._computeAlternatingThreshold(t+1,a),r=0;ro&&(c|=u),u>>=1;return c},r.prototype._isStartEnd=function(t){var e;for(e=0;eu.AVG_CODE_ERROR?null:(u.CODE_PATTERN[l.code]&&(l.correction.bar=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.bar),l.correction.space=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.space)),l)}f++,a[f]=1,s=!s}return null},r.prototype._correct=function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)},r.prototype._findStart=function(){var t,e,n,r,i,a=[0,0,0,0,0,0],u=this,c=u._nextSet(u._row),s=!1,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}};for(t=c;t4)return-1;if(0==(1&i))for(var u=0;u="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32)}n.push(u)}else n.push(o)}return n},r.prototype._verifyChecksums=function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)},r.prototype._matchCheckChar=function(t,e,n){var r=this,o=t.slice(0,e),i=o.length,a=o.reduce(function(t,e,o){return t+((o*-1+(i-1))%n+1)*r.ALPHABET.indexOf(e.charCodeAt(0))},0);return this.ALPHABET[a%47]===t[e].charCodeAt(0)},e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(4),i={FORMAT:{value:"ean_2",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,o=0,i=e,a=this._row.length,u=[],c=[];for(o=0;o<2&&i=this.CODE_G_START&&(r|=1<<1-o),1!=o&&(i=this._nextSet(this._row,n.end),i=this._nextUnset(this._row,i))}return 2!=u.length||parseInt(u.join(""))%4!==r?null:{code:u.join(""),decodedCodes:c,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(){a.a.call(this)}function o(t){var e;for(e=0;e<10;e++)if(t===c[e])return e;return null}function i(t){var e,n=t.length,r=0;for(e=n-2;e>=0;e-=2)r+=t[e];for(r*=3,e=n-1;e>=0;e-=2)r+=t[e];return(r*=3)%10}var a=n(4),u={FORMAT:{value:"ean_5",writeable:!1}},c=[24,20,18,17,12,6,3,10,9,5];r.prototype=Object.create(a.a.prototype,u),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,a=0,u=e,c=this._row.length,s=[],f=[];for(a=0;a<5&&u=this.CODE_G_START&&(r|=1<<4-a),4!=a&&(u=this._nextSet(this._row,n.end),u=this._nextUnset(this._row,u))}return 5!=s.length?null:i(s)!==o(r)?null:{code:s.join(""),decodedCodes:f,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={FORMAT:{value:"ean_8",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decodePayload=function(t,e,n){var r,o=this;for(r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;e.push(t.code),n.push(t)}if(null===(t=o._findPattern(o.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},e.a=r},function(t,e,n){"use strict";function r(t){t=a()(o(),t),u.a.call(this,t),this.barSpaceRatio=[1,1],t.normalizeBarSpaceWidth&&(this.SINGLE_CODE_ERROR=.38,this.AVG_CODE_ERROR=.09)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=1,s=3,f={START_PATTERN:{value:[c,c,c,c]},STOP_PATTERN:{value:[c,c,s]},CODE_PATTERN:{value:[[c,c,s,s,c],[s,c,c,c,s],[c,s,c,c,s],[s,s,c,c,c],[c,c,s,c,s],[s,c,s,c,c],[c,s,s,c,c],[c,c,c,s,s],[s,c,c,s,c],[c,s,c,s,c]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.38,writable:!0},MAX_CORRECTION_FACTOR:{value:5},FORMAT:{value:"i2of5"}};r.prototype=Object.create(u.a.prototype,f),r.prototype.constructor=r,r.prototype._matchPattern=function(t,e){if(this.config.normalizeBarSpaceWidth){var n,r=[0,0],o=[0,0],i=[0,0],a=this.MAX_CORRECTION_FACTOR,c=1/a;for(n=0;n=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e=o.CODE_G_START&&(t.code=t.code-o.CODE_G_START,i|=1<<5-r),e.push(t.code),n.push(t)}return o._determineParity(i,e)?t:null},r.prototype._determineParity=function(t,e){var n,r;for(r=0;r0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(90),i=n(128);t.exports=r},function(t,e,n){var r=n(117),o=r();t.exports=o},function(t,e,n){function r(t,e){e=o(e,t);for(var n=0,r=e.length;null!=t&&n1?n[o-1]:void 0,u=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,u&&i(n[0],n[1],u)&&(a=o<3?void 0:a,o=1),e=Object(e);++r-1}var o=n(12);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(12);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(84),i=n(10),a=n(33);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(14);t.exports=r},function(t,e,n){function r(t){var e=o(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}var o=n(161),i=500;t.exports=r},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(38),o="object"==typeof e&&e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o,u=a&&r.process,c=function(){try{return u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=c}).call(e,n(29)(t))},function(t,e){function n(t){return o.call(t)}var r=Object.prototype,o=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t){var e=0,n=0;return function(){var a=i(),u=o-(a-n);if(n=a,u>0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(){this.__data__=new o,this.size=0}var o=n(10);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length=0;e--){var n=Math.floor(Math.random()*e),r=t[e];t[e]=t[n],t[n]=r}return t},toPointList:function(t){var e=t.reduce((function(t,e){var n="[".concat(e.join(","),"]");return t.push(n),t}),[]);return"[".concat(e.join(",\r\n"),"]")},threshold:function(t,e,n){return t.reduce((function(r,o){return n.apply(t,[o])>=e&&r.push(o),r}),[])},maxIndex:function(t){for(var e=0,n=0;nt[e]&&(e=n);return e},max:function(t){for(var e=0,n=0;ne&&(e=t[n]);return e},sum:function(t){for(var e=t.length,n=0;e--;)n+=t[e];return n}}},function(t,e,n){"use strict";n.d(e,"h",(function(){return l})),n.d(e,"i",(function(){return d})),n.d(e,"b",(function(){return p})),n.d(e,"j",(function(){return v})),n.d(e,"e",(function(){return y})),n.d(e,"c",(function(){return g})),n.d(e,"f",(function(){return x})),n.d(e,"g",(function(){return _})),n.d(e,"a",(function(){return b})),n.d(e,"d",(function(){return O}));var r=n(7),o=n(84),i={clone:r.clone,dot:r.dot},a=function(t,e){var n=[],r={rad:0,vec:i.clone([0,0])},o={};function a(t){o[t.id]=t,n.push(t)}function u(){var t,e=0;for(t=0;te},getPoints:function(){return n},getCenter:function(){return r}}},u=function(t,e,n){return{rad:t[n],point:t,id:e}},c=n(8),s={clone:r.clone},f={clone:o.clone};function l(t,e){return{x:t,y:e,toVec2:function(){return s.clone([this.x,this.y])},toVec3:function(){return f.clone([this.x,this.y,1])},round:function(){return this.x=this.x>0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function h(t,e){e||(e=8);for(var n=t.data,r=n.length,o=8-e,i=new Int32Array(1<>o]++;return i}function d(t,e){var n=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=8-n;function o(t,n){for(var r=0,o=t;o<=n;o++)r+=e[o];return r}function i(t,n){for(var r=0,o=t;o<=n;o++)r+=o*e[o];return r}function a(){var r,a,u,s,f=[0],l=(1<c)for((i=s[u]).score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;a1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=t[0],r=t[1],o=t[2],i=o*r,a=i*(1-Math.abs(n/60%2-1)),u=o-i,c=0,s=0,f=0;return n<60?(c=i,s=a):n<120?(c=a,s=i):n<180?(s=i,f=a):n<240?(s=a,f=i):n<300?(c=a,f=i):n<360&&(c=i,f=a),e[0]=255*(c+u)|0,e[1]=255*(s+u)|0,e[2]=255*(f+u)|0,e}function m(t){for(var e=[],n=[],r=1;re[r]?r++:n++;return o}(r,o),u=[8,10,15,20,32,60,80],c={"x-small":5,small:4,medium:3,large:2,"x-large":1},s=c[t]||c.medium,f=u[s],l=Math.floor(i/f);function h(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-l)>Math.abs(t[e-1]-l)?t[e-1]:t[e]),l/nu[s-1]/u[s]?{x:n,y:n}:null}return(n=h(a))||(n=h(m(i)))||(n=h(m(l*f))),n}var w={top:function(t,e){return"%"===t.unit?Math.floor(e.height*(t.value/100)):null},right:function(t,e){return"%"===t.unit?Math.floor(e.width-e.width*(t.value/100)):null},bottom:function(t,e){return"%"===t.unit?Math.floor(e.height-e.height*(t.value/100)):null},left:function(t,e){return"%"===t.unit?Math.floor(e.width*(t.value/100)):null}};function O(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce((function(t,e){var o=function(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}(n[e]),i=w[e](o,r);return t[e]=i,t}),{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}},function(t,e,n){"use strict";var r=n(83),o=n.n(r),i=n(3),a=n.n(i),u=n(4),c=n.n(u),s=n(0),f=n.n(s),l=n(7),h=n(9),d=n(8),p={clone:l.clone};function v(t){if(t<0)throw new Error("expected positive number, received ".concat(t))}var y=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,o=arguments.length>3?arguments[3]:void 0;a()(this,t),f()(this,"data",void 0),f()(this,"size",void 0),f()(this,"indexMapping",void 0),n?this.data=n:(this.data=new r(e.x*e.y),o&&d.a.init(this.data,0)),this.size=e}return c()(t,[{key:"inImageWithBorder",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return v(e),t.x>=0&&t.y>=0&&t.x0&&((a=v[r-1]).m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+g,a.theta=(180*f/g+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=f>g?f-g:f,a.vec=p.clone([Math.cos(f),Math.sin(f)]),y.push(a));return y}},{key:"getAsRGBA",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=new Uint8ClampedArray(4*this.size.x*this.size.y),n=0;n1&&void 0!==arguments[1]?arguments[1]:1,n=t.getContext("2d");if(!n)throw new Error("Unable to get canvas context");var r=n.getImageData(0,0,t.width,t.height),o=this.getAsRGBA(e);t.width=this.size.x,t.height=this.size.y;var i=new ImageData(o,r.width,r.height);n.putImageData(i,0,0)}},{key:"overlay",value:function(t,e,n){var r=e<0||e>360?360:e,i=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=t.getContext("2d");if(!s)throw new Error("Unable to get canvas context");for(var f=s.getImageData(n.x,n.y,this.size.x,this.size.y),l=f.data,d=this.data.length;d--;){i[0]=this.data[d]*r;var p=4*d,v=i[0]<=0?u:i[0]>=360?c:Object(h.g)(i,a),y=o()(v,3);l[p]=y[0],l[p+1]=y[1],l[p+2]=y[2],l[p+3]=255}s.putImageData(f,n.x,n.y)}}]),t}();e.a=y},function(t,e,n){t.exports=n(228)},function(t,e,n){var r=n(227);function o(e,n,i){return"undefined"!=typeof Reflect&&Reflect.get?(t.exports=o=Reflect.get,t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=o=function(t,e,n){var o=r(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(n):i.value}},t.exports.default=t.exports,t.exports.__esModule=!0),o(e,n,i||e)}t.exports=o,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth||1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;oh&&(h=i.box[o][0]),i.box[o][1]d&&(d=i.box[o][1]);for(u=[[s,f],[h,f],[h,d],[s,d]],c=r.halfSample?2:1,a=y.invert(a,a),o=0;o<4;o++)v.transformMat2(u[o],u[o],a);for(o=0;o<4;o++)v.scale(u[o],u[o],c);return u}function E(t,e){l.subImageAsCopy(a,Object(x.h)(t,e)),p.skeletonize()}function M(t,e,n,r){var o,i,u,c,s=[],f=[],l=Math.ceil(h.x/3);if(t.length>=2){for(o=0;ol&&s.push(t[o]);if(s.length>=2){for(u=function(t){var e=Object(x.b)(t,.9),n=Object(x.j)(e,1,(function(t){return t.getPoints().length})),r=[],o=[];if(1===n.length){r=n[0].item.getPoints();for(var i=0;i1&&u.length>=s.length/4*3&&u.length>t.length/4&&(i/=u.length,c={index:e[1]*R.x+e[0],pos:{x:n,y:r},box:[v.clone([n,r]),v.clone([n+a.size.x,r]),v.clone([n+a.size.x,r+a.size.y]),v.clone([n,r+a.size.y])],moments:u,rad:i,vec:v.clone([Math.cos(i),Math.sin(i)])},f.push(c))}}return f}e.a={init:function(e,n){r=n,d=e,function(){o=r.halfSample?new g.a({x:d.size.x/2|0,y:d.size.y/2|0}):d,h=Object(x.a)(r.patchSize,o.size),R.x=o.size.x/h.x|0,R.y=o.size.y/h.y|0,l=new g.a(o.size,void 0,Uint8Array,!1),u=new g.a(h,void 0,Array,!0);var e=new ArrayBuffer(65536);a=new g.a(h,new Uint8Array(e,0,h.x*h.y)),i=new g.a(h,new Uint8Array(e,h.x*h.y*3,h.x*h.y),void 0,!0),p=Object(w.a)("undefined"!=typeof window?window:"undefined"!=typeof self?self:t,{size:h.x},e),f=new g.a({x:o.size.x/a.size.x|0,y:o.size.y/a.size.y|0},void 0,Array,!0),c=new g.a(f.size,void 0,void 0,!0),s=new g.a(f.size,void 0,Int32Array,!0)}(),r.useWorker||"undefined"==typeof document||(O.dom.binary=document.createElement("canvas"),O.dom.binary.className="binaryBuffer",O.ctx.binary=O.dom.binary.getContext("2d"),O.dom.binary.width=l.size.x,O.dom.binary.height=l.size.y)},locate:function(){r.halfSample&&Object(x.f)(d,o),Object(x.i)(o,l),l.zeroBorder();var t=function(){var t,e,n,r,o,c,s=[];for(t=0;t.95&&a(i):s.data[i]=Number.MAX_VALUE}for(_.a.init(c.data,0),_.a.init(s.data,0),_.a.init(f.data,null),e=0;e0&&r[s.data[n]-1]++;return(r=r.map((function(t,e){return{val:t,label:e+1}}))).sort((function(t,e){return e.val-t.val})),r.filter((function(t){return t.val>=5}))}(e);return 0===n.length?null:function(t,e){var n,r,o,i,a=[],u=[];for(n=0;n-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},t.exports.default=t.exports,t.exports.__esModule=!0,n(e,r)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){var r=n(22),o=n(18);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},function(t,e,n){var r=n(42);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},function(t,e,n){var r=n(35)(n(17),"Map");t.exports=r},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(46))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(109),o=n(116),i=n(118),a=n(119),u=n(120);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},function(t,e){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}},function(t,e){t.exports=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}},function(t,e){t.exports=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return n*n+r*r+o*o}},function(t,e){t.exports=function(t){var e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}},function(t,e){t.exports=function(t){var e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}},function(t,e,n){var r=n(153),o=n(154),i=n(60),a=n(155);t.exports=function(t,e){return r(t)||o(t,e)||i(t,e)||a()},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){t.exports={EPSILON:n(71),create:n(72),clone:n(191),angle:n(192),fromValues:n(73),copy:n(193),set:n(194),equals:n(195),exactEquals:n(196),add:n(197),subtract:n(76),sub:n(198),multiply:n(77),mul:n(199),divide:n(78),div:n(200),min:n(201),max:n(202),floor:n(203),ceil:n(204),round:n(205),scale:n(206),scaleAndAdd:n(207),distance:n(79),dist:n(208),squaredDistance:n(80),sqrDist:n(209),length:n(81),len:n(210),squaredLength:n(82),sqrLen:n(211),negate:n(212),inverse:n(213),normalize:n(74),dot:n(75),cross:n(214),lerp:n(215),random:n(216),transformMat4:n(217),transformMat3:n(218),transformQuat:n(219),rotateX:n(220),rotateY:n(221),rotateZ:n(222),forEach:n(223)}},function(t,e,n){var r=n(229),o=n(243)((function(t,e){return null==t?{}:r(t,e)}));t.exports=o},function(t,e,n){var r=n(2),o=n(41),i=n(248),a=n(249);function u(e){var n="function"==typeof Map?new Map:void 0;return t.exports=u=function(t){if(null===t||!i(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return a(t,arguments,r(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),o(e,t)},t.exports.default=t.exports,t.exports.__esModule=!0,u(e)}t.exports=u,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){"use strict";var r=n(21),o={createContour2D:function(){return{dir:null,index:null,firstVertex:null,insideContours:null,nextpeer:null,prevpeer:null}},CONTOUR_DIR:{CW_DIR:0,CCW_DIR:1,UNKNOWN_DIR:2},DIR:{OUTSIDE_EDGE:-32767,INSIDE_EDGE:-32766},create:function(t,e){var n=t.data,i=e.data,a=t.size.x,u=t.size.y,c=r.a.create(t,e);return{rasterize:function(t){var e,r,s,f,l,h,d,p,v,y,g,x,_=[],m=0;for(x=0;x<400;x++)_[x]=0;for(_[0]=n[0],v=null,h=1;h0){a=a-1|0;r[n+a|0]=(r[t+a|0]|0)-(r[e+a|0]|0)|0}}function c(t,e,n){t|=0;e|=0;n|=0;var a=0;a=i(o,o)|0;while((a|0)>0){a=a-1|0;r[n+a|0]=r[t+a|0]|0|(r[e+a|0]|0)|0}}function s(t){t|=0;var e=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;e=(e|0)+(r[t+n|0]|0)|0}return e|0}function f(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[t+n|0]=e}}function l(t,e){t|=0;e|=0;var n=0;var i=0;var a=0;var u=0;var c=0;var s=0;var f=0;var l=0;for(n=1;(n|0)<(o-1|0);n=n+1|0){l=l+o|0;for(i=1;(i|0)<(o-1|0);i=i+1|0){u=l-o|0;c=l+o|0;s=i-1|0;f=i+1|0;a=(r[t+u+s|0]|0)+(r[t+u+f|0]|0)+(r[t+l+i|0]|0)+(r[t+c+s|0]|0)+(r[t+c+f|0]|0)|0;if((a|0)>(0|0)){r[e+l+i|0]=1}else{r[e+l+i|0]=0}}}}function h(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[e+n|0]=r[t+n|0]|0}}function d(t){t|=0;var e=0;var n=0;for(e=0;(e|0)<(o-1|0);e=e+1|0){r[t+e|0]=0;r[t+n|0]=0;n=n+o-1|0;r[t+n|0]=0;n=n+1|0}for(e=0;(e|0)<(o|0);e=e+1|0){r[t+n|0]=0;n=n+1|0}}function p(){var t=0;var e=0;var n=0;var r=0;var p=0;var v=0;e=i(o,o)|0;n=e+e|0;r=n+e|0;f(r,0);d(t);do{a(t,e);l(e,n);u(t,n,n);c(r,n,r);h(e,t);p=s(t)|0;v=(p|0)==0|0}while(!v)}return{skeletonize:p}}},function(t,e,n){t.exports=n(263)},function(t,e,n){var r=n(91),o=n(48),i=n(121),a=n(123),u=n(13),c=n(56),s=n(54);t.exports=function t(e,n,f,l,h){e!==n&&i(n,(function(i,c){if(h||(h=new r),u(i))a(e,n,c,f,t,l,h);else{var d=l?l(s(e,c),i,c+"",e,n,h):void 0;void 0===d&&(d=i),o(e,c,d)}}),c)}},function(t,e,n){var r=n(24),o=n(97),i=n(98),a=n(99),u=n(100),c=n(101);function s(t){var e=this.__data__=new r(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=u,s.prototype.set=c,t.exports=s},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(25),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(25);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(25);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(25);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var r=n(24);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(24),o=n(44),i=n(47);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(36),o=n(105),i=n(13),a=n(107),u=/^\[object .+?Constructor\]$/,c=Function.prototype,s=Object.prototype,f=c.toString,l=s.hasOwnProperty,h=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?h:u).test(a(t))}},function(t,e,n){var r=n(27),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,u),n=t[u];try{t[u]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[u]=n:delete t[u]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,o=n(106),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},function(t,e,n){var r=n(17)["__core-js_shared__"];t.exports=r},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(110),o=n(24),i=n(44);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(t,e,n){var r=n(111),o=n(112),i=n(113),a=n(114),u=n(115);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=i<3?void 0:a,i=1),e=Object(e);++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(26),o=n(39),i=n(31),a=n(13);t.exports=function(t,e,n){if(!a(n))return!1;var u=typeof e;return!!("number"==u?o(n)&&i(e,n.length):"string"==u&&e in n)&&r(n[e],t)}},function(t,e){"undefined"!=typeof window&&(window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)})),"function"!=typeof Math.imul&&(Math.imul=function(t,e){var n=65535&t,r=65535&e;return n*r+((t>>>16&65535)*r+n*(e>>>16&65535)<<16>>>0)|0}),"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n0&&(o=1/Math.sqrt(o),t[0]=e[0]*o,t[1]=e[1]*o);return t}},function(t,e){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]}},function(t,e){t.exports=function(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t}},function(t,e){t.exports=function(t,e,n,r){var o=e[0],i=e[1];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t}},function(t,e){t.exports=function(t,e){e=e||1;var n=2*Math.random()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o,t[1]=n[1]*r+n[3]*o,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o+n[4],t[1]=n[1]*r+n[3]*o+n[5],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[3]*o+n[6],t[1]=n[1]*r+n[4]*o+n[7],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[4]*o+n[12],t[1]=n[1]*r+n[5]*o+n[13],t}},function(t,e,n){t.exports=function(t,e,n,o,i,a){var u,c;e||(e=2);n||(n=0);c=o?Math.min(o*e+n,t.length):t.length;for(u=n;un*n){var o=Math.sqrt(r);t[0]=e[0]/o*n,t[1]=e[1]/o*n}else t[0]=e[0],t[1]=e[1];return t}},function(t,e){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},function(t,e,n){t.exports=function(t,e){var n=r(t[0],t[1],t[2]),a=r(e[0],e[1],e[2]);o(n,n),o(a,a);var u=i(n,a);return u>1?0:Math.acos(u)};var r=n(73),o=n(74),i=n(75)},function(t,e){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},function(t,e){t.exports=function(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}},function(t,e,n){t.exports=function(t,e){var n=t[0],o=t[1],i=t[2],a=e[0],u=e[1],c=e[2];return Math.abs(n-a)<=r*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(o-u)<=r*Math.max(1,Math.abs(o),Math.abs(u))&&Math.abs(i-c)<=r*Math.max(1,Math.abs(i),Math.abs(c))};var r=n(71)},function(t,e){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}},function(t,e,n){t.exports=n(76)},function(t,e,n){t.exports=n(77)},function(t,e,n){t.exports=n(78)},function(t,e){t.exports=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}},function(t,e){t.exports=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}},function(t,e){t.exports=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t}},function(t,e,n){t.exports=n(79)},function(t,e,n){t.exports=n(80)},function(t,e,n){t.exports=n(81)},function(t,e,n){t.exports=n(82)},function(t,e){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},function(t,e){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[0],u=n[1],c=n[2];return t[0]=o*c-i*u,t[1]=i*a-r*c,t[2]=r*u-o*a,t}},function(t,e){t.exports=function(t,e,n,r){var o=e[0],i=e[1],a=e[2];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t[2]=a+r*(n[2]-a),t}},function(t,e){t.exports=function(t,e){e=e||1;var n=2*Math.random()*Math.PI,r=2*Math.random()-1,o=Math.sqrt(1-r*r)*e;return t[0]=Math.cos(n)*o,t[1]=Math.sin(n)*o,t[2]=r*e,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[3]*r+n[7]*o+n[11]*i+n[15];return a=a||1,t[0]=(n[0]*r+n[4]*o+n[8]*i+n[12])/a,t[1]=(n[1]*r+n[5]*o+n[9]*i+n[13])/a,t[2]=(n[2]*r+n[6]*o+n[10]*i+n[14])/a,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2];return t[0]=r*n[0]+o*n[3]+i*n[6],t[1]=r*n[1]+o*n[4]+i*n[7],t[2]=r*n[2]+o*n[5]+i*n[8],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[0],u=n[1],c=n[2],s=n[3],f=s*r+u*i-c*o,l=s*o+c*r-a*i,h=s*i+a*o-u*r,d=-a*r-u*o-c*i;return t[0]=f*s+d*-a+l*-c-h*-u,t[1]=l*s+d*-u+h*-a-f*-c,t[2]=h*s+d*-c+f*-u-l*-a,t}},function(t,e){t.exports=function(t,e,n,r){var o=n[1],i=n[2],a=e[1]-o,u=e[2]-i,c=Math.sin(r),s=Math.cos(r);return t[0]=e[0],t[1]=o+a*s-u*c,t[2]=i+a*c+u*s,t}},function(t,e){t.exports=function(t,e,n,r){var o=n[0],i=n[2],a=e[0]-o,u=e[2]-i,c=Math.sin(r),s=Math.cos(r);return t[0]=o+u*c+a*s,t[1]=e[1],t[2]=i+u*s-a*c,t}},function(t,e){t.exports=function(t,e,n,r){var o=n[0],i=n[1],a=e[0]-o,u=e[1]-i,c=Math.sin(r),s=Math.cos(r);return t[0]=o+a*s-u*c,t[1]=i+a*c+u*s,t[2]=e[2],t}},function(t,e,n){t.exports=function(t,e,n,o,i,a){var u,c;e||(e=3);n||(n=0);c=o?Math.min(o*e+n,t.length):t.length;for(u=n;u=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),b(n),s}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;b(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),s}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){var r=n(230),o=n(240);t.exports=function(t,e){return r(t,e,(function(e,n){return o(t,n)}))}},function(t,e,n){var r=n(231),o=n(239),i=n(32);t.exports=function(t,e,n){for(var a=-1,u=e.length,c={};++a0&&i(f)?n>1?t(f,n-1,i,a,u):r(u,f):a||(u[u.length]=f)}return u}},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++nMath.abs(f-c),d=[],p=t.data,v=t.size.x,y=255,g=0;function x(t,e){u=p[e*v+t],y=ug?u:g,d.push(u)}h&&(i=c,c=s,s=i,i=f,f=l,l=i),c>f&&(i=c,c=f,f=i,i=s,s=l,l=i);var _=f-c,m=Math.abs(l-s);r=_/2|0,o=s;var b=sl?f.UP:f.DOWN,h.push({pos:0,val:s[0]}),i=0;id&&s[i+1]>.5*l?f.UP:r)&&(h.push({pos:i,val:s[i]}),r=o);for(h.push({pos:s.length,val:s[s.length-1]}),a=h[0].pos;al?0:1;for(i=1;ih[i].val?h[i].val+(h[i+1].val-h[i].val)/3*2|0:h[i+1].val+(h[i].val-h[i+1].val)/3|0,a=h[i].pos;ad?0:1;return{line:s,threshold:d}},s.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n1&&void 0!==arguments[1]?arguments[1]:0,n=e;nn)return Number.MAX_VALUE;o+=i}return o/u}},{key:"_nextSet",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e;n1&&(t[n[r]]=o)}},{key:"decodePattern",value:function(t){this._row=t;var e=this.decode();return null===e?(this._row.reverse(),(e=this.decode())&&(e.direction=l.Reverse,e.start=this._row.length-e.start,e.end=this._row.length-e.end)):e.direction=l.Forward,e&&(e.format=this.FORMAT),e}},{key:"_matchRange",value:function(t,e,n){var r;for(r=t=t<0?0:t;r0&&void 0!==arguments[0]?arguments[0]:this._nextUnset(this._row),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._row.length,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[],o=0;r[o]=0;for(var i=t;ithis.AVG_CODE_ERROR?null:(this.CODE_PATTERN[n.code]&&(n.correction.bar=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.bar),n.correction.space=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.space)),n)}r[++a]=1,i=!i}return null}},{key:"_correct",value:function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)}},{key:"_findStart",value:function(){for(var t=[0,0,0,0,0,0],e=this._nextSet(this._row),n={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}},r=!1,o=0,i=e;i.48?null:o}n[++a]=1,i=!i}return null}},{key:"_findStart",value:function(){for(var t=this._nextSet(this._row),e=null;!e;){if(!(e=this._findPattern(I,t,!1,!0)))return null;var n=e.start-(e.end-e.start);if(n>=0&&this._matchRange(n,e.start,0))return e;t=e.end,e=null}return null}},{key:"_calculateFirstDigit",value:function(t){for(var e=0;e=10?(r.code-=10,o|=1<<5-i):o|=0<<5-i,e.push(r.code),n.push(r)}var a=this._calculateFirstDigit(o);if(null===a)return null;e.unshift(a);var u=this._findPattern(z,r.end,!0,!1);if(null===u||!u.end)return null;n.push(u);for(var c=0;c<6;c++){if(!(u=this._decodeCode(u.end,10)))return null;n.push(u),e.push(u.code)}return u}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start);return e=0;n-=2)e+=t[n];e*=3;for(var r=t.length-1;r>=0;r-=2)e+=t[r];return e%10==0}},{key:"_decodeExtensions",value:function(t){var e=this._nextSet(this._row,t),n=this._findPattern(U,e,!1,!1);if(null===n)return null;for(var r=0;r0){var u=this._decodeExtensions(a.end);if(!u)return null;if(!u.decodedCodes)return null;var c=u.decodedCodes[u.decodedCodes.length-1],s={start:c.start+((c.end-c.start)/2|0),end:c.end};if(!this._verifyTrailingWhitespace(s))return null;o={supplement:u,code:n.join("")+u.code}}return T(T({code:n.join(""),start:i.start,end:a.end,startInfo:i,decodedCodes:r},o),{},{format:this.FORMAT})}}]),n}(A),W=n(33),F=n.n(W);function V(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var q=new Uint16Array(F()("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%").map((function(t){return t.charCodeAt(0)}))),G=new Uint16Array([52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]),H=function(t){b()(n,t);var e=V(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i3;){n=this._findNextWidth(t,n),r=0;for(var i=0,a=0;an&&(i|=1<0;u++)if(t[u]>n&&(r--,2*t[u]>=o))return-1;return i}}return-1}},{key:"_findNextWidth",value:function(t,e){for(var n=Number.MAX_VALUE,r=0;re&&(n=t[r]);return n}},{key:"_patternToChar",value:function(t){for(var e=0;e=r}},{key:"decode",value:function(t,e){var n=new Uint16Array([0,0,0,0,0,0,0,0,0]),r=[];if(!(e=this._findStart()))return null;var o,i,a=this._nextSet(this._row,e.end);do{n=this._toCounters(a,n);var u=this._toPattern(n);if(u<0)return null;if(null===(o=this._patternToChar(u)))return null;r.push(o),i=a,a+=S.a.sum(n),a=this._nextSet(this._row,a)}while("*"!==o);return r.pop(),r.length&&this._verifyTrailingWhitespace(i,a,n)?{code:r.join(""),start:e.start,end:a,startInfo:e,decodedCodes:r,format:this.FORMAT}:null}}]),n}(A),X=n(12),Q=n.n(X);function Y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var $=/[IOQ]/g,Z=/[A-Z0-9]{17}/,K=function(t){b()(n,t);var e=Y(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;ir&&(r=o),othis._counters.length)return-1;for(var n=this._computeAlternatingThreshold(t,e),r=this._computeAlternatingThreshold(t+1,e),o=64,i=0,a=0,u=0;u<7;u++)i=0==(1&u)?n:r,this._counters[t+u]>i&&(a|=o),o>>=1;return a}},{key:"_isStartEnd",value:function(t){for(var e=0;e=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)}},{key:"_charToPattern",value:function(t){for(var e=t.charCodeAt(0),n=0;n=0;a--){var u=2==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow;c.size+=this._counters[o+a],c.counts++,n>>=1}o+=8}return["space","bar"].forEach((function(t){var e=r[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((2*e.wide.size+1.5)/e.wide.counts)})),r}},{key:"_validateResult",value:function(t,e){for(var n,r=this._thresholdResultPattern(t,e),o=e,i=0;i=0;a--){var u=0==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow,s=this._counters[o+a];if(sc.max)return!1;n>>=1}o+=8}return!0}},{key:"decode",value:function(t,e){if(this._counters=this._fillCounters(),!(e=this._findStart()))return null;var n,r=e.startCounter,o=[];do{if((n=this._toPattern(r))<0)return null;var i=this._patternToChar(n);if(null===i)return null;if(o.push(i),r+=8,o.length>1&&this._isStartEnd(n))break}while(rthis._counters.length?this._counters.length:r;var a=e.start+this._sumCounters(e.startCounter,r-8);return{code:o.join(""),start:e.start,end:a,startInfo:e,decodedCodes:o,format:this.FORMAT}}}]),n}(A);function ot(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var it=function(t){b()(n,t);var e=ot(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<1-c),1!==c&&(r=this._nextSet(this._row,u.end),r=this._nextUnset(this._row,r))}if(2!==i.length||parseInt(i.join(""))%4!==n)return null;var s=this._findStart();return{code:i.join(""),decodedCodes:a,end:u.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(B);function ft(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var lt=[24,20,18,17,12,6,3,10,9,5];var ht=function(t){b()(n,t);var e=ft(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<4-c),4!==c&&(r=this._nextSet(this._row,i.end),r=this._nextUnset(this._row,r))}if(5!==a.length)return null;if(function(t){for(var e=t.length,n=0,r=e-2;r>=0;r-=2)n+=t[r];n*=3;for(var o=e-1;o>=0;o-=2)n+=t[o];return(n*=3)%10}(a)!==function(t){for(var e=0;e<10;e++)if(t===lt[e])return e;return null}(n))return null;var s=this._findStart();return{code:a.join(""),decodedCodes:u,end:i.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(B);function dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function pt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var vt=function(t){b()(n,t);var e=pt(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(r.code=r.code-10,o|=1<<5-i),e.push(r.code),n.push(r)}return this._determineParity(o,e)?r:null}},{key:"_determineParity",value:function(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=new Array(t.length).fill(0),i=0,a={error:Number.MAX_VALUE,start:0,end:0},u=this.AVG_CODE_ERROR;n=n||!1,r=r||!1,e||(e=this._nextSet(this._row));for(var c=e;c=0&&this._matchRange(t,n.start,0))return n;e=n.end,n=null}return null}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],i=0,a={error:Number.MAX_VALUE,code:-1,start:0,end:0},u=0,c=0,s=this.AVG_CODE_ERROR;e||(e=this._nextSet(this._row));for(var f=0;f=0&&this._matchRange(r,t.start,0))return t;e=t.end,t=null}return t}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e4)return-1;if(0==(1&o))for(var a=0;a="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32);break;default:return console.warn("* code_93_reader _decodeExtended hit default case, this may be an error",u),null}n.push(u)}else n.push(o)}return n}},{key:"_matchCheckChar",value:function(t,e,n){var r=t.slice(0,e),o=r.length,i=r.reduce((function(t,e,r){return t+((-1*r+(o-1))%n+1)*Ct.indexOf(e.charCodeAt(0))}),0);return Ct[i%47]===t[e].charCodeAt(0)}},{key:"_verifyChecksums",value:function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)}},{key:"decode",value:function(t,e){if(!(e=this._findStart()))return null;var n,r,o=new Uint16Array([0,0,0,0,0,0]),i=[],a=this._nextSet(this._row,e.end);do{o=this._toCounters(a,o);var u=this._toPattern(o);if(u<0)return null;if(null===(r=this._patternToChar(u)))return null;i.push(r),n=a,a+=S.a.sum(o),a=this._nextSet(this._row,a)}while("*"!==r);return i.pop(),i.length&&this._verifyEnd(n,a)&&this._verifyChecksums(i)?(i=i.slice(0,i.length-2),null===(i=this._decodeExtended(i))?null:{code:i.join(""),start:e.start,end:a,startInfo:e,decodedCodes:i,format:this.FORMAT}):null}}]),n}(A);function St(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var At=/[AEIO]/g,kt=function(t){b()(n,t);var e=St(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i1&&(!e.inImageWithBorder(t[0])||!e.inImageWithBorder(t[1]));)o(-(r-=Math.ceil(r/2)));return t}(r,u,Math.floor(.1*i)))?null:(null===(o=a(r))&&(o=function(t,e,n){var r,o,i,u=Math.sqrt(Math.pow(t[1][0]-t[0][0],2)+Math.pow(t[1][1]-t[0][1],2)),c=null,s=Math.sin(n),f=Math.cos(n);for(r=1;r<16&&null===c;r++)i={y:(o=u/16*r*(r%2==0?-1:1))*s,x:o*f},e[0].y+=i.x,e[0].x-=i.y,e[1].y+=i.x,e[1].x-=i.y,c=a(e);return c}(t,r,u)),null===o?null:{codeResult:o.codeResult,line:r,angle:u,pattern:o.barcodeLine.line,threshold:o.barcodeLine.threshold})}return o(),{decodeFromBoundingBox:function(t){return u(t)},decodeFromBoundingBoxes:function(e){var n,r,o=[],i=t.multiple;for(n=0;n2&&void 0!==arguments[2]&&arguments[2];r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){if(n){var o=e(n);o.subscribers=o&&r?o.subscribers.filter((function(t){return t.callback!==r})):[]}else t={}}}}(),jt=n(20),It=n.n(jt),zt=n(11),Ut=n.n(zt),Lt=n(85),Nt=n.n(Lt),Bt=n(86);function Wt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var Ft,Vt=function(t){b()(n,t);var e=Wt(n);function n(t,r){var o;return v()(this,n),o=e.call(this,t),M()(_()(o),"code",void 0),o.code=r,Object.setPrototypeOf(_()(o),n.prototype),o}return n}(n.n(Bt)()(Error)),qt="This may mean that the user has declined camera access, or the browser does not support media APIs. If you are running in iOS, you must use Safari.";function Gt(){try{return navigator.mediaDevices.enumerateDevices()}catch(e){var t=new Vt("enumerateDevices is not defined. ".concat(qt),-1);return Promise.reject(t)}}function Ht(t){try{return navigator.mediaDevices.getUserMedia(t)}catch(t){var e=new Vt("getUserMedia is not defined. ".concat(qt),-1);return Promise.reject(e)}}function Xt(t){return new Promise((function(e,n){var r=10;!function o(){r>0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(o,500):n(new Vt("Unable to play video stream. Is webcam working?",-1)),r--}()}))}function Qt(t,e){return Yt.apply(this,arguments)}function Yt(){return(Yt=It()(Ut.a.mark((function t(e,n){var r;return Ut.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Ht(n);case 2:if(r=t.sent,Ft=r,!e){t.next=11;break}return e.setAttribute("autoplay","true"),e.setAttribute("muted","true"),e.setAttribute("playsinline","true"),e.srcObject=r,e.addEventListener("loadedmetadata",(function(){e.play()})),t.abrupt("return",Xt(e));case 11:return t.abrupt("return",Promise.resolve());case 12:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function $t(t){var e=Nt()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function Zt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=$t(t);return e&&e.deviceId&&e.facingMode&&delete e.facingMode,Promise.resolve({audio:!1,video:e})}function Kt(){return(Kt=It()(Ut.a.mark((function t(){var e;return Ut.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Gt();case 2:return e=t.sent,t.abrupt("return",e.filter((function(t){return"videoinput"===t.kind})));case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Jt(){if(!Ft)return null;var t=Ft.getVideoTracks();return t&&null!=t&&t.length?t[0]:null}var te={requestedVideoElement:null,request:function(t,e){return It()(Ut.a.mark((function n(){var r;return Ut.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return te.requestedVideoElement=t,n.next=3,Zt(e);case 3:return r=n.sent,n.abrupt("return",Qt(t,r));case 5:case"end":return n.stop()}}),n)})))()},release:function(){var t=Ft&&Ft.getVideoTracks();return null!==te.requestedVideoElement&&te.requestedVideoElement.pause(),new Promise((function(e){setTimeout((function(){t&&t.length&&t[0].stop(),Ft=null,te.requestedVideoElement=null,e()}),0)}))},enumerateVideoDevices:function(){return Kt.apply(this,arguments)},getActiveStreamLabel:function(){var t=Jt();return t?t.label:""},getActiveTrack:Jt},ee=te;var ne={create:function(t){var e,n=document.createElement("canvas"),r=n.getContext("2d"),o=[],i=null!==(e=t.capacity)&&void 0!==e?e:20,a=!0===t.capture;function u(e){return!!i&&e&&!function(t,e){return e&&e.some((function(e){return Object.keys(e).every((function(n){return e[n]===t[n]}))}))}(e,t.blacklist)&&function(t,e){return"function"!=typeof e||e(t)}(e,t.filter)}return{addResult:function(t,e,c){var s={};u(c)&&(i--,s.codeResult=c,a&&(n.width=e.x,n.height=e.y,d.a.drawImage(t,e,r),s.frame=n.toDataURL()),o.push(s))},getResults:function(){return o}}}},re={inputStream:{name:"Live",type:"LiveStream",constraints:{width:640,height:480,facingMode:"environment"},area:{top:"0%",right:"0%",left:"0%",bottom:"0%"},singleChannel:!1},locate:!0,numOfWorkers:4,decoder:{readers:["code_128_reader"]},locator:{halfSample:!0,patchSize:"medium"}},oe=n(7),ie=function t(){v()(this,t),M()(this,"config",void 0),M()(this,"inputStream",void 0),M()(this,"framegrabber",void 0),M()(this,"inputImageWrapper",void 0),M()(this,"stopped",!1),M()(this,"boxSize",void 0),M()(this,"resultCollector",void 0),M()(this,"decoder",void 0),M()(this,"workerPool",[]),M()(this,"onUIThread",!0),M()(this,"canvasContainer",new ue)},ae=function t(){v()(this,t),M()(this,"image",void 0),M()(this,"overlay",void 0)},ue=function t(){v()(this,t),M()(this,"ctx",void 0),M()(this,"dom",void 0),this.ctx=new ae,this.dom=new ae},ce=n(23);function se(t){if("undefined"==typeof document)return null;if(t instanceof HTMLElement&&t.nodeName&&1===t.nodeType)return t;var e="string"==typeof t?t:"#interactive.viewport";return document.querySelector(e)}function fe(t,e){var n=function(t,e){var n=document.querySelector(t);return n||((n=document.createElement("canvas")).className=e),n}(t,e),r=n.getContext("2d");return{canvas:n,context:r}}function le(t){var e,n,r,o,i=se(null==t||null===(e=t.config)||void 0===e||null===(n=e.inputStream)||void 0===n?void 0:n.target),a=null==t||null===(r=t.config)||void 0===r||null===(o=r.inputStream)||void 0===o?void 0:o.type;if(!a)return null;var u=function(t){if("undefined"!=typeof document){var e=fe("canvas.imgBuffer","imgBuffer"),n=fe("canvas.drawingBuffer","drawingBuffer");return e.canvas.width=n.canvas.width=t.x,e.canvas.height=n.canvas.height=t.y,{dom:{image:e.canvas,overlay:n.canvas},ctx:{image:e.context,overlay:n.context}}}return null}(t.inputStream.getCanvasSize());if(!u)return{dom:{image:null,overlay:null},ctx:{image:null,overlay:null}};var c=u.dom;return"undefined"!=typeof document&&i&&("ImageStream"!==a||i.contains(c.image)||i.appendChild(c.image),i.contains(c.overlay)||i.appendChild(c.overlay)),u}var he={274:"orientation"},de=Object.keys(he).map((function(t){return he[t]}));function pe(t){return new Promise((function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)}))}function ve(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()}))}function ye(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de,n=new DataView(t),r=t.byteLength,o=e.reduce((function(t,e){var n=Object.keys(he).filter((function(t){return he[t]===e}))[0];return n&&(t[n]=e),t}),{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1&&void 0!==arguments[1]?arguments[1]:de;return/^blob:/i.test(t)?ve(t).then(pe).then((function(t){return ye(t,e)})):Promise.resolve(null)}(t,["orientation"]).then((function(t){s[0].tags=t,e(s)})).catch((function(t){console.log(t),e(s)})):e(s))},i=0;i0&&n.forEach((function(n){t.removeEventListener(e,n)}))}))},trigger:function(o,a){var s,f,l,h,d,p=i[o];if("canrecord"===o&&(h=t.videoWidth,d=t.videoHeight,e=null!==(f=r)&&void 0!==f&&f.size?h/d>1?r.size:Math.floor(h/d*r.size):h,n=null!==(l=r)&&void 0!==l&&l.size?h/d>1?Math.floor(d/h*r.size):r.size:d,u.x=e,u.y=n),p&&p.length>0)for(s=0;s0)for(n=0;n1?n.size:Math.floor(r/o*n.size):r,e=null!==(f=n)&&void 0!==f&&f.size?r/o>1?Math.floor(o/r*n.size):n.size:o,v.x=t,v.y=e,u=!0,i=0,setTimeout((function(){y("canrecord",[])}),0)}),1,s,null===(l=n)||void 0===l?void 0:l.sequence)},ended:function(){return l},setAttribute:function(){},getConfig:function(){return n},pause:function(){a=!0},play:function(){a=!1},setCurrentTime:function(t){i=t},addEventListener:function(t,e){-1!==h.indexOf(t)&&(d[t]||(d[t]=[]),d[t].push(e))},clearEventHandlers:function(){Object.keys(d).forEach((function(t){return delete d[t]}))},setTopRight:function(t){p.x=t.x,p.y=t.y},getTopRight:function(){return p},setCanvasSize:function(t){v.x=t.x,v.y=t.y},getCanvasSize:function(){return v},getFrame:function(){var t,e;if(!u)return null;a||(t=null===(e=c)||void 0===e?void 0:e[i],i=t&&r&&r()};if(e)for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:"LiveStream",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;switch(t){case"VideoStream":var r=document.createElement("video");return{video:r,inputStream:n.createVideoStream(r)};case"ImageStream":return{inputStream:n.createImageStream()};case"LiveStream":var o=null;return e&&((o=e.querySelector("video"))||(o=document.createElement("video"),e.appendChild(o))),{video:o,inputStream:n.createLiveStream(o)};default:return console.error("* setupInputStream invalid type ".concat(t)),{video:null,inputStream:null}}}(n,this.getViewPort(),Oe),i=o.video,a=o.inputStream;"LiveStream"===n&&i&&ee.request(i,r).then((function(){return a.trigger("canrecord")})).catch((function(e){return t(e)})),a.setAttribute("preload","auto"),a.setInputStream(this.context.config.inputStream),a.addEventListener("canrecord",this.canRecord.bind(void 0,t)),this.context.inputStream=a}}},{key:"getBoundingBoxes",value:function(){var t;return null!==(t=this.context.config)&&void 0!==t&&t.locate?ce.a.locate():[[Object(oe.clone)(this.context.boxSize[0]),Object(oe.clone)(this.context.boxSize[1]),Object(oe.clone)(this.context.boxSize[2]),Object(oe.clone)(this.context.boxSize[3])]]}},{key:"transformResult",value:function(t){var e=this,n=this.context.inputStream.getTopRight(),r=n.x,o=n.y;if((0!==r||0!==o)&&(t.barcodes&&t.barcodes.forEach((function(t){return e.transformResult(t)})),t.line&&2===t.line.length&&function(t,e,n){t[0].x+=e,t[0].y+=n,t[1].x+=e,t[1].y+=n}(t.line,r,o),t.box&&Ie(t.box,r,o),t.boxes&&t.boxes.length>0))for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0,n=t;t&&this.context.onUIThread&&(this.transformResult(t),this.addResult(t,e),n=t.barcodes||t),Tt.publish("processed",n),this.hasCodeResult(t)&&Tt.publish("detected",n)}},{key:"locateAndDecode",value:function(){var t=this.getBoundingBoxes();if(t){var e,n=this.context.decoder.decodeFromBoundingBoxes(t)||{};n.boxes=t,this.publishResult(n,null===(e=this.context.inputImageWrapper)||void 0===e?void 0:e.data)}else{var r,o=this.context.decoder.decodeFromImage(this.context.inputImageWrapper);if(o)this.publishResult(o,null===(r=this.context.inputImageWrapper)||void 0===r?void 0:r.data);else this.publishResult()}}},{key:"startContinuousUpdate",value:function(){var t,e=this,n=null,r=1e3/((null===(t=this.context.config)||void 0===t?void 0:t.frequency)||60);this.context.stopped=!1;var o=this.context;!function t(i){n=n||i,o.stopped||(i>=n&&(n+=r,e.update()),window.requestAnimationFrame(t))}(performance.now())}},{key:"start",value:function(){var t,e;this.context.onUIThread&&"LiveStream"===(null===(t=this.context.config)||void 0===t||null===(e=t.inputStream)||void 0===e?void 0:e.type)?this.startContinuousUpdate():this.update()}},{key:"stop",value:(e=It()(Ut.a.mark((function t(){var e;return Ut.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.context.stopped=!0,je(0),null===(e=this.context.config)||void 0===e||!e.inputStream||"LiveStream"!==this.context.config.inputStream.type){t.next=6;break}return t.next=5,ee.release();case 5:this.context.inputStream.clearEventHandlers();case 6:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"setReaders",value:function(t){this.context.decoder&&this.context.decoder.setReaders(t),function(t){ke.forEach((function(e){return e.worker.postMessage({cmd:"setReaders",readers:t})}))}(t)}},{key:"registerReader",value:function(t,e){Dt.registerReader(t,e),this.context.decoder&&this.context.decoder.registerReader(t,e),function(t,e){ke.forEach((function(n){return n.worker.postMessage({cmd:"registerReader",name:t,reader:e})}))}(t,e)}}]),t}(),Ue=new ze,Le=Ue.context,Ne={init:function(t,e,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ue;return e||(r=new Promise((function(t,n){e=function(e){e?n(e):t()}}))),o.context.config=u()({},re,t),o.context.config.numOfWorkers>0&&(o.context.config.numOfWorkers=0),n?(o.context.onUIThread=!1,o.initializeData(n),e&&e()):o.initInputStream(e),r},start:function(){return Ue.start()},stop:function(){return Ue.stop()},pause:function(){Le.stopped=!0},onDetected:function(t){t&&("function"==typeof t||"object"===i()(t)&&t.callback)?Tt.subscribe("detected",t):console.trace("* warning: Quagga.onDetected called with invalid callback, ignoring")},offDetected:function(t){Tt.unsubscribe("detected",t)},onProcessed:function(t){t&&("function"==typeof t||"object"===i()(t)&&t.callback)?Tt.subscribe("processed",t):console.trace("* warning: Quagga.onProcessed called with invalid callback, ignoring")},offProcessed:function(t){Tt.unsubscribe("processed",t)},setReaders:function(t){t?Ue.setReaders(t):console.trace("* warning: Quagga.setReaders called with no readers, ignoring")},registerReader:function(t,e){t?e?Ue.registerReader(t,e):console.trace("* warning: Quagga.registerReader called with no reader, ignoring"):console.trace("* warning: Quagga.registerReader called with no name, ignoring")},registerResultCollector:function(t){t&&"function"==typeof t.addResult&&(Le.resultCollector=t)},get canvas(){return Le.canvasContainer},decodeSingle:function(t,e){var n=this,r=new ze;return(t=u()({inputStream:{type:"ImageStream",sequence:!1,size:800,src:t.src},numOfWorkers:1,locator:{halfSample:!1}},t)).numOfWorkers>0&&(t.numOfWorkers=0),t.numOfWorkers>0&&("undefined"==typeof Blob||"undefined"==typeof Worker)&&(console.warn("* no Worker and/or Blob support - forcing numOfWorkers to 0"),t.numOfWorkers=0),new Promise((function(o,i){try{n.init(t,(function(){Tt.once("processed",(function(t){r.stop(),e&&e.call(null,t),o(t)}),!0),r.start()}),null,r)}catch(t){i(t)}}))},get default(){return Ne},Readers:r,CameraAccess:ee,ImageDebug:d.a,ImageWrapper:c.a,ResultCollector:ne};e.default=Ne}]).default})); \ No newline at end of file From 95e911981726a4087ce52053e854468cc8e3b24d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 08:44:19 -0800 Subject: [PATCH 04/59] Adds django celery beat --- bookwyrm/settings.py | 1 + bw-dev | 1 + docker-compose.yml | 13 +++++++++++++ requirements.txt | 1 + 4 files changed, 16 insertions(+) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 0fbe3b731..5d4eb7812 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -90,6 +90,7 @@ INSTALLED_APPS = [ "sass_processor", "bookwyrm", "celery", + 'django_celery_beat', "imagekit", "storages", ] diff --git a/bw-dev b/bw-dev index 89cc8d8c3..d4b5263df 100755 --- a/bw-dev +++ b/bw-dev @@ -215,6 +215,7 @@ case "$CMD" in ;; setup) migrate + migrate django_celery_beat initdb runweb python manage.py collectstatic --no-input admin_code diff --git a/docker-compose.yml b/docker-compose.yml index 0994aa00f..e45cae0d1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -70,6 +70,19 @@ services: - db - redis_broker restart: on-failure + celery_beat: + env_file: .env + build: . + networks: + - main + command: celery -A celerywyrm beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler + volumes: + - .:/app + - static_volume:/app/static + - media_volume:/app/images + depends_on: + - celery_worker + restart: on-failure flower: build: . command: celery -A celerywyrm flower --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD} diff --git a/requirements.txt b/requirements.txt index 26582e00d..8eb44d958 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ celery==5.2.2 colorthief==0.2.1 Django==3.2.12 +django-celery-beat==2.2.1 django-compressor==2.4.1 django-imagekit==4.1.0 django-model-utils==4.0.0 From 2a436800c4f801715631993aa95818fe66a18d64 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 10:13:44 -0800 Subject: [PATCH 05/59] Schedules automod task --- bookwyrm/forms.py | 7 +++ bookwyrm/models/antispam.py | 1 + bookwyrm/settings.py | 2 +- .../templates/settings/automod/rules.html | 41 +++++++++++++-- bookwyrm/urls.py | 11 +++- bookwyrm/views/__init__.py | 2 +- bookwyrm/views/admin/automod.py | 50 ++++++++++++++++--- celerywyrm/settings.py | 5 ++ 8 files changed, 105 insertions(+), 14 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 7ae4e446f..00e6d5d8c 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -8,6 +8,7 @@ from django.forms import ModelForm, PasswordInput, widgets, ChoiceField from django.forms.widgets import Textarea from django.utils import timezone from django.utils.translation import gettext_lazy as _ +from django_celery_beat.models import IntervalSchedule from bookwyrm import models from bookwyrm.models.fields import ClearableFileInputWithWarning @@ -556,3 +557,9 @@ class AutoModRuleForm(CustomForm): class Meta: model = models.AutoMod fields = ["string_match", "flag_users", "flag_statuses", "created_by"] + + +class IntervalScheduleForm(CustomForm): + class Meta: + model = IntervalSchedule + fields = ["every", "period"] diff --git a/bookwyrm/models/antispam.py b/bookwyrm/models/antispam.py index f506b6f19..bce02780d 100644 --- a/bookwyrm/models/antispam.py +++ b/bookwyrm/models/antispam.py @@ -54,6 +54,7 @@ class AutoMod(models.Model): @app.task(queue="low_priority") def automod_task(): """Create reports""" + print("TASK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") if not AutoMod.objects.exists(): return reporter = AutoMod.objects.first().created_by diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 5d4eb7812..16e5ccb30 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -90,7 +90,7 @@ INSTALLED_APPS = [ "sass_processor", "bookwyrm", "celery", - 'django_celery_beat', + "django_celery_beat", "imagekit", "storages", ] diff --git a/bookwyrm/templates/settings/automod/rules.html b/bookwyrm/templates/settings/automod/rules.html index 8205b3d71..2a28cb641 100644 --- a/bookwyrm/templates/settings/automod/rules.html +++ b/bookwyrm/templates/settings/automod/rules.html @@ -1,5 +1,6 @@ {% extends 'settings/layout.html' %} {% load i18n %} +{% load humanize %} {% load utilities %} {% block title %} @@ -16,12 +17,46 @@

{% trans "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." %} {% trans "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." %} - {% trans "At this time, reports are not being generated automatically, and you must manually trigger a scan." %}

-
+ {% if task %} +
+
+ {% trans "Schedule:" %} +
+
+ {{ task.schedule }} +
+ +
+ {% trans "Last run:" %} +
+
+ {{ task.last_run_at|naturaltime }} +
+ +
+ {% trans "Total run count:" %} +
+
+ {{ task.total_run_count }} +
+ +
+ {% trans "Enabled:" %} +
+
+ + {{ task.enabled|yesno }} + +
+
+ {% else %} + {% csrf_token %} - + {{ task_form.as_p }} +
+ {% endif %} {% if success %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index d2caa76ea..5abe7ac2e 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -217,11 +217,18 @@ urlpatterns = [ # auto-moderation rules re_path(r"^settings/automod/?$", views.AutoMod.as_view(), name="settings-automod"), re_path( - r"^settings/automod/(?P\d+)/delete?$", + r"^settings/automod/(?P\d+)/delete/?$", views.automod_delete, name="settings-automod-delete", ), - re_path(r"^settings/automod/run?$", views.run_automod, name="settings-automod-run"), + re_path( + r"^settings/automod/schedule/?$", + views.schedule_automod_task, + name="settings-automod-schedule", + ), + re_path( + r"^settings/automod/run/?$", views.run_automod, name="settings-automod-run" + ), # moderation re_path( r"^settings/reports/?$", views.ReportsAdmin.as_view(), name="settings-reports" diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 76e9ff024..aa4d72999 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -2,7 +2,7 @@ # site admin from .admin.announcements import Announcements, Announcement from .admin.announcements import EditAnnouncement, delete_announcement -from .admin.automod import AutoMod, automod_delete, run_automod +from .admin.automod import AutoMod, automod_delete, run_automod, schedule_automod_task from .admin.dashboard import Dashboard from .admin.federation import Federation, FederatedServer from .admin.federation import AddFederatedServer, ImportServerBlocklist diff --git a/bookwyrm/views/admin/automod.py b/bookwyrm/views/admin/automod.py index d9901d01c..fbe6408c6 100644 --- a/bookwyrm/views/admin/automod.py +++ b/bookwyrm/views/admin/automod.py @@ -1,10 +1,12 @@ """ moderation via flagged posts and users """ from django.contrib.auth.decorators import login_required, permission_required +from django.db import transaction from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.views import View from django.views.decorators.http import require_POST +from django_celery_beat.models import PeriodicTask from bookwyrm import forms, models @@ -24,8 +26,9 @@ class AutoMod(View): def get(self, request): """view rules""" - data = {"rules": models.AutoMod.objects.all(), "form": forms.AutoModRuleForm()} - return TemplateResponse(request, "settings/automod/rules.html", data) + return TemplateResponse( + request, "settings/automod/rules.html", automod_view_data() + ) def post(self, request): """add rule""" @@ -35,14 +38,32 @@ class AutoMod(View): form.save() form = forms.AutoModRuleForm() - data = { - "rules": models.AutoMod.objects.all(), - "form": form, - "success": success, - } + data = automod_view_data() + data["form"] = form return TemplateResponse(request, "settings/automod/rules.html", data) +@require_POST +@permission_required("bookwyrm.moderate_user", raise_exception=True) +@permission_required("bookwyrm.moderate_post", raise_exception=True) +def schedule_automod_task(request): + """scheduler""" + form = forms.IntervalScheduleForm(request.POST) + if not form.is_valid(): + data = automod_view_data() + data["task_form"] = form + return TemplateResponse(request, "settings/automod/rules.html", data) + + with transaction.atomic(): + schedule = form.save() + PeriodicTask.objects.get_or_create( + interval=schedule, + name="automod-task", + task="bookwyrm.models.antispam.automod_task", + ) + return redirect("settings-automod") + + @require_POST @permission_required("bookwyrm.moderate_user", raise_exception=True) @permission_required("bookwyrm.moderate_post", raise_exception=True) @@ -62,3 +83,18 @@ def run_automod(request): """run scan""" models.automod_task.delay() return redirect("settings-automod") + + +def automod_view_data(): + """helper to get data used in the template""" + try: + task = PeriodicTask.objects.get(name="automod-task") + except PeriodicTask.DoesNotExist: + task = None + + return { + "task": task, + "task_form": forms.IntervalScheduleForm(), + "rules": models.AutoMod.objects.all(), + "form": forms.AutoModRuleForm(), + } diff --git a/celerywyrm/settings.py b/celerywyrm/settings.py index bd7805e51..35eb3933f 100644 --- a/celerywyrm/settings.py +++ b/celerywyrm/settings.py @@ -3,6 +3,7 @@ # pylint: disable=unused-wildcard-import from bookwyrm.settings import * +# pylint: disable=line-too-long REDIS_BROKER_PASSWORD = requests.utils.quote(env("REDIS_BROKER_PASSWORD", None)) REDIS_BROKER_HOST = env("REDIS_BROKER_HOST", "redis_broker") REDIS_BROKER_PORT = env("REDIS_BROKER_PORT", 6379) @@ -16,6 +17,10 @@ CELERY_DEFAULT_QUEUE = "low_priority" CELERY_ACCEPT_CONTENT = ["json"] CELERY_TASK_SERIALIZER = "json" CELERY_RESULT_SERIALIZER = "json" + +CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" +CELERY_TIMEZONE = env("TIME_ZONE", "UTC") + FLOWER_PORT = env("FLOWER_PORT") INSTALLED_APPS = INSTALLED_APPS + [ From 0870eccad98c28026096f06eb520fc13ebcc4dc9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 10:24:23 -0800 Subject: [PATCH 06/59] Adds unscheduler --- bookwyrm/templates/settings/automod/rules.html | 13 +++++++++++++ bookwyrm/urls.py | 5 +++++ bookwyrm/views/__init__.py | 3 ++- bookwyrm/views/admin/automod.py | 13 +++++++++++-- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/settings/automod/rules.html b/bookwyrm/templates/settings/automod/rules.html index 2a28cb641..0a1b1c3f9 100644 --- a/bookwyrm/templates/settings/automod/rules.html +++ b/bookwyrm/templates/settings/automod/rules.html @@ -50,6 +50,19 @@ + +
+
+ {% csrf_token %} + +
+
+ {% csrf_token %} + +

{% trans "Last run date will not be updated" %}

+
+
+ {% else %}
{% csrf_token %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 5abe7ac2e..b458084e0 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -226,6 +226,11 @@ urlpatterns = [ views.schedule_automod_task, name="settings-automod-schedule", ), + re_path( + r"^settings/automod/unschedule/(?P\d+)/?$", + views.unschedule_automod_task, + name="settings-automod-unschedule", + ), re_path( r"^settings/automod/run/?$", views.run_automod, name="settings-automod-run" ), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index aa4d72999..f93928152 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -2,7 +2,8 @@ # site admin from .admin.announcements import Announcements, Announcement from .admin.announcements import EditAnnouncement, delete_announcement -from .admin.automod import AutoMod, automod_delete, run_automod, schedule_automod_task +from .admin.automod import AutoMod, automod_delete, run_automod +from .admin.automod import schedule_automod_task, unschedule_automod_task from .admin.dashboard import Dashboard from .admin.federation import Federation, FederatedServer from .admin.federation import AddFederatedServer, ImportServerBlocklist diff --git a/bookwyrm/views/admin/automod.py b/bookwyrm/views/admin/automod.py index fbe6408c6..f8c3e8e67 100644 --- a/bookwyrm/views/admin/automod.py +++ b/bookwyrm/views/admin/automod.py @@ -64,14 +64,23 @@ def schedule_automod_task(request): return redirect("settings-automod") +@require_POST +@permission_required("bookwyrm.moderate_user", raise_exception=True) +@permission_required("bookwyrm.moderate_post", raise_exception=True) +# pylint: disable=unused-argument +def unschedule_automod_task(request, task_id): + """unscheduler""" + get_object_or_404(PeriodicTask, id=task_id).delete() + return redirect("settings-automod") + + @require_POST @permission_required("bookwyrm.moderate_user", raise_exception=True) @permission_required("bookwyrm.moderate_post", raise_exception=True) # pylint: disable=unused-argument def automod_delete(request, rule_id): """Remove a rule""" - rule = get_object_or_404(models.AutoMod, id=rule_id) - rule.delete() + get_object_or_404(models.AutoMod, id=rule_id).delete() return redirect("settings-automod") From 6b5bebdf781e067e97683507639343d35e6ade45 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 10:44:50 -0800 Subject: [PATCH 07/59] Cleans up scheduler form --- bookwyrm/forms.py | 5 ++++ .../templates/settings/automod/rules.html | 28 +++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 00e6d5d8c..561a86d00 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -563,3 +563,8 @@ class IntervalScheduleForm(CustomForm): class Meta: model = IntervalSchedule fields = ["every", "period"] + + widgets = { + "every": forms.NumberInput(attrs={"aria-describedby": "desc_every"}), + "period": forms.Select(attrs={"aria-describedby": "desc_period"}), + } diff --git a/bookwyrm/templates/settings/automod/rules.html b/bookwyrm/templates/settings/automod/rules.html index 0a1b1c3f9..ef0a49beb 100644 --- a/bookwyrm/templates/settings/automod/rules.html +++ b/bookwyrm/templates/settings/automod/rules.html @@ -18,8 +18,10 @@ {% trans "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." %} {% trans "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." %}

+ +
{% if task %} -
+
{% trans "Schedule:" %}
@@ -51,7 +53,7 @@
-
+
{% csrf_token %} @@ -64,9 +66,29 @@
{% else %} +

{% trans "Schedule scan" %}

{% csrf_token %} - {{ task_form.as_p }} +
+ + {{ task_form.every }} +

+ {{ task_form.every.help_text }} +

+
+
+ +
+ {{ task_form.period }} +
+

+ {{ task_form.period.help_text }} +

+
{% endif %} From 340b306d2e6cc6e6fad36a51f15e4fe8bbe3e3e0 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 18:08:07 -0800 Subject: [PATCH 08/59] Fix path --- bookwyrm/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 54ccbe276..b059af6d2 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -272,7 +272,7 @@ - + {% block scripts %}{% endblock %} From fcc8b6aaabe7df427038d485b3b1a07cf94fd193 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 18:19:12 -0800 Subject: [PATCH 09/59] Move to sass --- bookwyrm/static/css/bookwyrm.css | 1319 ----------------- bookwyrm/static/css/bookwyrm/_all.scss | 1 + .../css/bookwyrm/components/_barcode.scss | 14 + 3 files changed, 15 insertions(+), 1319 deletions(-) delete mode 100644 bookwyrm/static/css/bookwyrm.css create mode 100644 bookwyrm/static/css/bookwyrm/components/_barcode.scss diff --git a/bookwyrm/static/css/bookwyrm.css b/bookwyrm/static/css/bookwyrm.css deleted file mode 100644 index f1faf30c1..000000000 --- a/bookwyrm/static/css/bookwyrm.css +++ /dev/null @@ -1,1319 +0,0 @@ -html { - scroll-behavior: smooth; -} - -body { - min-height: 100vh; - display: flex; - flex-direction: column; -} - -button { - border: none; - margin: 0; - padding: 0; - width: auto; - overflow: visible; - background: transparent; - - /* inherit font, color & alignment from ancestor */ - color: inherit; - font: inherit; - text-align: inherit; - - /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */ - line-height: normal; - - /* Corrects font smoothing for webkit */ - -webkit-font-smoothing: inherit; - -moz-osx-font-smoothing: inherit; - - /* Corrects inability to style clickable `input` types in iOS */ - -webkit-appearance: none; - - /* Generalizes pointer cursor */ - cursor: pointer; -} - -button::-moz-focus-inner { - /* Remove excess padding and border in Firefox 4+ */ - border: 0; - padding: 0; -} - -/* Better accessibility for keyboard users */ -*:focus-visible { - outline-style: auto !important; -} - -.image { - overflow: hidden; -} - -.navbar .logo { - max-height: 50px; -} - -.card { - overflow: visible; -} - -.card.has-border { - border: 1px solid #eee; -} - -.scroll-x { - overflow: hidden; - overflow-x: auto; -} - -.modal-card { - pointer-events: none; -} - -.modal-card > * { - pointer-events: all; -} - -/* stylelint-disable no-descending-specificity */ -.modal-card:focus { - outline-style: auto; -} - -.modal-card:focus:not(:focus-visible) { - outline-style: initial; -} - -.modal-card:focus-visible { - outline-style: auto; -} -/* stylelint-enable no-descending-specificity */ - -.modal-card.is-fullwidth { - min-width: 75% !important; -} - -@media only screen and (min-width: 769px) { - .modal-card.is-thin { - width: 350px !important; - } -} - -.modal-card-body { - max-height: 70vh; -} - -.clip-text { - max-height: 35em; - overflow: hidden; -} - -/** Utilities not covered by Bulma - ******************************************************************************/ - -@media only screen and (max-width: 768px) { - .is-sr-only-mobile { - border: none !important; - clip: rect(0, 0, 0, 0) !important; - height: 0.01em !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - white-space: nowrap !important; - width: 0.01em !important; - } - - .m-0-mobile { - margin: 0 !important; - } - - .card-footer.is-stacked-mobile { - flex-direction: column; - } - - .card-footer.is-stacked-mobile .card-footer-item:not(:last-child) { - border-bottom: 1px solid #ededed; - border-right: 0; - } - - .is-flex-direction-row-mobile { - flex-direction: row !important; - } - - .is-flex-direction-column-mobile { - flex-direction: column !important; - } -} - -.tag.is-small { - height: auto; -} - -.button.is-transparent { - background-color: transparent; -} - -.card.is-stretchable { - display: flex; - flex-direction: column; - height: 100%; -} - -.card.is-stretchable .card-content { - flex-grow: 1; -} - -.preserve-whitespace p { - white-space: pre-wrap !important; -} - -.display-inline p { - display: inline !important; -} - -button .button-invisible-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 1rem; - box-sizing: border-box; - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; - background: rgba(0, 0, 0, 66%); - color: white; - opacity: 0; - transition: opacity 0.2s ease; -} - -button:hover .button-invisible-overlay, -button:active .button-invisible-overlay, -button:focus-visible .button-invisible-overlay { - opacity: 1; -} - -/** File input styles - ******************************************************************************/ - -input[type="file"]::file-selector-button { - -moz-appearance: none; - -webkit-appearance: none; - background-color: #fff; - border-radius: 4px; - border: 1px solid #dbdbdb; - box-shadow: none; - color: #363636; - cursor: pointer; - font-size: 1rem; - height: 2.5em; - justify-content: center; - line-height: 1.5; - padding-bottom: calc(0.5em - 1px); - padding-left: 1em; - padding-right: 1em; - padding-top: calc(0.5em - 1px); - text-align: center; - white-space: nowrap; -} - -input[type="file"]::file-selector-button:hover { - border-color: #b5b5b5; - color: #363636; -} - -/** General `details` element styles - ******************************************************************************/ - -details summary { - cursor: pointer; -} - -summary::-webkit-details-marker { - display: none; -} - -details summary::marker { - content: none; -} - -details.detail-pinned-button summary { - position: absolute; - right: 0; -} - -details.detail-pinned-button form { - float: left; - width: 100%; - margin-top: 1em; -} - -/** Dropdown w/ Details element - ******************************************************************************/ - -details.dropdown[open] summary.dropdown-trigger::before { - content: ""; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; -} - -details.dropdown .dropdown-menu { - display: block !important; -} - -details.dropdown .dropdown-menu button { - /* Fix weird Safari defaults */ - box-sizing: border-box; -} - -details.dropdown .dropdown-menu button:focus-visible, -details.dropdown .dropdown-menu a:focus-visible { - outline-style: auto; - outline-offset: -2px; -} - -@media only screen and (max-width: 768px) { - details.dropdown[open] summary.dropdown-trigger::before { - background-color: rgba(0, 0, 0, 50%); - z-index: 30; - } - - details .dropdown-menu { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - display: flex !important; - align-items: center; - justify-content: center; - pointer-events: none; - z-index: 100; - } - - details .dropdown-menu > * { - pointer-events: all; - } -} - -/** Details panel - ******************************************************************************/ - -details.details-panel { - box-shadow: 0 0 0 1px rgba(0, 0, 0, 10%); - transition: box-shadow 0.2s ease; - padding: 0.75rem; -} - -details[open].details-panel, -details.details-panel:hover { - box-shadow: 0 0 0 1px rgba(0, 0, 0, 20%); -} - -details.details-panel summary { - position: relative; -} - -details.details-panel summary .details-close { - position: absolute; - right: 0; - top: 0; - transform: rotate(45deg); - transition: transform 0.2s ease; -} - -details[open].details-panel summary .details-close { - transform: rotate(0deg); -} - -@media only screen and (min-width: 769px) { - .details-panel .filters-field:not(:last-child) { - border-right: 1px solid rgba(0, 0, 0, 10%); - margin-top: 0.75rem; - margin-bottom: 0.75rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - } -} - -/** Shelving - ******************************************************************************/ - -/** @todo Replace icons with SVG symbols. - @see https://www.youtube.com/watch?v=9xXBYcWgCHA */ -.shelf-option:disabled > *::after { - font-family: icomoon; /* stylelint-disable font-family-no-missing-generic-family-keyword */ - content: "\e919"; /* icon-check */ - margin-left: 0.5em; -} - -/** Toggles - ******************************************************************************/ - -.toggle-button[aria-pressed="true"], -.toggle-button[aria-pressed="true"]:hover { - background-color: hsl(171deg, 100%, 41%); - color: white; -} - -.hide-active[aria-pressed="true"], -.hide-inactive[aria-pressed="false"] { - display: none; -} - -.transition-x.is-hidden, -.transition-y.is-hidden { - display: block !important; - visibility: hidden !important; - height: 0 !important; - width: 0 !important; - margin: 0 !important; - padding: 0 !important; - overflow: auto; -} - -.transition-x, -.transition-y { - transition-duration: 0.5s; - transition-timing-function: ease; -} - -.transition-x { - transition-property: width, margin-left, margin-right, padding-left, padding-right; -} - -.transition-y { - transition-property: height, margin-top, margin-bottom, padding-top, padding-bottom; -} - -@media (prefers-reduced-motion: reduce) { - .transition-x, - .transition-y { - transition-duration: 0.001ms !important; - } -} - -/** Stars - ******************************************************************************/ - -.stars { - white-space: nowrap; -} - -/** Stars in a review form - * - * Specificity makes hovering taking over checked inputs. - * - * \e9d9: filled star - * \e9d7: empty star; - * -------------------------------------------------------------------------- */ - -.form-rate-stars { - width: max-content; -} - -/* All stars are visually filled by default. */ -.form-rate-stars .icon::before { - content: "\e9d9"; /* icon-star-full */ -} - -/* Icons directly following half star inputs are marked as half */ -.form-rate-stars input.half:checked ~ .icon::before { - content: "\e9d8"; /* icon-star-half */ -} - -/* stylelint-disable no-descending-specificity */ -.form-rate-stars input.half:checked + input + .icon:hover::before { - content: "\e9d8" !important; /* icon-star-half */ -} - -/* Icons directly following half check inputs that follow the checked input are emptied. */ -.form-rate-stars input.half:checked + input + .icon ~ .icon::before { - content: "\e9d7"; /* icon-star-empty */ -} - -/* Icons directly following inputs that follow the checked input are emptied. */ -.form-rate-stars input:checked ~ input + .icon::before { - content: "\e9d7"; /* icon-star-empty */ -} - -/* When a label is hovered, repeat the fill-all-then-empty-following pattern. */ -.form-rate-stars:hover .icon.icon::before { - content: "\e9d9" !important; /* icon-star-full */ -} - -.form-rate-stars .icon:hover ~ .icon::before { - content: "\e9d7" !important; /* icon-star-empty */ -} - -/** Book covers - * - * - .is-cover gives the behaviour of the cover and its surrounding. (optional) - * - .cover-container gives the dimensions and position (for borders, image and other elements). - * - .book-cover is positioned and sized based on its container. - * - * To have the cover within specific dimensions, specify a width or height for - * standard bulma’s named breapoints: - * - * `is-(w|h)-(auto|xs|s|m|l|xl|xxl)[-(mobile|tablet|desktop)]` - * - * The cover will be centered horizontally and vertically within those dimensions. - * - * When using `.column.is-N`, add `.is-w-auto` to the container so that the flex - * calculations are not biased by the default `max-content`. - ******************************************************************************/ - -.column.is-cover { - flex-grow: 0 !important; -} - -.column.is-cover, -.column.is-cover + .column { - flex-basis: auto !important; -} - -.cover-container { - display: flex; - justify-content: center; - align-items: center; - position: relative; - width: max-content; - max-width: 100%; - overflow: hidden; -} - -/* Book cover - * -------------------------------------------------------------------------- */ - -.book-cover { - display: block; - max-width: 100%; - max-height: 100%; - - /* Useful when stretching under-sized images. */ - image-rendering: optimizequality; - image-rendering: smooth; -} - -/* Cover caption - * -------------------------------------------------------------------------- */ - -.no-cover .cover-caption { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 0.5em; - font-size: 0.75em; - color: white; - background-color: #002549; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - gap: 1em; - white-space: initial; - text-align: center; -} - -/** Avatars - ******************************************************************************/ - -.avatar { - vertical-align: middle; - display: inline; -} - -/** Statuses: Quotes - * - * \e906: icon-quote-open - * \e905: icon-quote-close - * - * The `content` class on the blockquote allows to apply styles to markdown - * generated HTML in the quote: https://bulma.io/documentation/elements/content/ - * - * ```html - *
- *
- * User generated quote in markdown… - *
- * - *

Book Title by Author

- *
- * ``` - ******************************************************************************/ - -.quote > blockquote { - position: relative; - padding-left: 2em; -} - -.quote > blockquote::before, -.quote > blockquote::after { - font-family: icomoon; - position: absolute; -} - -.quote > blockquote::before { - content: "\e907"; /* icon-quote-open */ - top: 0; - left: 0; -} - -.quote > blockquote::after { - content: "\e906"; /* icon-quote-close */ - right: 0; -} - -/** Animations and transitions - ******************************************************************************/ - -@keyframes turning { - from { transform: rotateZ(0deg); } - to { transform: rotateZ(360deg); } -} - -.is-processing .icon-spinner::before { - animation: turning 1.5s infinite linear; -} - -.icon-spinner { - display: none; -} - -.is-processing .icon-spinner { - display: flex; -} - -@media (prefers-reduced-motion: reduce) { - .is-processing .icon::before { - transition-duration: 0.001ms !important; - } -} - -/** Transient notification - ******************************************************************************/ - -#live-messages { - position: fixed; - bottom: 1em; - right: 1em; -} - -/** Tooltips - ******************************************************************************/ - -.tooltip { - width: 100%; -} - -/** States - ******************************************************************************/ - -/* "disabled" for non-buttons */ - -.is-disabled { - background-color: #dbdbdb; - border-color: #dbdbdb; - box-shadow: none; - color: #7a7a7a; - opacity: 0.5; - cursor: not-allowed; -} - -/* Book preview table - ******************************************************************************/ - -.book-preview td { - vertical-align: middle; -} - -@media only screen and (max-width: 768px) { - table.is-mobile, - table.is-mobile tbody { - display: block; - } - - table.is-mobile tr { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - border-top: 1px solid #dbdbdb; - } - - table.is-mobile td { - display: block; - box-sizing: border-box; - flex: 1 0 100%; - order: 2; - border-bottom: 0; - } - - table.is-mobile td.book-preview-top-row { - order: 1; - flex-basis: auto; - } - - table.is-mobile td[data-title]:not(:empty)::before { - content: attr(data-title); - display: block; - font-size: 0.75em; - font-weight: bold; - } - - table.is-mobile td:empty { - padding: 0; - } - - table.is-mobile th, - table.is-mobile thead { - display: none; - } -} - -/* Book list - ******************************************************************************/ - -ol.ordered-list { - list-style: none; - counter-reset: list-counter; -} - -ol.ordered-list li { - counter-increment: list-counter; -} - -ol.ordered-list li::before { - content: counter(list-counter); - position: absolute; - left: -20px; - width: 20px; - height: 24px; - background-color: #fff; - border: 1px solid #dbdbdb; - border-right: 0; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - display: flex; - justify-content: center; - align-items: center; - color: #888; - font-size: 0.8em; - font-weight: bold; -} - -@media only screen and (max-width: 768px) { - ol.ordered-list li::before { - left: 0; - z-index: 1; - border: 0; - border-right: 1px solid #dbdbdb; - border-bottom: 1px solid #dbdbdb; - border-radius: 0; - border-bottom-right-radius: 2px; - } -} - -.overflow-wrap-anywhere { - overflow-wrap: anywhere; - min-width: 10em; -} - -/* Threads - ******************************************************************************/ - -.thread .is-main .card { - box-shadow: 0 0.5em 1em -0.125em rgb(50 115 220 / 35%), 0 0 0 1px rgb(50 115 220 / 2%); -} - -.thread::after { - content: ""; - position: absolute; - z-index: -1; - top: 0; - bottom: 0; - left: 2.5em; - border-left: 2px solid #e0e0e0; -} - -/* Breadcrumbs - ******************************************************************************/ - -.breadcrumb li:first-child * { - padding-left: 0; -} - -.breadcrumb li > * { - align-items: center; - display: flex; - justify-content: center; - padding: 0 0.75em; -} - -/* Notifications page - ******************************************************************************/ - -.notification a.icon { - text-decoration: none !important; -} - -/* Breadcrumbs - ******************************************************************************/ - -.books-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 1rem; - align-items: end; - justify-items: stretch; -} - -.books-grid > .is-big { - grid-column: span 2; - grid-row: span 2; - justify-self: stretch; -} - -.books-grid .book-cover { - width: 100%; -} - -.books-grid .book-title { - --height-basis: 1.35rem; - - display: block; - margin-top: 0.5rem; - line-height: var(--height-basis); - min-height: calc(2 * var(--height-basis)); -} - -@media only screen and (min-width: 769px) { - .books-grid { - gap: 1.5rem; - grid-template-columns: repeat(auto-fill, minmax(8em, 1fr)); - } -} - -/* Copy - ******************************************************************************/ - -.horizontal-copy { - display: flex; - flex-direction: row; - align-items: center; - gap: 0.75rem; -} - -.horizontal-copy textarea { - min-width: initial; - white-space: nowrap; -} - -.horizontal-copy button { - align-self: stretch; - height: unset; -} - -.vertical-copy { - display: flex; - flex-direction: column; - align-items: stretch; - gap: 0.75rem; -} - -.vertical-copy button { - width: 100%; -} - -/* Dimensions - * @todo These could be in rem. - ******************************************************************************/ - -.is-32x32 { - min-width: 32px !important; - min-height: 32px !important; -} - -.is-96x96 { - min-width: 96px !important; - min-height: 96px !important; -} - -.is-w-auto { - width: auto !important; -} - -.is-w-xs { - width: 80px !important; -} - -.is-w-s { - width: 100px !important; -} - -.is-w-m { - width: 150px !important; -} - -.is-w-l { - width: 200px !important; -} - -.is-w-xl { - width: 250px !important; -} - -.is-w-xxl { - width: 500px !important; -} - -.is-h-xs { - height: 80px !important; -} - -.is-h-s { - height: 100px !important; -} - -.is-h-m { - height: 150px !important; -} - -.is-h-l { - height: 200px !important; -} - -.is-h-xl { - height: 250px !important; -} - -.is-h-xxl { - height: 500px !important; -} - -@media only screen and (max-width: 768px) { - .is-w-auto-mobile { - width: auto !important; - } - - .is-w-xs-mobile { - width: 80px !important; - } - - .is-w-s-mobile { - width: 100px !important; - } - - .is-w-m-mobile { - width: 150px !important; - } - - .is-w-l-mobile { - width: 200px !important; - } - - .is-w-xl-mobile { - width: 250px !important; - } - - .is-w-xxl-mobile { - width: 500px !important; - } - - .is-h-xs-mobile { - height: 80px !important; - } - - .is-h-s-mobile { - height: 100px !important; - } - - .is-h-m-mobile { - height: 150px !important; - } - - .is-h-l-mobile { - height: 200px !important; - } - - .is-h-xl-mobile { - height: 250px !important; - } - - .is-h-xxl-mobile { - height: 500px !important; - } -} - -@media only screen and (min-width: 769px) { - .is-w-auto-tablet { - width: auto !important; - } - - .is-w-xs-tablet { - width: 80px !important; - } - - .is-w-s-tablet { - width: 100px !important; - } - - .is-w-m-tablet { - width: 150px !important; - } - - .is-w-l-tablet { - width: 200px !important; - } - - .is-w-xl-tablet { - width: 250px !important; - } - - .is-w-xxl-tablet { - width: 500px !important; - } - - .is-h-xs-tablet { - height: 80px !important; - } - - .is-h-s-tablet { - height: 100px !important; - } - - .is-h-m-tablet { - height: 150px !important; - } - - .is-h-l-tablet { - height: 200px !important; - } - - .is-h-xl-tablet { - height: 250px !important; - } - - .is-h-xxl-tablet { - height: 500px !important; - } -} - -@media only screen and (min-width: 1024px) { - .is-w-auto-desktop { - width: auto !important; - } - - .is-w-xs-desktop { - width: 80px !important; - } - - .is-w-s-desktop { - width: 100px !important; - } - - .is-w-m-desktop { - width: 150px !important; - } - - .is-w-l-desktop { - width: 200px !important; - } - - .is-w-xl-desktop { - width: 250px !important; - } - - .is-w-xxl-desktop { - width: 500px !important; - } - - .is-h-xs-desktop { - height: 80px !important; - } - - .is-h-s-desktop { - height: 100px !important; - } - - .is-h-m-desktop { - height: 150px !important; - } - - .is-h-l-desktop { - height: 200px !important; - } - - .is-h-xl-desktop { - height: 250px !important; - } - - .is-h-xxl-desktop { - height: 500px !important; - } -} - -/* Alignments - * - * Use them with `.align.to-(c|t|r|b|l)[-(mobile|tablet)]` - ******************************************************************************/ - -/* Flex item position - * -------------------------------------------------------------------------- */ - -.align { - display: flex !important; - flex-direction: row !important; -} - -.align.to-c { - justify-content: center !important; -} - -.align.to-t { - align-items: flex-start !important; -} - -.align.to-r { - justify-content: flex-end !important; -} - -.align.to-b { - align-items: flex-end !important; -} - -.align.to-l { - justify-content: flex-start !important; -} - -@media screen and (max-width: 768px) { - .align.to-c-mobile { - justify-content: center !important; - } - - .align.to-t-mobile { - align-items: flex-start !important; - } - - .align.to-r-mobile { - justify-content: flex-end !important; - } - - .align.to-b-mobile { - align-items: flex-end !important; - } - - .align.to-l-mobile { - justify-content: flex-start !important; - } -} - -@media screen and (min-width: 769px) { - .align.to-c-tablet { - justify-content: center !important; - } - - .align.to-t-tablet { - align-items: flex-start !important; - } - - .align.to-r-tablet { - justify-content: flex-end !important; - } - - .align.to-b-tablet { - align-items: flex-end !important; - } - - .align.to-l-tablet { - justify-content: flex-start !important; - } -} - -/* Spacings - * - * Those are supplementary rules to Bulma’s. They follow the same conventions. - * Add those you’ll need. - ******************************************************************************/ - -.mr-auto { - margin-right: auto !important; -} - -.ml-auto { - margin-left: auto !important; -} - -@media screen and (max-width: 768px) { - .m-0-mobile { - margin: 0 !important; - } - - .mr-auto-mobile { - margin-right: auto !important; - } - - .ml-auto-mobile { - margin-left: auto !important; - } - - .mt-3-mobile { - margin-top: 0.75rem !important; - } - - .ml-3-mobile { - margin-left: 0.75rem !important; - } - - .mx-3-mobile { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - - .my-3-mobile { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } -} - -@media screen and (min-width: 769px) { - .m-0-tablet { - margin: 0 !important; - } - - .mr-auto-tablet { - margin-right: auto !important; - } - - .ml-auto-tablet { - margin-left: auto !important; - } - - .mt-3-tablet { - margin-top: 0.75rem !important; - } - - .ml-3-tablet { - margin-left: 0.75rem !important; - } - - .mx-3-tablet { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - - .my-3-tablet { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } -} - -/* Gaps (for Flexbox and Grid) - * - * Those are supplementary rules to Bulma’s. They follow the same conventions. - * Add those you’ll need. - ******************************************************************************/ - -.is-gap-0 { - gap: 0; -} - -.is-gap-1 { - gap: 0.25rem; -} - -.is-gap-2 { - gap: 0.5rem; -} - -.is-gap-3 { - gap: 0.75rem; -} - -.is-gap-4 { - gap: 1rem; -} - -.is-gap-5 { - gap: 1.5rem; -} - -.is-gap-6 { - gap: 3rem; -} - -.is-row-gap-0 { - row-gap: 0; -} - -.is-row-gap-1 { - row-gap: 0.25rem; -} - -.is-row-gap-2 { - row-gap: 0.5rem; -} - -.is-row-gap-3 { - row-gap: 0.75rem; -} - -.is-row-gap-4 { - row-gap: 1rem; -} - -.is-row-gap-5 { - row-gap: 1.5rem; -} - -.is-row-gap-6 { - row-gap: 3rem; -} - -.is-column-gap-0 { - column-gap: 0; -} - -.is-column-gap-1 { - column-gap: 0.25rem; -} - -.is-column-gap-2 { - column-gap: 0.5rem; -} - -.is-column-gap-3 { - column-gap: 0.75rem; -} - -.is-column-gap-4 { - column-gap: 1rem; -} - -.is-column-gap-5 { - column-gap: 1.5rem; -} - -.is-column-gap-6 { - column-gap: 3rem; -} - -/* Barcode scanner CSS */ -#barcode-scanner { - position: relative; - min-height: 200px; -} - -#barcode-scanner .drawingBuffer { - position: absolute; - top: 0; - left: 0; - height: auto; - width: 100%; -} diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 11d7e403d..e9333bd19 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -1,6 +1,7 @@ /** Imports ******************************************************************************/ @import "components/avatar"; +@import "components/barcode"; @import "components/book_cover"; @import "components/book_grid"; @import "components/book_list"; diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss new file mode 100644 index 000000000..da1aa721c --- /dev/null +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -0,0 +1,14 @@ + +/* Barcode scanner CSS */ +#barcode-scanner { + position: relative; + min-height: 200px; + + .drawingBuffer { + position: absolute; + top: 0; + left: 0; + height: auto; + width: 100%; + } +} From 649ffe571a96b0bb25249cc846fd8468ea73661a Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 18:29:38 -0800 Subject: [PATCH 10/59] Fix typos with searching --- bookwyrm/static/js/bookwyrm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 10032c557..d7ba9ffe0 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -689,7 +689,7 @@ let BookWyrm = new (class { statusNode.querySelector('.isbn').innerText = code; toggleStatus('found'); - const search = new Url('search'); + const search = new URL('/search', document.location); search.searchParams.set('q', code); cleanup(); From 8d0e5494808137d8763ee3f001c629de5c07ffb7 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 20:19:26 -0800 Subject: [PATCH 11/59] Improve visuals and quality of scanning --- .../css/bookwyrm/components/_barcode.scss | 10 +++++++++ bookwyrm/static/js/bookwyrm.js | 22 +++++++++++-------- bookwyrm/templates/search/barcode_modal.html | 4 ++-- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index da1aa721c..1abbf5d40 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -12,3 +12,13 @@ width: 100%; } } + +#barcode-status { + :dir(ltr) .select { + float: right; + } + + :dir(rtl) .select { + float: left; + } +} diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index d7ba9ffe0..4944ada65 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -655,10 +655,13 @@ let BookWyrm = new (class { } } - function cleanup() { + function cleanup(clearDrawing = true) { Quagga.stop(); - scannerNode.replaceChildren(); cameraListNode.removeEventListener('change', changeListener); + + if (clearDrawing) { + scannerNode.replaceChildren(); + } } Quagga.onProcessed((result) => { @@ -683,7 +686,14 @@ let BookWyrm = new (class { } }); + let lastDetection = null; Quagga.onDetected((result) => { + // Detect the same code twice as an extra check to avoid bogus scans. + if (lastDetection === null || lastDetection !== result.codeResult.code) { + lastDetection = result.codeResult.code; + return; + } + const code = result.codeResult.code; statusNode.querySelector('.isbn').innerText = code; @@ -692,7 +702,7 @@ let BookWyrm = new (class { const search = new URL('/search', document.location); search.searchParams.set('q', code); - cleanup(); + cleanup(false); location.assign(search); }); @@ -711,12 +721,6 @@ let BookWyrm = new (class { constraints: { facingMode: "environment", }, - area: { - top: "25%", - right: "25%", - left: "25%", - bottom: "25%", - } }, decoder : { readers: [ diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 17eb8829e..00cc7c027 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -12,7 +12,7 @@
@@ -25,7 +25,7 @@ {% trans "Align your book's barcode with the camera." %}
From fee6ffcbd858b0a54bdadc236d17c448d78a5ba8 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 21:29:18 -0800 Subject: [PATCH 12/59] Fix formatting in chrome Was using experimental selector, forget about it. Also reduce jumping around of video size --- .../static/css/bookwyrm/components/_barcode.scss | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index 1abbf5d40..c12d59ea4 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -2,7 +2,7 @@ /* Barcode scanner CSS */ #barcode-scanner { position: relative; - min-height: 200px; + min-height: 450px; .drawingBuffer { position: absolute; @@ -13,12 +13,6 @@ } } -#barcode-status { - :dir(ltr) .select { - float: right; - } - - :dir(rtl) .select { - float: left; - } +#barcode-status .select { + float: right; } From 464050deaa4911bca518a43ee3568df296c257ad Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 21:32:01 -0800 Subject: [PATCH 13/59] Implement switching cameras Also, use session storage to remember last selected camera deviceId, if any --- bookwyrm/static/js/bookwyrm.js | 119 +++++++++++++++++++-------------- 1 file changed, 67 insertions(+), 52 deletions(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 4944ada65..0ae950447 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -645,8 +645,7 @@ let BookWyrm = new (class { const cameraListNode = document.getElementById("barcode-camera-list"); let changeListener = cameraListNode.addEventListener('change', (event) => { - // TODO - //event.target.value + initBarcodes(event.target.value); }); function toggleStatus(status) { @@ -655,6 +654,71 @@ let BookWyrm = new (class { } } + function initBarcodes(cameraId = null) { + if (!cameraId) { + cameraId = sessionStorage.getItem('preferredCam'); + } else { + sessionStorage.setItem('preferredCam', cameraId); + } + + scannerNode.replaceChildren(); + Quagga.stop(); + Quagga.init({ + inputStream : { + name: "Live", + type: "LiveStream", + target: scannerNode, + constraints: { + facingMode: "environment", + deviceId: cameraId, + }, + }, + decoder : { + readers: [ + "ean_reader", + { + format: "ean_reader", + config: { + supplements: [ "ean_2_reader", "ean_5_reader" ] + } + } + ], + multiple: false + }, + }, (err) => { + if (err) { + console.log(err); + toggleStatus('access-denied'); + return; + } + + let activeId = null; + const track = Quagga.CameraAccess.getActiveTrack(); + if (track) { + activeId = track.getSettings().deviceId; + } + + Quagga.CameraAccess.enumerateVideoDevices().then((devices) => { + cameraListNode.replaceChildren(); + + for (const device of devices) { + const child = document.createElement('option'); + child.value = device.deviceId; + child.innerText = device.label.slice(0, 30); + + if (activeId === child.value) { + child.selected = true; + } + + cameraListNode.appendChild(child); + } + }); + + toggleStatus('scanning'); + Quagga.start(); + }); + } + function cleanup(clearDrawing = true) { Quagga.stop(); cameraListNode.removeEventListener('change', changeListener); @@ -709,55 +773,6 @@ let BookWyrm = new (class { event.target.addEventListener('close', cleanup, { once: true }); toggleStatus('grant-access'); - - // Clear camera list - cameraListNode.replaceChildren(); - - Quagga.init({ - inputStream : { - name: "Live", - type: "LiveStream", - target: scannerNode, - constraints: { - facingMode: "environment", - }, - }, - decoder : { - readers: [ - "ean_reader", - { - format: "ean_reader", - config: { - supplements: [ "ean_2_reader", "ean_5_reader" ] - } - } - ], - multiple: false - }, - }, (err) => { - if (err) { - console.log(err); - toggleStatus('access-denied'); - return; - } - - const stream = Quagga.CameraAccess.getActiveStreamLabel(); - Quagga.CameraAccess.enumerateVideoDevices().then((devices) => { - for (const device of devices) { - const child = document.createElement('option'); - child.value = device.deviceId || device.id; - child.innerText = device.label.slice(0, 30); - - if (stream === child.value) { - child.selected = true; - } - - cameraListNode.appendChild(child); - } - }); - - Quagga.start(); - toggleStatus('scanning'); - }); + initBarcodes(); } })(); From cdddf73e29ea23b72ab988b57dae1647cef8d1b8 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 23:22:44 -0800 Subject: [PATCH 14/59] Improve layout for some camera types --- .../static/css/bookwyrm/components/_barcode.scss | 14 +++++++++++--- bookwyrm/static/js/bookwyrm.js | 6 +++++- bookwyrm/templates/search/barcode_modal.html | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index c12d59ea4..b6b416977 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -2,14 +2,22 @@ /* Barcode scanner CSS */ #barcode-scanner { position: relative; - min-height: 450px; + max-width: 100%; + text-align: center; + + video { + height: calc(70vh - 200px); + max-width: 100%; + } .drawingBuffer { position: absolute; top: 0; left: 0; - height: auto; - width: 100%; + right: 0; + margin: auto; + height: calc(70vh - 200px); + max-width: 100%; } } diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 0ae950447..f6811614b 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -751,11 +751,15 @@ let BookWyrm = new (class { }); let lastDetection = null; + let numDetected = 0; Quagga.onDetected((result) => { - // Detect the same code twice as an extra check to avoid bogus scans. + // Detect the same code 3 times as an extra check to avoid bogus scans. if (lastDetection === null || lastDetection !== result.codeResult.code) { + numDetected = 1; lastDetection = result.codeResult.code; return; + } else if (numDetected++ < 3) { + return; } const code = result.codeResult.code; diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 00cc7c027..93789ae3f 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -8,7 +8,7 @@ {% endblock %} {% block modal-body %} -
+
+
{% endblock %} From e71a5e3bdfe6a4077ddcbbffcf392f09519c44bc Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:00:22 -0800 Subject: [PATCH 17/59] Add barcode icon and use other icons Minor formatting and messaging tweaks --- .../css/bookwyrm/components/_barcode.scss | 1 + bookwyrm/static/css/fonts/icomoon.eot | Bin 10460 -> 10688 bytes bookwyrm/static/css/fonts/icomoon.svg | 1 + bookwyrm/static/css/fonts/icomoon.ttf | Bin 10296 -> 10524 bytes bookwyrm/static/css/fonts/icomoon.woff | Bin 10372 -> 10600 bytes bookwyrm/static/css/vendor/icons.css | 3 +++ bookwyrm/static/js/bookwyrm.js | 1 + bookwyrm/templates/search/barcode_modal.html | 9 ++++++++- 8 files changed, 14 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index b6b416977..8c77d5252 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -4,6 +4,7 @@ position: relative; max-width: 100%; text-align: center; + height: calc(70vh - 200px); video { height: calc(70vh - 200px); diff --git a/bookwyrm/static/css/fonts/icomoon.eot b/bookwyrm/static/css/fonts/icomoon.eot index 7b1f2d9d9f9d3ff8805e56d83c6c2ceba7654a8f..69628662beb9b527fe62d38c0d177366773ad879 100644 GIT binary patch delta 613 zcmcZ;cp#YVfF=WjjOIi(GnVu$U+IYs<@JUP3=Df17#I?ga}x`e=Pr+6U|^JCU|{G; zPb@BAU|Q4-vdbcmfq`)Y1A~f1MrvY;{EI&&3=FC-7#JALGBQ#V zIk;KO85qLm;ejBN$^#U%{P3=9km8h=3Y49v_IC#Nu0hk~3X z!63lE%)r6G$e{32^rgZ}^OsdG+g{#!#r4YU|KI=rLAn?eUNXEChss=s%P{_bEY2d% zEcRAxwb%l&05L_;Zw$-~jFS&)NN#pzvSnmZR#H;l+{P>~S1-W8z~I2b!0f=l%)rjT z&A`tf%plGn%^=U9%%IMo&7jX<%wW!7&0x>KAZ#qCjEotfd=SlSET{~kS&c=N&7oM; zSX3E=)uA*)L&E_FhXx0S0}c+13}EVC_yGll0}2X^3ltRoEC35NI5;pmK=6TvhJObd z8kimaHZV2d#||iffnoDvML`xBY2U2$cz&C&4BRZ>(7NYv2To7EplZ&jJDEdmGAjcM x1B1on1#04xH>(9mO9-qI6cKb0ED-Dyyd=aSB*VbSz`&r(B*h@GSx$W)BLLigqk8}V delta 369 zcmX>Qd?%3Yjs^pRg~miSGnPQzr#B}$l-Ci{&P^=1ymsOm1_nkM1_p+f z^u*!<1_lNJ1_s6j3=9k$={c2YdKcn%FfcH#U|>*A$Vg30kr$F*!@!`*!N9;^mXVQ~ z$idBG#=xNJz`($ul95|dvA~YgnSntyg@J)#Lr#8j;{IJbrZF(6i7+rQMCB${6fl_T zG08A6sDUg}$V<#ko$1B-n}I=X0s{kMTS0zt2?H|&0|SGG1Oo$u0s}Mig~=(5)!G>h z3=Con0u0OyYz&MH3NJ-pD!i + diff --git a/bookwyrm/static/css/fonts/icomoon.ttf b/bookwyrm/static/css/fonts/icomoon.ttf index 151f2b782e011873be7120240fc65777f3771917..12c79d551739bdbfe9e7246ae713b4d23545fdce 100644 GIT binary patch delta 595 zcmdlHFej*50V!3=9kc3=E7b7#J8h(sL@)Om+O$Vg30k$>^0gn>cz1p@qRQq_tZFQ(48rPA znxUcLfP+JWgTny_2Sx@k^)LK@g2Dj>1;zym3V#-Wg&G_j7#$$^Ktsd70}Tz#4u2b% z8t`KW6u`i+`M-i7i;T2yR(d?Y%~u9)7Eo|9+;g}Crzh*EnltK7PEnoA$T0bfYPO<; qz$!rzK^MUS!9KxDLL5Re;6$U#Bn3(e3=9lRlNB|DH&0eu$_N1TgOqUq delta 367 zcmbOev?HLNfsuiMft#U$ftkU;KUm+0Ux?j+fq`KU0|P@sa&BV5<+T&nFfcI6FfcH* zq$d^^FfcF(FfcGKU|?Y2NYANE)4LGAgMoo@1p|X}LPlz0ioB5g8U_Yc4h9AWvy6P#=r-wX_D6Brm6+Y0iFOBk3L7#J8dBp4VN6d0J9FHAg8Eu6u? zz#zsTz`)GF#=yv+@KW@p!sGx(N#&}SZ7;9C;(BHF|L_0*42=IDi?fI`i>(ryFXk_% zAo`VonSpWgL`Lz=D;aGWS(KEOl{UX(l9${3P?4WS=H^q~z<7R}uMFHQAPX7pUd^2Y zVu0w$JZk2QI+I=0CNo-0exN2k`LkMpw4J~Tfg6G>f=YsEf^!5nFff3FR)IWDY7~4R2rWfb$g8bqV1_n(Juo{qBW(EcZ zX6B2Nc^Ioh3m6y}Bp3u3m>D=27#S2^ioR5MY5ub6W!uYJuee^B{r~&_KPVg+6kamC z6o<-Ohs!Yje=N=-&Mfv;Y_-?|u>dhe(QgdQ42-Za+x(i*o{>daNlAIL9<#h$y#NCP zg98f#vjYP&13LpZ13!Z>gE)gUgFJ&WgF1sYgFb^XgE@mWgFOR-u(6;rGG>JGK{T_m zpfZSNH5OGihhkM@QDqQThtdoU4F?rJD>mthRxoJf-Ex9zFFz<{5D@1xLLpc?1YHCR1p5Rp32_L?fRmjrlN19ej2IZ0KtZ_qzS>eo E0PditHvj+t delta 413 zcmaD6)DkFC?(gQtz{tSBz@X8>zzwD?CI@PYPt+EvH%QJ+EMQ<@%wS+(XaV8NYbUNr zPb>zBy)IVGeEW(UIgx?EPc4CgfguWn_wU*b&GrZO<7-Cw5g6LNUW(G!3sBHeqXv@f=q^zv8*^F6UZnLfuKa0%Gr@Ddh{5D@1xLH8q$8h&* z?i>&UL{E-TGiTJ9JV9;pWOelnMLU5N0yhL%1eFBS1m_5X{0j { if (err) { + scannerNode.replaceChildren(); console.log(err); toggleStatus('access-denied'); return; diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 9480197f8..3f7b01cea 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -12,19 +12,26 @@
- + From 9f67a74340737a902ffcb6317e03535196804402 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:04:25 -0800 Subject: [PATCH 18/59] Show grant access dialog every time we initialize --- bookwyrm/static/js/bookwyrm.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index efd5cfff0..01c13091a 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -655,6 +655,8 @@ let BookWyrm = new (class { } function initBarcodes(cameraId = null) { + toggleStatus('grant-access'); + if (!cameraId) { cameraId = sessionStorage.getItem('preferredCam'); } else { @@ -777,7 +779,6 @@ let BookWyrm = new (class { event.target.addEventListener('close', cleanup, { once: true }); - toggleStatus('grant-access'); initBarcodes(); } })(); From 43f62ef5d7add5d3a4fc8bc146ea5ed15693812e Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:18:38 -0800 Subject: [PATCH 19/59] d'oh, fix event leak --- bookwyrm/static/js/bookwyrm.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 01c13091a..39d5f6647 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -644,9 +644,11 @@ let BookWyrm = new (class { const statusNode = document.getElementById("barcode-status"); const cameraListNode = document.getElementById("barcode-camera-list"); - let changeListener = cameraListNode.addEventListener('change', (event) => { + cameraListNode.addEventListener('change', onChangeCamera); + + function onChangeCamera(event) { initBarcodes(event.target.value); - }); + } function toggleStatus(status) { for (const child of statusNode.children) { @@ -724,7 +726,7 @@ let BookWyrm = new (class { function cleanup(clearDrawing = true) { Quagga.stop(); - cameraListNode.removeEventListener('change', changeListener); + cameraListNode.removeEventListener('change', onChangeCamera); if (clearDrawing) { scannerNode.replaceChildren(); From f5c66b5b4a9e983426a1ebf2389697224c965df3 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:33:54 -0800 Subject: [PATCH 20/59] Adjust layout more Ensure camera select box is never hidden. --- .../static/css/bookwyrm/components/_barcode.scss | 2 +- bookwyrm/static/js/bookwyrm.js | 2 +- bookwyrm/templates/search/barcode_modal.html | 14 +++++++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index 8c77d5252..c000a1a89 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -22,6 +22,6 @@ } } -#barcode-status .select { +#barcode-camera-list { float: right; } diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 39d5f6647..a9cc5c6ca 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -642,7 +642,7 @@ let BookWyrm = new (class { openBarcodeScanner(event) { const scannerNode = document.getElementById("barcode-scanner"); const statusNode = document.getElementById("barcode-status"); - const cameraListNode = document.getElementById("barcode-camera-list"); + const cameraListNode = document.querySelector("#barcode-camera-list > select"); cameraListNode.addEventListener('change', onChangeCamera); diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 3f7b01cea..cfbb4e1c8 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -8,9 +8,17 @@ {% endblock %} {% block modal-body %} -
+
+
+
+ +
+ +
+
- + +
+ + {{ form.subjects }} + + {% trans "Separate multiple values with commas." %} + + + {% include 'snippets/form_errors.html' with errors_list=form.subjects.errors id="desc_subjects" %} +
From 822868bf8786a0becc68fdb1613684f3598d84cb Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 12 Mar 2022 04:17:11 -0800 Subject: [PATCH 31/59] fish autocompletions --- bw-dev | 1 + complete_bwdev.fish | 97 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 complete_bwdev.fish diff --git a/bw-dev b/bw-dev index 41971bb81..1cc930264 100755 --- a/bw-dev +++ b/bw-dev @@ -225,6 +225,7 @@ case "$CMD" in *) set +x # No need to echo echo echo "Unrecognised command. Try:" + echo " setup" echo " up [container]" echo " service_ports_web" echo " initdb" diff --git a/complete_bwdev.fish b/complete_bwdev.fish new file mode 100644 index 000000000..9cd8f2600 --- /dev/null +++ b/complete_bwdev.fish @@ -0,0 +1,97 @@ +# bw-dev auto-completions for fish-shell. +# copy this to ~./.config/fish/completions/ with the name `bw-dev.fish` +# this will only work if renamed to `bw-dev.fish`. + +set -l commands up \ +service_ports_web \ +initdb \ +resetdb \ +makemigrations \ +migrate \ +bash \ +shell \ +dbshell \ +restart_celery \ +pytest \ +collectstatic \ +makemessages \ +compilemessages \ +update_locales \ +build \ +clean \ +black \ +prettier \ +stylelint \ +formatters \ +compilescss \ +collectstatic_watch \ +populate_streams \ +populate_lists_streams \ +populate_suggestions \ +generate_thumbnails \ +generate_preview_images \ +copy_media_to_s3 \ +set_cors_to_s3 \ +setup \ +admin_code \ +runweb + +function __bw_complete -a cmds cmd desc + complete -f -c bw-dev -n "not __fish_seen_subcommand_from $cmds" -a $cmd -d $desc +end + + +__bw_complete "$commands" "up" "bring one or all service(s) up" +__bw_complete "$commands" "service_ports_web" "run command on the web container with its portsenabled and mapped" +__bw_complete "$commands" "initdb" "initialize database" +__bw_complete "$commands" "resetdb" "!! WARNING !! reset database" +__bw_complete "$commands" "makemigrations" "create new migrations" +__bw_complete "$commands" "migrate" "perform all migrations" +__bw_complete "$commands" "bash" "open up bash within the web container" +__bw_complete "$commands" "shell" "open the Python shell within the web container" +__bw_complete "$commands" "dbshell" "open the database shell within the web container" +__bw_complete "$commands" "restart_celery" "restart the celery container" +__bw_complete "$commands" "pytest" "run unit tests" +__bw_complete "$commands" "collectstatic" "copy changed static files into the installation" +__bw_complete "$commands" "makemessages" "extract all localizable messages from the code" +__bw_complete "$commands" "compilemessages" "compile .po localization files to .mo" +__bw_complete "$commands" "update_locales" "run makemessages and compilemessages for the en_US and additional locales" +__bw_complete "$commands" "build" "build the containers" +__bw_complete "$commands" "clean" "bring the cluster down and remove all containers" +__bw_complete "$commands" "black" "run Python code formatting tool" +__bw_complete "$commands" "prettier" "run JavaScript code formatting tool" +__bw_complete "$commands" "stylelint" "run SCSS linting tool" +__bw_complete "$commands" "formatters" "run multiple formatter tools" +__bw_complete "$commands" "compilescss" "compile the SCSS layouts to CSS" +__bw_complete "$commands" "populate_streams" "populate the main streams" +__bw_complete "$commands" "populate_lists_streams" "populate streams for book lists" +__bw_complete "$commands" "populate_suggestions" "populate book suggestions" +__bw_complete "$commands" "generate_thumbnails" "generate book thumbnails" +__bw_complete "$commands" "generate_preview_images" "generate book preview images" +__bw_complete "$commands" "collectstatic_watch" "watch filesystem and copy changed static files" +__bw_complete "$commands" "copy_media_to_s3" "run the `s3 cp` command to copy media to a bucket on S3" +__bw_complete "$commands" "sync_media_to_s3" "run the `s3 sync` command to sync media with a bucket on S3" +__bw_complete "$commands" "set_cors_to_s3" "push a CORS configuration defined in .json to s3" +__bw_complete "$commands" "setup" "perform first-time setup" +__bw_complete "$commands" "admin_code" "get the admin code" +__bw_complete "$commands" "runweb" "run a command on the web container" + +complete -f -c bw-dev -n "__fish_seen_subcommand_from up"\ + -a "(docker-compose config --service)" + +complete -x -c bw-dev -n "__fish_seen_subcommand_from migrate" + +complete -x -c bw-dev -n "__fish_seen_subcommand_from pytest"\ + -a "bookwyrm/tests/**.py" + +complete -x -c bw-dev -n "__fish_seen_subcommand_from populate_streams"\ + -a "--stream=" -d "pick a single stream to populate" + +complete -x -c bw-dev -n "__fish_seen_subcommand_from populate_streams"\ + -l stream -a "home local books" + +complete -x -c bw-dev -n "__fish_seen_subcommand_from generate_preview_images"\ + -a "--all" -d "Generates images for ALL types: site, users and books. Can use a lot of computing power." + +complete -x -c bw-dev -n "__fish_seen_subcommand_from set_cors_to_s3"\ + -a "**.json" From 4530d4917a7513beea762b4a68b43013ac9b7815 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 12 Mar 2022 04:24:22 -0800 Subject: [PATCH 32/59] make more compact with a function --- complete_bwdev.fish | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/complete_bwdev.fish b/complete_bwdev.fish index 9cd8f2600..426ab0d49 100644 --- a/complete_bwdev.fish +++ b/complete_bwdev.fish @@ -40,7 +40,6 @@ function __bw_complete -a cmds cmd desc complete -f -c bw-dev -n "not __fish_seen_subcommand_from $cmds" -a $cmd -d $desc end - __bw_complete "$commands" "up" "bring one or all service(s) up" __bw_complete "$commands" "service_ports_web" "run command on the web container with its portsenabled and mapped" __bw_complete "$commands" "initdb" "initialize database" @@ -76,22 +75,16 @@ __bw_complete "$commands" "setup" "perform first-time setup" __bw_complete "$commands" "admin_code" "get the admin code" __bw_complete "$commands" "runweb" "run a command on the web container" -complete -f -c bw-dev -n "__fish_seen_subcommand_from up"\ - -a "(docker-compose config --service)" -complete -x -c bw-dev -n "__fish_seen_subcommand_from migrate" +function __bw_complete_subcommand -a cmd + complete -f -c bw-dev -n "__fish_seen_subcommand_from $cmd" $argv[2..-1] +end -complete -x -c bw-dev -n "__fish_seen_subcommand_from pytest"\ - -a "bookwyrm/tests/**.py" - -complete -x -c bw-dev -n "__fish_seen_subcommand_from populate_streams"\ - -a "--stream=" -d "pick a single stream to populate" - -complete -x -c bw-dev -n "__fish_seen_subcommand_from populate_streams"\ - -l stream -a "home local books" - -complete -x -c bw-dev -n "__fish_seen_subcommand_from generate_preview_images"\ - -a "--all" -d "Generates images for ALL types: site, users and books. Can use a lot of computing power." - -complete -x -c bw-dev -n "__fish_seen_subcommand_from set_cors_to_s3"\ - -a "**.json" +__bw_complete_subcommand "up" -a "(docker-compose config --service)" +__bw_complete_subcommand "migrate" +__bw_complete_subcommand "pytest" -a "bookwyrm/tests/**.py" +__bw_complete_subcommand "populate_streams" -a "--stream=" -d "pick a single stream to populate" +__bw_complete_subcommand "populate_streams" -l stream -a "home local books" +__bw_complete_subcommand "generate_preview_images" -a "--all"\ + -d "Generates images for ALL types: site, users and books. Can use a lot of computing power." +__bw_complete_subcommand "set_cors_to_s3" -a "**.json" From 3358c233ea9b3c2816eded5bfd306e3ad3df2936 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 12 Mar 2022 04:38:42 -0800 Subject: [PATCH 33/59] remove no-up autocomplete --- complete_bwdev.fish | 1 - 1 file changed, 1 deletion(-) diff --git a/complete_bwdev.fish b/complete_bwdev.fish index 426ab0d49..c1f28dd51 100644 --- a/complete_bwdev.fish +++ b/complete_bwdev.fish @@ -81,7 +81,6 @@ function __bw_complete_subcommand -a cmd end __bw_complete_subcommand "up" -a "(docker-compose config --service)" -__bw_complete_subcommand "migrate" __bw_complete_subcommand "pytest" -a "bookwyrm/tests/**.py" __bw_complete_subcommand "populate_streams" -a "--stream=" -d "pick a single stream to populate" __bw_complete_subcommand "populate_streams" -l stream -a "home local books" From 306f177d5586263228928f4fcde46446c1b47823 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 12 Mar 2022 21:12:25 -0700 Subject: [PATCH 34/59] add SASS_PROCESSOR_ENABLED = True --- bookwyrm/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 7d04a0466..6911d2325 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -188,6 +188,7 @@ STATICFILES_FINDERS = [ ] SASS_PROCESSOR_INCLUDE_FILE_PATTERN = r"^.+\.[s]{0,1}(?:a|c)ss$" +SASS_PROCESSOR_ENABLED = True # minify css is production but not dev if not DEBUG: From 0c87ee1d4b83b605a2735bf8ddc0cac418386b2b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 11:36:31 -0700 Subject: [PATCH 35/59] Fixes instructions on admin themes view --- bookwyrm/management/commands/compilethemes.py | 32 ------------------- bookwyrm/templates/settings/themes.html | 2 +- bw-dev | 2 +- 3 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 bookwyrm/management/commands/compilethemes.py diff --git a/bookwyrm/management/commands/compilethemes.py b/bookwyrm/management/commands/compilethemes.py deleted file mode 100644 index e3fba632b..000000000 --- a/bookwyrm/management/commands/compilethemes.py +++ /dev/null @@ -1,32 +0,0 @@ -""" Compile themes """ -import os -from django.contrib.staticfiles.utils import get_files -from django.contrib.staticfiles.storage import StaticFilesStorage -from django.core.files.base import ContentFile -from django.core.management.base import BaseCommand - -import sass -from sass_processor.processor import SassProcessor - -# pylint: disable=line-too-long -class Command(BaseCommand): - """Compile themes""" - - help = "Compile theme scss files" - - # pylint: disable=no-self-use,unused-argument - def handle(self, *args, **options): - """compile themes""" - storage = StaticFilesStorage() - theme_files = list(get_files(storage, location="css/themes")) - theme_files = [t for t in theme_files if t[-5:] == ".scss"] - for filename in theme_files: - path = storage.path(filename) - content = sass.compile( - filename=path, - include_paths=SassProcessor.include_paths, - ) - basename, _ = os.path.splitext(path) - destination_filename = basename + ".css" - print(f"saving f{destination_filename}") - storage.save(destination_filename, ContentFile(content)) diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index d3dac804f..44d0cecec 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -29,7 +29,7 @@ {% trans "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." %}
  • - {% trans "Run ./bw-dev compilescss." %} + {% trans "Run ./bw-dev collectstatic." %}
  • {% trans "Add the file name using the form below to make it available in the application interface." %} diff --git a/bw-dev b/bw-dev index 1cc930264..b4b8cc0d3 100755 --- a/bw-dev +++ b/bw-dev @@ -154,7 +154,7 @@ case "$CMD" in --config dev-tools/.stylelintrc.js ;; compilescss) - runweb python manage.py compilethemes + runweb python manage.py compilescss runweb python manage.py collectstatic --no-input ;; collectstatic_watch) From 2f124e00d123a0ecdf932b58ee4331125b826873 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 11:57:46 -0700 Subject: [PATCH 36/59] Updates locales --- locale/de_DE/LC_MESSAGES/django.po | 60 +++++++------- locale/en_US/LC_MESSAGES/django.po | 120 +++++++++++++-------------- locale/es_ES/LC_MESSAGES/django.mo | Bin 83719 -> 83719 bytes locale/es_ES/LC_MESSAGES/django.po | 60 +++++++------- locale/fr_FR/LC_MESSAGES/django.po | 60 +++++++------- locale/gl_ES/LC_MESSAGES/django.mo | Bin 89448 -> 89448 bytes locale/gl_ES/LC_MESSAGES/django.po | 60 +++++++------- locale/it_IT/LC_MESSAGES/django.mo | Bin 90758 -> 90758 bytes locale/it_IT/LC_MESSAGES/django.po | 60 +++++++------- locale/lt_LT/LC_MESSAGES/django.mo | Bin 84886 -> 84886 bytes locale/lt_LT/LC_MESSAGES/django.po | 60 +++++++------- locale/no_NO/LC_MESSAGES/django.mo | Bin 79871 -> 79871 bytes locale/no_NO/LC_MESSAGES/django.po | 60 +++++++------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 90058 -> 90058 bytes locale/pt_BR/LC_MESSAGES/django.po | 60 +++++++------- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72909 -> 72909 bytes locale/pt_PT/LC_MESSAGES/django.po | 60 +++++++------- locale/sv_SE/LC_MESSAGES/django.mo | Bin 87935 -> 87935 bytes locale/sv_SE/LC_MESSAGES/django.po | 60 +++++++------- locale/zh_Hans/LC_MESSAGES/django.po | 60 +++++++------- locale/zh_Hant/LC_MESSAGES/django.po | 60 +++++++------- 21 files changed, 417 insertions(+), 423 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index e458e84b6..f7ed0969d 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 20:16\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -261,73 +261,73 @@ msgstr "Zitate" msgid "Everything else" msgstr "Alles andere" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Start-Zeitleiste" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Startseite" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Bücher-Zeitleiste" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bücher" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Englisch)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (Spanisch)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Galizisch)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (Italienisch)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Französisch)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisch)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (Norwegisch)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (brasilianisches Portugiesisch)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugiesisch)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Schwedisch)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (vereinfachtes Chinesisch)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinesisch, traditionell)" @@ -356,54 +356,54 @@ msgstr "Etwas ist schief gelaufen! Tut uns leid." msgid "About" msgstr "Über" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Willkommen auf %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s ist Teil von BookWyrm, ein Netzwerk unabhängiger, selbstverwalteter Gemeinschaften für Leser*innen. Obwohl du dich nahtlos mit anderen Benutzer*innen überall im BookWyrm-Netzwerk austauschen kannst, ist diese Gemeinschaft einzigartig." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s ist mit einer durchschnittlichen Bewertung von %(rating)s (von 5) das beliebtestes Buch auf %(site_name)s." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Das Buch %(title)s wollen mehr Benutzer*innen von %(site_name)s lesen als jedes andere Buch." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s hat die unterschiedlichsten Bewertungen aller Bücher auf %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Verfolge deine Lektüre, sprich über Bücher, schreibe Besprechungen und entdecke, was Du als Nächstes lesen könntest. BookWyrm ist eine Software im menschlichen Maßstab, die immer übersichtlich, werbefrei, persönlich, und gemeinschaftsorientiert sein wird. Wenn du Feature-Anfragen, Fehlerberichte oder große Träume hast, wende dich an und verschaffe dir Gehör." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Lerne deinen Admins kennen" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "Die Moderator*innen und Administrator*innen von %(site_name)s halten diese Seite am Laufen. Beachte den Verhaltenskodex und melde, wenn andere Benutzer*innen dagegen verstoßen oder Spam verbreiten." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderator*in" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administration" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index a6941e87f..76cfb32bd 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -221,7 +221,7 @@ msgid "Followers" msgstr "" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -262,73 +262,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -728,14 +728,14 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -749,20 +749,20 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "" @@ -771,9 +771,9 @@ msgstr "" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "" -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -874,8 +874,8 @@ msgid "Add to list" msgstr "" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "" @@ -1216,7 +1216,7 @@ msgstr "" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1292,7 +1292,7 @@ msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "" msgid "This action cannot be un-done" msgstr "" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "" msgid "Suggest \"%(title)s\" for this list" msgstr "" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "" msgid "All books" msgstr "" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "" msgid "Content" msgstr "" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "" @@ -4851,10 +4849,6 @@ msgstr "" msgid "Groups: %(username)s" msgstr "" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index cdb48a306eb2e333416e2cd803bb8ce01c4274c3..43db15d9d564c104654b5a2f27f668fb4ecbd918 100644 GIT binary patch delta 22 dcmZqgV{Pwa-5`93-9o|0(8|zkv(%xtEdW=?2ps?b delta 22 dcmZqgV{Pwa-5`93-AKXE(#qI!v(%xtEdW>D2qORh diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 51f969045..98d4e124f 100644 --- a/locale/es_ES/LC_MESSAGES/django.po +++ b/locale/es_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-02 19:39\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -261,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "Todo lo demás" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Línea de tiempo principal" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Línea temporal de libros" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch (Alemán)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Gallego)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Francés)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (Noruego)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileño)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chino simplificado)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chino tradicional)" @@ -356,54 +356,54 @@ msgstr "¡Algo salió mal! Disculpa." msgid "About" msgstr "Acerca de" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "¡Bienvenido a %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s es parte de BookWyrm, una red de comunidades independientes y autogestionadas para lectores. Aunque puedes interactuar sin problemas con los usuarios de cualquier parte de la red BookWyrm, esta comunidad es única." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s es el libro más querido de %(site_name)s, con una valoración promedio de %(rating)s sobre 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Los usuarios de %(site_name)s quieren leer %(title)s más que cualquier otro libro." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "Las valoraciones de %(title)s están más divididas que las de cualquier otro libro en %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Haz un registro de tu lectura, habla sobre libros, escribe reseñas y descubre qué leer a continuación. BookWyrm es un software de escala humana, siempre sin anuncios, anticorporativo y orientado a la comunidad, diseñado para ser pequeño y personal. Si tienes solicitudes de características, informes de errores o grandes sueños, contacta y hazte oír." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Conoce a tus administradores" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en funcionamiento, hacen cumplir el código de conducta y responden cuando los usuarios informan de spam y mal comportamiento." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administrador" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 31ebd43cd..6c5d17c4d 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-02 12:24\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -261,73 +261,73 @@ msgstr "Citations" msgid "Everything else" msgstr "Tout le reste" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Accueil" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Actualité de mes livres" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livres" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Galicien)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (italien)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituanien)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (norvégien)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugais brésilien)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugais européen)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Suédois)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简化字" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "Infos supplémentaires :" @@ -356,54 +356,54 @@ msgstr "Une erreur s’est produite ; désolé !" msgid "About" msgstr "À propos" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Bienvenue sur %(site_name)s !" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s fait partie de BookWyrm, un réseau de communautés indépendantes et autogérées, à destination des lecteurs. Bien que vous puissiez interagir apparemment avec les comptes n'importe où dans le réseau BookWyrm, cette communauté est unique." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s est le livre le plus aimé de %(site_name)s, avec une note moyenne de %(rating)s sur 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Sur %(site_name)s, c’est %(title)s que tout le monde veut lire plus que n’importe quel autre livre." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s divise les critiques plus que n’importe quel autre livre sur %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Gardez trace de vos lectures, parlez de livres, écrivez des commentaires et découvrez quoi lire ensuite. BookWyrm est un logiciel à échelle humaine, sans publicité, anti-capitaliste et axé sur la communauté, conçu pour rester petit et personnel. Si vous avez des demandes de fonctionnalités, des rapports de bogue ou des rêves grandioses, rejoignez-nous et faites-vous entendre." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Rencontrez vos admins" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "L’administration et la modération de %(site_name)s maintiennent le site opérationnel, font respecter le code de conduite, et répondent lorsque les utilisateurs signalent le spam et les mauvais comportements." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Modérateur/modératrice" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index dbe430ba55e58d9a4febfef0b56a7a2c87061b09..691d4246e087603ac0f44e63c0f842b22202e1a0 100644 GIT binary patch delta 22 ecmaE{i}l4W)(zR0*)0@|46O{!HWyv~)(HT0#0nPx delta 22 ecmaE{i}l4W)(zR0*^Lwo%&m+~HWyv~)(HT0pb8ZL diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index b76edace6..1f45a6890 100644 --- a/locale/gl_ES/LC_MESSAGES/django.po +++ b/locale/gl_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-02 07:34\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -261,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "As outras cousas" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Cronoloxía de Inicio" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Cronoloxía de libros" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Alemán (Alemaña)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (España)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (Italian)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Francés (Francia)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lithuanian)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Noruegués (Norwegian)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileiro)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Sueco (Swedish)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinés simplificado)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinés tradicional)" @@ -356,54 +356,54 @@ msgstr "Algo fallou! Lamentámolo." msgid "About" msgstr "Acerca de" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Sexas ben vida a %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s é parte de BookWyrm, unha rede independente, auto-xestionada por comunidades de persoas lectoras. Aínda que podes interactuar con outras usuarias da rede BookWyrm, esta comunidade é única." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s é o libro máis querido de %(site_name)s, cunha valoración media de %(rating)s sobre 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "%(title)s é o libro que máis queren ler as usuarias de %(site_name)s." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s é o libro con valoracións máis diverxentes en %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Rexistra as túas lecturas, conversa acerca dos libros, escribe recensións e descubre próximas lecturas. Sempre sen publicidade, anti-corporacións e orientado á comunidade, BookWyrm é software a escala humana, deseñado para ser pequeno e persoal. Se queres propoñer novas ferramentas, informar de fallos, ou colaborar, contacta con nós e deixa oír a túa voz." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Contacta coa administración" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "A moderación e administración de %(site_name)s coidan e xestionan o sitio web, fan cumprir co código de conduta e responden ás denuncias das usuarias sobre spam e mal comportamento." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderación" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index cddc0a5404396ed218fbdc22f037e2c5d7c0a1d9..2be0c3ac01a7057cabd8b69e3f99520ca5e585ef 100644 GIT binary patch delta 22 ecmZoW%G!36bwl%Ib_)d~Ln}kG&0UxO^Z@{Am5o diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index 143539d9e..245387351 100644 --- a/locale/it_IT/LC_MESSAGES/django.po +++ b/locale/it_IT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 21:14\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -261,73 +261,73 @@ msgstr "Citazioni" msgid "Everything else" msgstr "Tutto il resto" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "La tua timeline" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Home" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Timeline dei libri" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libri" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Inglese)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch (Tedesco)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (Spagnolo)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Galiziano)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Francese)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (Norvegese)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portoghese Brasiliano)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portoghese europeo)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Svedese)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Cinese Semplificato)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Cinese Tradizionale)" @@ -356,54 +356,54 @@ msgstr "Qualcosa è andato storto! Ci dispiace." msgid "About" msgstr "Informazioni su" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Benvenuto su %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s fa parte di BookWyrm, una rete di comunità indipendenti e autogestite per i lettori. Mentre puoi interagire apparentemente con gli utenti ovunque nella rete di BookWyrm, questa comunità è unica." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s è il libro più amato di %(site_name)s, con un punteggio medio di %(rating)s su 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Più %(site_name)s utenti vogliono leggere %(title)s rispetto a qualsiasi altro libro." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s ha le valutazioni più divisive di ogni libro su %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Traccia la tue letture, parla di libri, scrivi recensioni, e scopri cosa leggere dopo. BookWyrm, sempre libero, anti-corporate, orientato alla comunità, è un software a misura d'uomo, progettato per rimanere piccolo e personale. Se hai richieste di funzionalità, segnalazioni di bug o grandi sogni, contatta e fai sentire la tua voce." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Incontra gli amministratori" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "I moderatori e gli amministratori di %(site_name)s mantengono il sito attivo e funzionante, applicano il codice di condotta, e rispondono quando gli utenti segnalano spam o comportamenti non adeguati." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderatori" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index d05ea5af184fd779c03aaa8e5ecc5f100443d7eb..b4885e93b693c8909b1476f861f3aaecba0a2b0a 100644 GIT binary patch delta 19 bcmbO>opsuD)(sj5Su7Nc3^(f>%<2LFNj3*j delta 19 bcmbO>opsuD)(sj5Sqv473^wZ=%<2LFNbv_r diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index ca506d583..b272ecf09 100644 --- a/locale/lt_LT/LC_MESSAGES/django.po +++ b/locale/lt_LT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 20:15\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:15\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -261,73 +261,73 @@ msgstr "Citatos" msgid "Everything else" msgstr "Visa kita" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Pagrindinė siena" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Pagrindinis" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Knygų siena" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Knygos" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Anglų)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch (Vokiečių)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (Ispanų)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (galisų)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italų (Italian)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Prancūzų)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norvegų (Norwegian)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português brasileiro (Brazilijos portugalų)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europos portugalų)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Švedų)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Supaprastinta kinų)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradicinė kinų)" @@ -356,54 +356,54 @@ msgstr "Kažkas nepavyko. Atsiprašome." msgid "About" msgstr "Apie" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Sveiki atvykę į %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s yra BookWyrmdalis, tinklo nepriklausomų skaitytojų bendruomenių. Jūs galite bendrauti su nariais iš šio BookWyrm tinklo, tačiau ši bendruomenė yra unikali." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s yra %(site_name)s's mėgstamiausia knyga, kurios vidutinis įvertinimas yra %(rating)s iš 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Daugiau %(site_name)s narių nori perskaityti %(title)s negu bet kurią kitą knygą." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s labiausiai kontroversiškai reitinguota %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Sekite savo skaitymus, kalbėkite apie knygas, rašykite atsiliepimus ir atraskite, ką dar perskaityti. „BookWyrm“ – tai programinė įranga, kurioje nėra reklamų, biurokratijos. Tai bendruomenei orientuota, nedidelė ir asmeninė įranga, kurią lengva plėsti. Jei norite papildomų funkcijų, įgyvendinti savo svajones ar tiesiog pranešti apie klaidą, susisiekite ir jus išgirsime." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Šio serverio administratoriai" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "Svetainės %(site_name)s moderatoriai ir administratoriai nuolat atnaujina puslapį, laikosi elgsenos susitarimo ir atsako, kai naudotojai praneša apie brukalą ir blogą elgesį." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderatorius" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administravimas" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 97e81d11d44590e10e50b3cefb248244ad231eb4..dbfe5ea07ba28095af217223c694380ae67f9888 100644 GIT binary patch delta 22 ecmezWp5_00mJJ#Q*)0@|46O{!HtQd}PzC^c*9po1 delta 22 ecmezWp5_00mJJ#Q*$owp46F=IH|rm~PzC^cbP2%# diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 473c4a71e..a7626b284 100644 --- a/locale/no_NO/LC_MESSAGES/django.po +++ b/locale/no_NO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 20:15\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -261,73 +261,73 @@ msgstr "Sitater" msgid "Everything else" msgstr "Andre ting" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Lokal tidslinje" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Hjem" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Boktidslinja" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bøker" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Engelsk)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch (Tysk)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (Spansk)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (Italiensk)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Fransk)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisk)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (Norsk)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português - Brasil (Brasiliansk portugisisk)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisisk)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Svensk)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Forenklet kinesisk)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradisjonelt kinesisk)" @@ -356,54 +356,54 @@ msgstr "Beklager, noe gikk galt! Leit, det der." msgid "About" msgstr "Om" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Velkommen til %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s er en del av BookWyrm, et nettverk av selvstendige, selvstyrte samfunn for lesere. Du kan kommunisere sømløst med brukere hvor som helst i BookWyrm nettverket, men hvert samfunn er unikt." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s er %(site_name)s sin favorittbok, med en gjennomsnittlig vurdering på %(rating)s av 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Flere av %(site_name)s sine medlemmer ønsker å lese %(title)s enn noen annen bok." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s er den boka på %(site_name)s med de mest polariserte vurderingene." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Journalfør lesingen din, snakk om bøker, skriv anmeldelser, og oppdag din neste bok. BookWyrm er reklamefri, ukommers og fellesskapsorientert, programvare for mennesker, designet for å forbli liten og nær. Hvis du har ønsker, feilrapporter eller store vyer, ta kontakt og bli hørt." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Møt administratorene" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "%(site_name)s sine moderatorer og administratorer holder nettsida oppe og tilgjengelig, håndhever adferdskoden, og svarer på brukernes rapporterer om spam og dårlig atferd." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index ef4929f88c44dedad938ff601db128dccc37a28d..064c6caebac3129eca39164512621959f106f161 100644 GIT binary patch delta 22 ecmX@LpY_y!)(y><*)0@|46O{!Hg{ci=m7w77zttk delta 22 ecmX@LpY_y!)(y><*$owpjIE3eH+Nlj=m7w6zX@3Y diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index c2432bbba..60b192c6a 100644 --- a/locale/pt_BR/LC_MESSAGES/django.po +++ b/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 23:21\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -261,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Todo o resto" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Linha do tempo" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Página inicial" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Linha do tempo dos livros" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English (Inglês)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Galego)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português do Brasil)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Português Europeu)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -356,54 +356,54 @@ msgstr "Algo deu errado! Foi mal." msgid "About" msgstr "Sobre" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Bem-vindol(a) a %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s é parte da BookWyrm, uma rede independente e autogestionada para leitores. Apesar de você poder interagir diretamente com usuários de toda a rede BookWyrm, esta comunidade é única." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s é o livro favorito da instância %(site_name)s, com uma avaliação média de %(rating)s em 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "O livro mais desejado de toda a instância %(site_name)s é %(title)s." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s tem a avaliação mais polêmica de toda a instância %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Registre o andamento de suas leituras, fale sobre livros, escreva resenhas e ache o que ler em seguida. Sempre sem propagandas, anticorporativa e voltada à comunidade, a BookWyrm é um software em escala humana desenvolvido para permanecer pequeno e pessoal. Se você tem sugestões de funções, avisos sobre bugs ou grandes sonhos para o projeto, fale conosco e faça sua voz ser ouvida." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Conheça a administração" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "Moderadores/as e administradores/as de %(site_name)s mantêm o site funcionando, aplicam o código de conduta e respondem quando usuários denunciam spam e mau comportamento." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderador/a" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 9c144cf8a16437303931924bed48443e9f8fb759..85e167660be76978d3eae5b1408af98292516f36 100644 GIT binary patch delta 22 ecmX@RljZDAmJRM}*ew){46O{!Hv6rqF8}~)+X%M+ delta 22 ecmX@RljZDAmJRM}*bNno46F=IH~X!rF8}~)cnGcl diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index ff508e117..32acf05c3 100644 --- a/locale/pt_PT/LC_MESSAGES/django.po +++ b/locale/pt_PT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 20:15\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -261,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Tudo o resto" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Cronograma Inicial" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Início" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Cronograma de Livros" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "Inglês" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (lituano)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português brasileiro)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português (Português Europeu)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -356,54 +356,54 @@ msgstr "Ocorreu um erro! Pedimos desculpa por isto." msgid "About" msgstr "Sobre" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Bem-vindo(a) ao %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s faz parte do BookWyrm, uma rede de comunidades independentes, focada nos leitores. Enquanto podes interagir continuamente com utilizadores por todo o lado na Rede Boomwyrm, esta comunidade é única." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "" -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "" -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "" -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "" -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Conheça os nossos administradores" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "" -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index 4f1348791d606f2cc21d5ef40c9a0d0916f359d7..eb44d9bf9529fbb561ab36fe4271c235c2e19ff6 100644 GIT binary patch delta 21 dcmeyrj`jaK)(za}*en!`46O_|3!cmC1OR8N2%`W1 delta 21 dcmeyrj`jaK)(za}*h~}*Osq^c3!cmC1OR832%`W1 diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index f98510e33..303495c60 100644 --- a/locale/sv_SE/LC_MESSAGES/django.po +++ b/locale/sv_SE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-04 04:45\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:15\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -261,73 +261,73 @@ msgstr "Citationer" msgid "Everything else" msgstr "Allt annat" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "Tidslinje för Hem" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "Hem" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "Tidslinjer för böcker" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Böcker" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "Engelska" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Tyska (Tysk)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Spanska (Spansk)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italienska (Italiensk)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Franska (Fransk)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Litauiska (Litauisk)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norska (Norska)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português d Brasil (Brasiliansk Portugisiska)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisiska)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska (Svenska)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Förenklad Kinesiska)" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Traditionell Kinesiska)" @@ -356,54 +356,54 @@ msgstr "Något gick fel! Förlåt för det." msgid "About" msgstr "Om" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "Välkommen till %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s är en del av BookWyrm, ett nätverk av oberoende, självstyrda gemenskaper för läsare. Medan du kan interagera sömlöst med användare var som helst i BookWyrm-nätverketså är den här gemenskapen unik." -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s är %(site_name)s's mest omtyckta bok med ett genomsnittligt betyg på %(rating)s utav 5." -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "Flera %(site_name)s användare vill läsa %(title)s än någon annan bok." -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "%(title)s har de mest splittrade betygen av alla böcker på %(site_name)s." -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "Följ din läsning, prata om böcker, skriv recensioner och upptäck vad som ska läsas härnäst. BookWyrm är alltid annonsfri, företagsfientlig och gemenskapsorienterad, och är en mänsklig programvara som är utformad för att förbli liten och personlig. Om du har förfrågningar om funktioner, felrapporter eller storslagna drömmar, ta kontakt och gör dig själv hörd." -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "Träffa dina administratörer" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "%(site_name)s's moderatorer och administratörer håller hemsidan uppe och fungerande, upprätthåller uppförandekoden och svarar när användarna rapporterar skräppost och dåligt uppförande." -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administratör" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index ec1edda73..4acf1dce3 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-04 15:46\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -261,73 +261,73 @@ msgstr "引用" msgid "Everything else" msgstr "所有其它内容" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "主页" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "书目时间线" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "书目" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English(英语)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch(德语)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español(西班牙语)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "Galego(加利西亚语)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "Italiano(意大利语)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français(法语)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių(立陶宛语)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "Norsk(挪威语)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil(巴西葡萄牙语)" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu(欧洲葡萄牙语)" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "Svenska(瑞典语)" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文(繁体中文)" @@ -356,54 +356,54 @@ msgstr "某些东西出错了!对不起啦。" msgid "About" msgstr "关于" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "欢迎来到 %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "%(site_name)s 是 BookWyrm 的一部分,这是一个为读者建立的独立、自我导向的社区网络。 虽然您可以在 BookWyrm 网络中与任何地方的用户无缝互动,但这个社区是独一无二的。" -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "%(title)s 是 %(site_name)s 最受欢迎的书,平均得分为 %(rating)s(满分五分)。" -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "%(site_name)s 上的最用户想读的书籍是 %(title)s。" -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "在 %(site_name)s 上,对 %(title)s 这本书的评分争议较大。" -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "记录您的阅读、谈论书籍、撰写评论、发现下一本书。 BookWyrm 永远是无广告、反公司化和面向社区的为人设计的软件,其目的是保持小规模和个人性。 如果您有特性请求、错误报告或大梦想, 联系我们,为自己发声。" -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "遇见您的管理员" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "%(site_name)s 的仲裁员和管理员负责维持站点运行, 执行行为守则,并在用户报告垃圾邮件和不良行为时做出回应。" -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "仲裁员" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "管理员" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 4222d2635..a410c4fed 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-01 19:48+0000\n" -"PO-Revision-Date: 2022-03-01 20:15\n" +"POT-Creation-Date: 2022-03-08 19:55+0000\n" +"PO-Revision-Date: 2022-03-08 21:16\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -261,73 +261,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home Timeline" msgstr "主頁時間線" -#: bookwyrm/settings.py:211 +#: bookwyrm/settings.py:207 msgid "Home" msgstr "主頁" -#: bookwyrm/settings.py:212 +#: bookwyrm/settings.py:208 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "書目" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:280 msgid "English" msgstr "English(英語)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:281 msgid "Deutsch (German)" msgstr "Deutsch(德語)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:282 msgid "Español (Spanish)" msgstr "Español(西班牙語)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:283 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:284 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:285 msgid "Français (French)" msgstr "Français(法語)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:286 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:287 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:288 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:289 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:290 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:291 msgid "简体中文 (Simplified Chinese)" msgstr "簡體中文" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:292 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文" @@ -356,54 +356,54 @@ msgstr "某些東西出錯了!抱歉。" msgid "About" msgstr "" -#: bookwyrm/templates/about/about.html:19 +#: bookwyrm/templates/about/about.html:20 #: bookwyrm/templates/get_started/layout.html:20 #, python-format msgid "Welcome to %(site_name)s!" msgstr "歡迎來到 %(site_name)s!" -#: bookwyrm/templates/about/about.html:23 +#: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." msgstr "" -#: bookwyrm/templates/about/about.html:40 +#: bookwyrm/templates/about/about.html:42 #, python-format msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." msgstr "" -#: bookwyrm/templates/about/about.html:59 +#: bookwyrm/templates/about/about.html:61 #, python-format msgid "More %(site_name)s users want to read %(title)s than any other book." msgstr "" -#: bookwyrm/templates/about/about.html:78 +#: bookwyrm/templates/about/about.html:80 #, python-format msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." msgstr "" -#: bookwyrm/templates/about/about.html:89 +#: bookwyrm/templates/about/about.html:91 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." msgstr "" -#: bookwyrm/templates/about/about.html:96 +#: bookwyrm/templates/about/about.html:98 msgid "Meet your admins" msgstr "" -#: bookwyrm/templates/about/about.html:99 +#: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." msgstr "" -#: bookwyrm/templates/about/about.html:113 +#: bookwyrm/templates/about/about.html:115 msgid "Moderator" msgstr "" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "管理員" -#: bookwyrm/templates/about/about.html:131 +#: bookwyrm/templates/about/about.html:133 #: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:14 From 739b394ccc63522f4aca72953bbc01826eaa3ee3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 12:31:21 -0700 Subject: [PATCH 37/59] Catch error when trying to update book --- bookwyrm/views/books/books.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bookwyrm/views/books/books.py b/bookwyrm/views/books/books.py index ad7ee9436..3556a0dc1 100644 --- a/bookwyrm/views/books/books.py +++ b/bookwyrm/views/books/books.py @@ -12,7 +12,7 @@ from django.views.decorators.http import require_POST from bookwyrm import forms, models from bookwyrm.activitypub import ActivitypubResponse -from bookwyrm.connectors import connector_manager +from bookwyrm.connectors import connector_manager, ConnectorException from bookwyrm.connectors.abstract_connector import get_image from bookwyrm.settings import PAGE_LENGTH from bookwyrm.views.helpers import is_api_request @@ -191,6 +191,10 @@ def update_book_from_remote(request, book_id, connector_identifier): ) book = get_object_or_404(models.Book.objects.select_subclasses(), id=book_id) - connector.update_book_from_remote(book) + try: + connector.update_book_from_remote(book) + except ConnectorException: + # the remote source isn't available or doesn't know this book + pass return redirect("book", book.id) From c7efa2340505ae22f5f0d225eedb3716e2545eb9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 12:38:29 -0700 Subject: [PATCH 38/59] Display error message for remote failure --- bookwyrm/templates/book/book.html | 9 +++++++++ bookwyrm/views/books/books.py | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 0e2fd5d39..fa098281e 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -12,6 +12,15 @@ {% endblock %} {% block content %} +{% if update_error %} +
    + + + {% trans "Unable to connect to remote source." %} + +
    +{% endif %} + {% with user_authenticated=request.user.is_authenticated can_edit_book=perms.bookwyrm.edit_book %}
    diff --git a/bookwyrm/views/books/books.py b/bookwyrm/views/books/books.py index 3556a0dc1..a010c300f 100644 --- a/bookwyrm/views/books/books.py +++ b/bookwyrm/views/books/books.py @@ -22,7 +22,7 @@ from bookwyrm.views.helpers import is_api_request class Book(View): """a book! this is the stuff""" - def get(self, request, book_id, user_statuses=False): + def get(self, request, book_id, user_statuses=False, update_error=False): """info about a book""" if is_api_request(request): book = get_object_or_404( @@ -80,6 +80,7 @@ class Book(View): else None, "rating": reviews.aggregate(Avg("rating"))["rating__avg"], "lists": lists, + "update_error": update_error, } if request.user.is_authenticated: @@ -195,6 +196,6 @@ def update_book_from_remote(request, book_id, connector_identifier): connector.update_book_from_remote(book) except ConnectorException: # the remote source isn't available or doesn't know this book - pass + return Book().get(request, book_id, update_error=True) return redirect("book", book.id) From 3885ae789b7c75da35f83e1a68242b015d135b12 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 13:11:24 -0700 Subject: [PATCH 39/59] Manually add theme path rather than options --- bookwyrm/forms.py | 7 ++++++- bookwyrm/templates/settings/themes.html | 22 ++-------------------- bookwyrm/views/admin/themes.py | 5 ----- 3 files changed, 8 insertions(+), 26 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index f152ed4ea..7cfbe6283 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -468,7 +468,12 @@ class ThemeForm(CustomForm): fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.Select(attrs={"aria-describedby": "desc_path"}), + "path": forms.TextInput( + attrs={ + "aria-describedby": "desc_path", + "placeholder": "css/themes/theme-name.scss", + } + ), } diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 44d0cecec..3d4d83dec 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -56,12 +56,7 @@ class="box" enctype="multipart/form-data" > - {% if not choices %} -
    - {% trans "No available theme files detected" %} -
    - {% endif %} -
    +
    {% csrf_token %}
    @@ -79,20 +74,7 @@ {% trans "Theme filename" %}
    -
    - -
    + {{ theme_form.path }} {% include 'snippets/form_errors.html' with errors_list=theme_form.path.errors id="desc_path" %}
    diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py index 12b449afb..ae9a748d3 100644 --- a/bookwyrm/views/admin/themes.py +++ b/bookwyrm/views/admin/themes.py @@ -1,7 +1,5 @@ """ manage themes """ from django.contrib.auth.decorators import login_required, permission_required -from django.contrib.staticfiles.utils import get_files -from django.contrib.staticfiles.storage import StaticFilesStorage from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator @@ -41,11 +39,8 @@ class Themes(View): def get_view_data(): """data for view""" - choices = list(get_files(StaticFilesStorage(), location="css/themes")) - current = models.Theme.objects.values_list("path", flat=True) return { "themes": models.Theme.objects.all(), - "choices": [c for c in choices if c not in current and c[-5:] == ".scss"], "theme_form": forms.ThemeForm(), } From 37beb5a8f4e3cf085beb8173b80b4c77104e3a51 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 13:19:02 -0700 Subject: [PATCH 40/59] Tick javascript cache buster --- bookwyrm/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 6911d2325..1199ba3ac 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -21,7 +21,7 @@ RELEASE_API = env( PAGE_LENGTH = env("PAGE_LENGTH", 15) DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English") -JS_CACHE = "c7154efb" +JS_CACHE = "bc93172a" # email EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend") From c08459cf5defb21ce74a56e02eb1f2743edc2e6b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 13 Mar 2022 13:19:40 -0700 Subject: [PATCH 41/59] Tick version number --- bookwyrm/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 1199ba3ac..5ab3c7a13 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -11,7 +11,7 @@ from django.utils.translation import gettext_lazy as _ env = Env() env.read_env() DOMAIN = env("DOMAIN") -VERSION = "0.3.2" +VERSION = "0.3.3" RELEASE_API = env( "RELEASE_API", From e4f94780ebdf79bb94617a843a8103b52cf3a47c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:06:29 -0700 Subject: [PATCH 42/59] Uses translated fields in admin user info --- bookwyrm/templates/settings/users/user_info.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/settings/users/user_info.html b/bookwyrm/templates/settings/users/user_info.html index c60ae285d..a5447931c 100644 --- a/bookwyrm/templates/settings/users/user_info.html +++ b/bookwyrm/templates/settings/users/user_info.html @@ -71,14 +71,14 @@
    {{ user.last_active_date }}
    {% trans "Manually approved followers:" %}
    -
    {{ user.manually_approves_followers }}
    +
    {{ user.manually_approves_followers|yesno }}
    {% trans "Discoverable:" %}
    -
    {{ user.discoverable }}
    +
    {{ user.discoverable|yesno }}
    {% if not user.is_active %}
    {% trans "Deactivation reason:" %}
    -
    {{ user.deactivation_reason }}
    +
    {{ user.get_deactivation_reason_display }}
    {% endif %} {% if not user.is_active and user.deactivation_reason == "pending" %} @@ -104,7 +104,7 @@
    {{ server.application_version }}
    {% trans "Status:" %}
    -
    {{ server.status }}
    +
    {{ server.get_status_display }}
  • {% if server.notes %}
    {% trans "Notes" %}
    From bf68b70fba0c8b45ae7fd29350dee708969c606c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:10:48 -0700 Subject: [PATCH 43/59] Use breadcrumbs in use admin view --- bookwyrm/templates/settings/users/user.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/users/user.html b/bookwyrm/templates/settings/users/user.html index 676502e6d..c18ba8295 100644 --- a/bookwyrm/templates/settings/users/user.html +++ b/bookwyrm/templates/settings/users/user.html @@ -1,10 +1,23 @@ {% extends 'settings/layout.html' %} {% load i18n %} +{% load utilities %} {% block title %}{{ user.username }}{% endblock %} {% block header %} {{ user.username }} -{% trans "Back to users" %} +{% endblock %} + +{% block breadcrumbs %} + {% endblock %} {% block panel %} From 488d702473a90c07a449ce5d2c4afae6a434bb31 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:27:18 -0700 Subject: [PATCH 44/59] Separate admin user list into tabbed lists --- .../templates/settings/users/user_admin.html | 101 +++++++++++------- bookwyrm/urls.py | 5 + bookwyrm/views/admin/user_admin.py | 5 +- 3 files changed, 71 insertions(+), 40 deletions(-) diff --git a/bookwyrm/templates/settings/users/user_admin.html b/bookwyrm/templates/settings/users/user_admin.html index 874ce8182..e3de77938 100644 --- a/bookwyrm/templates/settings/users/user_admin.html +++ b/bookwyrm/templates/settings/users/user_admin.html @@ -1,5 +1,7 @@ {% extends 'settings/layout.html' %} {% load i18n %} +{% load utilities %} + {% block title %}{% trans "Users" %}{% endblock %} {% block header %} @@ -15,46 +17,67 @@ {% include 'settings/users/user_admin_filters.html' %} - - - {% url 'settings-users' as url %} - - - - - - - {% for user in users %} - - - - - - + {% for user in users %} + + + + + + {% if status != "local" %} + + {% endif %} + + {% endfor %} +
    - {% trans "Username" as text %} - {% include 'snippets/table-sort-header.html' with field="username" sort=sort text=text %} - - {% trans "Date Added" as text %} - {% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %} - - {% trans "Last Active" as text %} - {% include 'snippets/table-sort-header.html' with field="last_active_date" sort=sort text=text %} - - {% trans "Status" as text %} - {% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %} - - {% trans "Remote instance" as text %} - {% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %} -
    {{ user.username }}{{ user.created_date }}{{ user.last_active_date }}{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %} - {% if user.federated_server %} - {{ user.federated_server.server_name }} - {% elif not user.local %} - {% trans "Not set" %} +
    +
    + +
    +
    + +
    + + + {% url 'settings-users' as url %} + + + + + {% if status != "local" %} + {% endif %} - - - {% endfor %} -
    + {% trans "Username" as text %} + {% include 'snippets/table-sort-header.html' with field="username" sort=sort text=text %} + + {% trans "Date Added" as text %} + {% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %} + + {% trans "Last Active" as text %} + {% include 'snippets/table-sort-header.html' with field="last_active_date" sort=sort text=text %} + + {% trans "Status" as text %} + {% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %} + + {% trans "Remote instance" as text %} + {% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %} +
    +
    {{ user|username }}{{ user.created_date }}{{ user.last_active_date }}{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %} + {% if user.federated_server %} + {{ user.federated_server.server_name }} + {% else %} + {% trans "Not set" %} + {% endif %} +
    +
    {% include 'snippets/pagination.html' with page=users path=request.path %} {% endblock %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index b9c348a43..4d7f503f3 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -125,6 +125,11 @@ urlpatterns = [ re_path( r"^settings/users/?$", views.UserAdminList.as_view(), name="settings-users" ), + re_path( + r"^settings/users/(?P(local|federated))\/?$", + views.UserAdminList.as_view(), + name="settings-users", + ), re_path( r"^settings/users/(?P\d+)/?$", views.UserAdmin.as_view(), diff --git a/bookwyrm/views/admin/user_admin.py b/bookwyrm/views/admin/user_admin.py index aa8479590..df716d2cb 100644 --- a/bookwyrm/views/admin/user_admin.py +++ b/bookwyrm/views/admin/user_admin.py @@ -19,7 +19,7 @@ from bookwyrm.settings import PAGE_LENGTH class UserAdminList(View): """admin view of users on this server""" - def get(self, request): + def get(self, request, status="local"): """list of users""" filters = {} server = request.GET.get("server") @@ -37,6 +37,8 @@ class UserAdminList(View): if email: filters["email__endswith"] = email + filters["local"] = status == "local" + users = models.User.objects.filter(**filters) sort = request.GET.get("sort", "-created_date") @@ -56,6 +58,7 @@ class UserAdminList(View): "users": paginated.get_page(request.GET.get("page")), "sort": sort, "server": server, + "status": status, } return TemplateResponse(request, "settings/users/user_admin.html", data) From f42e86343494beee61260c9429cf3b7621f0d8fc Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:38:03 -0700 Subject: [PATCH 45/59] Updates user admin filters --- .../settings/reports/report_filters.html | 7 +++++++ bookwyrm/templates/settings/reports/reports.html | 2 +- .../templates/settings/users/email_filter.html | 16 ++++++++++++++++ .../settings/users/user_admin_filters.html | 7 ++++++- 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 bookwyrm/templates/settings/reports/report_filters.html create mode 100644 bookwyrm/templates/settings/users/email_filter.html diff --git a/bookwyrm/templates/settings/reports/report_filters.html b/bookwyrm/templates/settings/reports/report_filters.html new file mode 100644 index 000000000..48a3b7c8a --- /dev/null +++ b/bookwyrm/templates/settings/reports/report_filters.html @@ -0,0 +1,7 @@ +{% extends 'snippets/filters_panel/filters_panel.html' %} + +{% block filter_fields %} +{% include 'settings/users/username_filter.html' %} +{% include 'directory/community_filter.html' %} +{% include 'settings/users/server_filter.html' %} +{% endblock %} diff --git a/bookwyrm/templates/settings/reports/reports.html b/bookwyrm/templates/settings/reports/reports.html index c72fd03d0..99cca1a75 100644 --- a/bookwyrm/templates/settings/reports/reports.html +++ b/bookwyrm/templates/settings/reports/reports.html @@ -30,7 +30,7 @@ -{% include 'settings/users/user_admin_filters.html' %} +{% include 'settings/reports/report_filters.html' %}
    {% if not reports %} diff --git a/bookwyrm/templates/settings/users/email_filter.html b/bookwyrm/templates/settings/users/email_filter.html new file mode 100644 index 000000000..5d49d615e --- /dev/null +++ b/bookwyrm/templates/settings/users/email_filter.html @@ -0,0 +1,16 @@ +{% extends 'snippets/filters_panel/filter_field.html' %} +{% load i18n %} + +{% block filter %} + +
    + +
    +{% endblock %} + diff --git a/bookwyrm/templates/settings/users/user_admin_filters.html b/bookwyrm/templates/settings/users/user_admin_filters.html index 48a3b7c8a..c5ab2dabe 100644 --- a/bookwyrm/templates/settings/users/user_admin_filters.html +++ b/bookwyrm/templates/settings/users/user_admin_filters.html @@ -2,6 +2,11 @@ {% block filter_fields %} {% include 'settings/users/username_filter.html' %} -{% include 'directory/community_filter.html' %} + +{% if status != "local" %} {% include 'settings/users/server_filter.html' %} +{% else %} +{% include 'settings/users/email_filter.html' %} +{% endif %} + {% endblock %} From bfb8fc800a0d10277cfdb5dfe017a8f022b2d109 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 10:59:24 -0700 Subject: [PATCH 46/59] Moves duplicate field script into its own file --- bookwyrm/static/js/bookwyrm.js | 24 -------------- bookwyrm/static/js/forms.js | 32 +++++++++++++++++++ .../templates/book/edit/edit_book_form.html | 5 +++ 3 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 bookwyrm/static/js/forms.js diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 100daa039..95271795d 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -38,10 +38,6 @@ let BookWyrm = new (class { .querySelectorAll("[data-modal-open]") .forEach((node) => node.addEventListener("click", this.handleModalButton.bind(this))); - document - .querySelectorAll("[data-duplicate]") - .forEach((node) => node.addEventListener("click", this.duplicateInput.bind(this))); - document .querySelectorAll("details.dropdown") .forEach((node) => @@ -495,26 +491,6 @@ let BookWyrm = new (class { window.open(url, windowName, "left=100,top=100,width=430,height=600"); } - duplicateInput(event) { - const trigger = event.currentTarget; - const input_id = trigger.dataset.duplicate; - const orig = document.getElementById(input_id); - const parent = orig.parentNode; - const new_count = parent.querySelectorAll("input").length + 1; - - let input = orig.cloneNode(); - - input.id += "-" + new_count; - input.value = ""; - - let label = parent.querySelector("label").cloneNode(); - - label.setAttribute("for", input.id); - - parent.appendChild(label); - parent.appendChild(input); - } - /** * Set up a "click-to-copy" component from a textarea element * with `data-copytext`, `data-copytext-label`, `data-copytext-success` diff --git a/bookwyrm/static/js/forms.js b/bookwyrm/static/js/forms.js new file mode 100644 index 000000000..7d946d147 --- /dev/null +++ b/bookwyrm/static/js/forms.js @@ -0,0 +1,32 @@ +(function () { + "use strict"; + + /** + * Duplicate an input field + * + * @param {event} the click even on the associated button + */ + function duplicateInput(event) { + const trigger = event.currentTarget; + const input_id = trigger.dataset.duplicate; + const orig = document.getElementById(input_id); + const parent = orig.parentNode; + const new_count = parent.querySelectorAll("input").length + 1; + + let input = orig.cloneNode(); + + input.id += "-" + new_count; + input.value = ""; + + let label = parent.querySelector("label").cloneNode(); + + label.setAttribute("for", input.id); + + parent.appendChild(label); + parent.appendChild(input); + } + + document + .querySelectorAll("[data-duplicate]") + .forEach((node) => node.addEventListener("click", duplicateInput)); +})(); diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html index d95aa725e..38a7fe35d 100644 --- a/bookwyrm/templates/book/edit/edit_book_form.html +++ b/bookwyrm/templates/book/edit/edit_book_form.html @@ -1,4 +1,5 @@ {% load i18n %} +{% load static %} {% if form.non_field_errors %}
    @@ -302,3 +303,7 @@
    + +{% block scripts %} + +{% endblock %} From 7169f7ba2030eef10023f3518b0a5e45a52b7219 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 11:43:58 -0700 Subject: [PATCH 47/59] Creates forms directory --- bookwyrm/forms/__init__.py | 3 +++ bookwyrm/{ => forms}/forms.py | 0 2 files changed, 3 insertions(+) create mode 100644 bookwyrm/forms/__init__.py rename bookwyrm/{ => forms}/forms.py (100%) diff --git a/bookwyrm/forms/__init__.py b/bookwyrm/forms/__init__.py new file mode 100644 index 000000000..dac2007b8 --- /dev/null +++ b/bookwyrm/forms/__init__.py @@ -0,0 +1,3 @@ +""" make forms available to the app """ +# site admin +from .forms import * diff --git a/bookwyrm/forms.py b/bookwyrm/forms/forms.py similarity index 100% rename from bookwyrm/forms.py rename to bookwyrm/forms/forms.py From d3f723a07dd95ddf96c5b96d7fb23fea6abd54c2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 11:46:08 -0700 Subject: [PATCH 48/59] Splits forms into separate files --- bookwyrm/forms/__init__.py | 9 + bookwyrm/forms/admin.py | 129 +++++++++ bookwyrm/forms/author.py | 47 +++ bookwyrm/forms/books.py | 81 ++++++ bookwyrm/forms/custom_form.py | 26 ++ bookwyrm/forms/edit_user.py | 68 +++++ bookwyrm/forms/forms.py | 529 +--------------------------------- bookwyrm/forms/groups.py | 16 + bookwyrm/forms/landing.py | 45 +++ bookwyrm/forms/links.py | 48 +++ bookwyrm/forms/lists.py | 37 +++ bookwyrm/forms/status.py | 82 ++++++ 12 files changed, 590 insertions(+), 527 deletions(-) create mode 100644 bookwyrm/forms/admin.py create mode 100644 bookwyrm/forms/author.py create mode 100644 bookwyrm/forms/books.py create mode 100644 bookwyrm/forms/custom_form.py create mode 100644 bookwyrm/forms/edit_user.py create mode 100644 bookwyrm/forms/groups.py create mode 100644 bookwyrm/forms/landing.py create mode 100644 bookwyrm/forms/links.py create mode 100644 bookwyrm/forms/lists.py create mode 100644 bookwyrm/forms/status.py diff --git a/bookwyrm/forms/__init__.py b/bookwyrm/forms/__init__.py index dac2007b8..a6f704339 100644 --- a/bookwyrm/forms/__init__.py +++ b/bookwyrm/forms/__init__.py @@ -1,3 +1,12 @@ """ make forms available to the app """ # site admin +from .admin import * +from .author import * +from .books import * from .forms import * +from .groups import * +from .landing import * +from .links import * +from .lists import * +from .status import * +from .user import * diff --git a/bookwyrm/forms/admin.py b/bookwyrm/forms/admin.py new file mode 100644 index 000000000..6b2984b3b --- /dev/null +++ b/bookwyrm/forms/admin.py @@ -0,0 +1,129 @@ +""" using django model forms """ +import datetime + +from django import forms +from django.forms import widgets +from django.utils import timezone +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class ExpiryWidget(widgets.Select): + def value_from_datadict(self, data, files, name): + """human-readable exiration time buckets""" + selected_string = super().value_from_datadict(data, files, name) + + if selected_string == "day": + interval = datetime.timedelta(days=1) + elif selected_string == "week": + interval = datetime.timedelta(days=7) + elif selected_string == "month": + interval = datetime.timedelta(days=31) # Close enough? + elif selected_string == "forever": + return None + else: + return selected_string # This will raise + + return timezone.now() + interval + + +class CreateInviteForm(CustomForm): + class Meta: + model = models.SiteInvite + exclude = ["code", "user", "times_used", "invitees"] + widgets = { + "expiry": ExpiryWidget( + choices=[ + ("day", _("One Day")), + ("week", _("One Week")), + ("month", _("One Month")), + ("forever", _("Does Not Expire")), + ] + ), + "use_limit": widgets.Select( + choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]] + + [(None, _("Unlimited"))] + ), + } + + +class SiteForm(CustomForm): + class Meta: + model = models.SiteSettings + exclude = ["admin_code", "install_mode"] + widgets = { + "instance_short_description": forms.TextInput( + attrs={"aria-describedby": "desc_instance_short_description"} + ), + "require_confirm_email": forms.CheckboxInput( + attrs={"aria-describedby": "desc_require_confirm_email"} + ), + "invite_request_text": forms.Textarea( + attrs={"aria-describedby": "desc_invite_request_text"} + ), + } + + +class ThemeForm(CustomForm): + class Meta: + model = models.Theme + fields = ["name", "path"] + widgets = { + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "path": forms.TextInput( + attrs={ + "aria-describedby": "desc_path", + "placeholder": "css/themes/theme-name.scss", + } + ), + } + + +class AnnouncementForm(CustomForm): + class Meta: + model = models.Announcement + exclude = ["remote_id"] + widgets = { + "preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}), + "content": forms.Textarea(attrs={"aria-describedby": "desc_content"}), + "event_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_event_date"} + ), + "start_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_start_date"} + ), + "end_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_end_date"} + ), + "active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}), + } + + +class EmailBlocklistForm(CustomForm): + class Meta: + model = models.EmailBlocklist + fields = ["domain"] + widgets = { + "avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}), + } + + +class IPBlocklistForm(CustomForm): + class Meta: + model = models.IPBlocklist + fields = ["address"] + + +class ServerForm(CustomForm): + class Meta: + model = models.FederatedServer + exclude = ["remote_id"] + + +class AutoModRuleForm(CustomForm): + class Meta: + model = models.AutoMod + fields = ["string_match", "flag_users", "flag_statuses", "created_by"] diff --git a/bookwyrm/forms/author.py b/bookwyrm/forms/author.py new file mode 100644 index 000000000..ca59426de --- /dev/null +++ b/bookwyrm/forms/author.py @@ -0,0 +1,47 @@ +""" using django model forms """ +from django import forms + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class AuthorForm(CustomForm): + class Meta: + model = models.Author + fields = [ + "last_edited_by", + "name", + "aliases", + "bio", + "wikipedia_link", + "born", + "died", + "openlibrary_key", + "inventaire_id", + "librarything_key", + "goodreads_key", + "isni", + ] + widgets = { + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}), + "bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}), + "wikipedia_link": forms.TextInput( + attrs={"aria-describedby": "desc_wikipedia_link"} + ), + "born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}), + "died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}), + "oepnlibrary_key": forms.TextInput( + attrs={"aria-describedby": "desc_oepnlibrary_key"} + ), + "inventaire_id": forms.TextInput( + attrs={"aria-describedby": "desc_inventaire_id"} + ), + "librarything_key": forms.TextInput( + attrs={"aria-describedby": "desc_librarything_key"} + ), + "goodreads_key": forms.TextInput( + attrs={"aria-describedby": "desc_goodreads_key"} + ), + } diff --git a/bookwyrm/forms/books.py b/bookwyrm/forms/books.py new file mode 100644 index 000000000..64b85d0b2 --- /dev/null +++ b/bookwyrm/forms/books.py @@ -0,0 +1,81 @@ +""" using django model forms """ +from django import forms + +from bookwyrm import models +from bookwyrm.models.fields import ClearableFileInputWithWarning +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class CoverForm(CustomForm): + class Meta: + model = models.Book + fields = ["cover"] + help_texts = {f: None for f in fields} + + +class EditionForm(CustomForm): + class Meta: + model = models.Edition + exclude = [ + "remote_id", + "origin_id", + "created_date", + "updated_date", + "edition_rank", + "authors", + "parent_work", + "shelves", + "connector", + "search_vector", + "links", + "file_links", + ] + widgets = { + "title": forms.TextInput(attrs={"aria-describedby": "desc_title"}), + "subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}), + "description": forms.Textarea( + attrs={"aria-describedby": "desc_description"} + ), + "series": forms.TextInput(attrs={"aria-describedby": "desc_series"}), + "series_number": forms.TextInput( + attrs={"aria-describedby": "desc_series_number"} + ), + "languages": forms.TextInput( + attrs={"aria-describedby": "desc_languages_help desc_languages"} + ), + "subjects": forms.TextInput( + attrs={"aria-describedby": "desc_subjects_help desc_subjects"} + ), + "publishers": forms.TextInput( + attrs={"aria-describedby": "desc_publishers_help desc_publishers"} + ), + "first_published_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_first_published_date"} + ), + "published_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_published_date"} + ), + "cover": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_cover"} + ), + "physical_format": forms.Select( + attrs={"aria-describedby": "desc_physical_format"} + ), + "physical_format_detail": forms.TextInput( + attrs={"aria-describedby": "desc_physical_format_detail"} + ), + "pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}), + "isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}), + "isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}), + "openlibrary_key": forms.TextInput( + attrs={"aria-describedby": "desc_openlibrary_key"} + ), + "inventaire_id": forms.TextInput( + attrs={"aria-describedby": "desc_inventaire_id"} + ), + "oclc_number": forms.TextInput( + attrs={"aria-describedby": "desc_oclc_number"} + ), + "ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}), + } diff --git a/bookwyrm/forms/custom_form.py b/bookwyrm/forms/custom_form.py new file mode 100644 index 000000000..74a3417a2 --- /dev/null +++ b/bookwyrm/forms/custom_form.py @@ -0,0 +1,26 @@ +""" Overrides django's default form class """ +from collections import defaultdict +from django.forms import ModelForm +from django.forms.widgets import Textarea + + +class CustomForm(ModelForm): + """add css classes to the forms""" + + def __init__(self, *args, **kwargs): + css_classes = defaultdict(lambda: "") + css_classes["text"] = "input" + css_classes["password"] = "input" + css_classes["email"] = "input" + css_classes["number"] = "input" + css_classes["checkbox"] = "checkbox" + css_classes["textarea"] = "textarea" + # pylint: disable=super-with-arguments + super(CustomForm, self).__init__(*args, **kwargs) + for visible in self.visible_fields(): + if hasattr(visible.field.widget, "input_type"): + input_type = visible.field.widget.input_type + if isinstance(visible.field.widget, Textarea): + input_type = "textarea" + visible.field.widget.attrs["rows"] = 5 + visible.field.widget.attrs["class"] = css_classes[input_type] diff --git a/bookwyrm/forms/edit_user.py b/bookwyrm/forms/edit_user.py new file mode 100644 index 000000000..d609f15dc --- /dev/null +++ b/bookwyrm/forms/edit_user.py @@ -0,0 +1,68 @@ +""" using django model forms """ +from django import forms + +from bookwyrm import models +from bookwyrm.models.fields import ClearableFileInputWithWarning +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class EditUserForm(CustomForm): + class Meta: + model = models.User + fields = [ + "avatar", + "name", + "email", + "summary", + "show_goal", + "show_suggested_users", + "manually_approves_followers", + "default_post_privacy", + "discoverable", + "hide_follows", + "preferred_timezone", + "preferred_language", + "theme", + ] + help_texts = {f: None for f in fields} + widgets = { + "avatar": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_avatar"} + ), + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), + "email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}), + "discoverable": forms.CheckboxInput( + attrs={"aria-describedby": "desc_discoverable"} + ), + } + + +class LimitedEditUserForm(CustomForm): + class Meta: + model = models.User + fields = [ + "avatar", + "name", + "summary", + "manually_approves_followers", + "discoverable", + ] + help_texts = {f: None for f in fields} + widgets = { + "avatar": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_avatar"} + ), + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), + "discoverable": forms.CheckboxInput( + attrs={"aria-describedby": "desc_discoverable"} + ), + } + + +class DeleteUserForm(CustomForm): + class Meta: + model = models.User + fields = ["password"] diff --git a/bookwyrm/forms/forms.py b/bookwyrm/forms/forms.py index ff35a9486..8af8fb812 100644 --- a/bookwyrm/forms/forms.py +++ b/bookwyrm/forms/forms.py @@ -1,212 +1,14 @@ """ using django model forms """ -import datetime -from collections import defaultdict -from urllib.parse import urlparse - from django import forms -from django.forms import ModelForm, PasswordInput, widgets, ChoiceField -from django.forms.widgets import Textarea -from django.utils import timezone +from django.forms import widgets from django.utils.translation import gettext_lazy as _ from bookwyrm import models -from bookwyrm.models.fields import ClearableFileInputWithWarning from bookwyrm.models.user import FeedFilterChoices - - -class CustomForm(ModelForm): - """add css classes to the forms""" - - def __init__(self, *args, **kwargs): - css_classes = defaultdict(lambda: "") - css_classes["text"] = "input" - css_classes["password"] = "input" - css_classes["email"] = "input" - css_classes["number"] = "input" - css_classes["checkbox"] = "checkbox" - css_classes["textarea"] = "textarea" - # pylint: disable=super-with-arguments - super(CustomForm, self).__init__(*args, **kwargs) - for visible in self.visible_fields(): - if hasattr(visible.field.widget, "input_type"): - input_type = visible.field.widget.input_type - if isinstance(visible.field.widget, Textarea): - input_type = "textarea" - visible.field.widget.attrs["rows"] = 5 - visible.field.widget.attrs["class"] = css_classes[input_type] +from .custom_form import CustomForm # pylint: disable=missing-class-docstring -class LoginForm(CustomForm): - class Meta: - model = models.User - fields = ["localname", "password"] - help_texts = {f: None for f in fields} - widgets = { - "password": PasswordInput(), - } - - -class RegisterForm(CustomForm): - class Meta: - model = models.User - fields = ["localname", "email", "password"] - help_texts = {f: None for f in fields} - widgets = {"password": PasswordInput()} - - def clean(self): - """Check if the username is taken""" - cleaned_data = super().clean() - localname = cleaned_data.get("localname").strip() - if models.User.objects.filter(localname=localname).first(): - self.add_error("localname", _("User with this username already exists")) - - -class RatingForm(CustomForm): - class Meta: - model = models.ReviewRating - fields = ["user", "book", "rating", "privacy"] - - -class ReviewForm(CustomForm): - class Meta: - model = models.Review - fields = [ - "user", - "book", - "name", - "content", - "rating", - "content_warning", - "sensitive", - "privacy", - ] - - -class CommentForm(CustomForm): - class Meta: - model = models.Comment - fields = [ - "user", - "book", - "content", - "content_warning", - "sensitive", - "privacy", - "progress", - "progress_mode", - "reading_status", - ] - - -class QuotationForm(CustomForm): - class Meta: - model = models.Quotation - fields = [ - "user", - "book", - "quote", - "content", - "content_warning", - "sensitive", - "privacy", - "position", - "position_mode", - ] - - -class ReplyForm(CustomForm): - class Meta: - model = models.Status - fields = [ - "user", - "content", - "content_warning", - "sensitive", - "reply_parent", - "privacy", - ] - - -class StatusForm(CustomForm): - class Meta: - model = models.Status - fields = ["user", "content", "content_warning", "sensitive", "privacy"] - - -class DirectForm(CustomForm): - class Meta: - model = models.Status - fields = ["user", "content", "content_warning", "sensitive", "privacy"] - - -class EditUserForm(CustomForm): - class Meta: - model = models.User - fields = [ - "avatar", - "name", - "email", - "summary", - "show_goal", - "show_suggested_users", - "manually_approves_followers", - "default_post_privacy", - "discoverable", - "hide_follows", - "preferred_timezone", - "preferred_language", - "theme", - ] - help_texts = {f: None for f in fields} - widgets = { - "avatar": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_avatar"} - ), - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), - "email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}), - "discoverable": forms.CheckboxInput( - attrs={"aria-describedby": "desc_discoverable"} - ), - } - - -class LimitedEditUserForm(CustomForm): - class Meta: - model = models.User - fields = [ - "avatar", - "name", - "summary", - "manually_approves_followers", - "discoverable", - ] - help_texts = {f: None for f in fields} - widgets = { - "avatar": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_avatar"} - ), - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), - "discoverable": forms.CheckboxInput( - attrs={"aria-describedby": "desc_discoverable"} - ), - } - - -class DeleteUserForm(CustomForm): - class Meta: - model = models.User - fields = ["password"] - - -class UserGroupForm(CustomForm): - class Meta: - model = models.User - fields = ["groups"] - - class FeedStatusTypesForm(CustomForm): class Meta: model = models.User @@ -219,217 +21,10 @@ class FeedStatusTypesForm(CustomForm): } -class CoverForm(CustomForm): - class Meta: - model = models.Book - fields = ["cover"] - help_texts = {f: None for f in fields} - - -class LinkDomainForm(CustomForm): - class Meta: - model = models.LinkDomain - fields = ["name"] - - -class FileLinkForm(CustomForm): - class Meta: - model = models.FileLink - fields = ["url", "filetype", "availability", "book", "added_by"] - - def clean(self): - """make sure the domain isn't blocked or pending""" - cleaned_data = super().clean() - url = cleaned_data.get("url") - filetype = cleaned_data.get("filetype") - book = cleaned_data.get("book") - domain = urlparse(url).netloc - if models.LinkDomain.objects.filter(domain=domain).exists(): - status = models.LinkDomain.objects.get(domain=domain).status - if status == "blocked": - # pylint: disable=line-too-long - self.add_error( - "url", - _( - "This domain is blocked. Please contact your administrator if you think this is an error." - ), - ) - elif models.FileLink.objects.filter( - url=url, book=book, filetype=filetype - ).exists(): - # pylint: disable=line-too-long - self.add_error( - "url", - _( - "This link with file type has already been added for this book. If it is not visible, the domain is still pending." - ), - ) - - -class EditionForm(CustomForm): - class Meta: - model = models.Edition - exclude = [ - "remote_id", - "origin_id", - "created_date", - "updated_date", - "edition_rank", - "authors", - "parent_work", - "shelves", - "connector", - "search_vector", - "links", - "file_links", - ] - widgets = { - "title": forms.TextInput(attrs={"aria-describedby": "desc_title"}), - "subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}), - "description": forms.Textarea( - attrs={"aria-describedby": "desc_description"} - ), - "series": forms.TextInput(attrs={"aria-describedby": "desc_series"}), - "series_number": forms.TextInput( - attrs={"aria-describedby": "desc_series_number"} - ), - "languages": forms.TextInput( - attrs={"aria-describedby": "desc_languages_help desc_languages"} - ), - "subjects": forms.TextInput( - attrs={"aria-describedby": "desc_subjects_help desc_subjects"} - ), - "publishers": forms.TextInput( - attrs={"aria-describedby": "desc_publishers_help desc_publishers"} - ), - "first_published_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_first_published_date"} - ), - "published_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_published_date"} - ), - "cover": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_cover"} - ), - "physical_format": forms.Select( - attrs={"aria-describedby": "desc_physical_format"} - ), - "physical_format_detail": forms.TextInput( - attrs={"aria-describedby": "desc_physical_format_detail"} - ), - "pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}), - "isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}), - "isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}), - "openlibrary_key": forms.TextInput( - attrs={"aria-describedby": "desc_openlibrary_key"} - ), - "inventaire_id": forms.TextInput( - attrs={"aria-describedby": "desc_inventaire_id"} - ), - "oclc_number": forms.TextInput( - attrs={"aria-describedby": "desc_oclc_number"} - ), - "ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}), - } - - -class AuthorForm(CustomForm): - class Meta: - model = models.Author - fields = [ - "last_edited_by", - "name", - "aliases", - "bio", - "wikipedia_link", - "born", - "died", - "openlibrary_key", - "inventaire_id", - "librarything_key", - "goodreads_key", - "isni", - ] - widgets = { - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}), - "bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}), - "wikipedia_link": forms.TextInput( - attrs={"aria-describedby": "desc_wikipedia_link"} - ), - "born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}), - "died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}), - "oepnlibrary_key": forms.TextInput( - attrs={"aria-describedby": "desc_oepnlibrary_key"} - ), - "inventaire_id": forms.TextInput( - attrs={"aria-describedby": "desc_inventaire_id"} - ), - "librarything_key": forms.TextInput( - attrs={"aria-describedby": "desc_librarything_key"} - ), - "goodreads_key": forms.TextInput( - attrs={"aria-describedby": "desc_goodreads_key"} - ), - } - - class ImportForm(forms.Form): csv_file = forms.FileField() -class ExpiryWidget(widgets.Select): - def value_from_datadict(self, data, files, name): - """human-readable exiration time buckets""" - selected_string = super().value_from_datadict(data, files, name) - - if selected_string == "day": - interval = datetime.timedelta(days=1) - elif selected_string == "week": - interval = datetime.timedelta(days=7) - elif selected_string == "month": - interval = datetime.timedelta(days=31) # Close enough? - elif selected_string == "forever": - return None - else: - return selected_string # This will raise - - return timezone.now() + interval - - -class InviteRequestForm(CustomForm): - def clean(self): - """make sure the email isn't in use by a registered user""" - cleaned_data = super().clean() - email = cleaned_data.get("email") - if email and models.User.objects.filter(email=email).exists(): - self.add_error("email", _("A user with this email already exists.")) - - class Meta: - model = models.InviteRequest - fields = ["email"] - - -class CreateInviteForm(CustomForm): - class Meta: - model = models.SiteInvite - exclude = ["code", "user", "times_used", "invitees"] - widgets = { - "expiry": ExpiryWidget( - choices=[ - ("day", _("One Day")), - ("week", _("One Week")), - ("month", _("One Month")), - ("forever", _("Does Not Expire")), - ] - ), - "use_limit": widgets.Select( - choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]] - + [(None, _("Unlimited"))] - ), - } - - class ShelfForm(CustomForm): class Meta: model = models.Shelf @@ -442,126 +37,12 @@ class GoalForm(CustomForm): fields = ["user", "year", "goal", "privacy"] -class SiteForm(CustomForm): - class Meta: - model = models.SiteSettings - exclude = ["admin_code", "install_mode"] - widgets = { - "instance_short_description": forms.TextInput( - attrs={"aria-describedby": "desc_instance_short_description"} - ), - "require_confirm_email": forms.CheckboxInput( - attrs={"aria-describedby": "desc_require_confirm_email"} - ), - "invite_request_text": forms.Textarea( - attrs={"aria-describedby": "desc_invite_request_text"} - ), - } - - -class SiteThemeForm(CustomForm): - class Meta: - model = models.SiteSettings - fields = ["default_theme"] - - -class ThemeForm(CustomForm): - class Meta: - model = models.Theme - fields = ["name", "path"] - widgets = { - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.TextInput( - attrs={ - "aria-describedby": "desc_path", - "placeholder": "css/themes/theme-name.scss", - } - ), - } - - -class AnnouncementForm(CustomForm): - class Meta: - model = models.Announcement - exclude = ["remote_id"] - widgets = { - "preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}), - "content": forms.Textarea(attrs={"aria-describedby": "desc_content"}), - "event_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_event_date"} - ), - "start_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_start_date"} - ), - "end_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_end_date"} - ), - "active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}), - } - - -class ListForm(CustomForm): - class Meta: - model = models.List - fields = ["user", "name", "description", "curation", "privacy", "group"] - - -class ListItemForm(CustomForm): - class Meta: - model = models.ListItem - fields = ["user", "book", "book_list", "notes"] - - -class GroupForm(CustomForm): - class Meta: - model = models.Group - fields = ["user", "privacy", "name", "description"] - - class ReportForm(CustomForm): class Meta: model = models.Report fields = ["user", "reporter", "status", "links", "note"] -class EmailBlocklistForm(CustomForm): - class Meta: - model = models.EmailBlocklist - fields = ["domain"] - widgets = { - "avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}), - } - - -class IPBlocklistForm(CustomForm): - class Meta: - model = models.IPBlocklist - fields = ["address"] - - -class ServerForm(CustomForm): - class Meta: - model = models.FederatedServer - exclude = ["remote_id"] - - -class SortListForm(forms.Form): - sort_by = ChoiceField( - choices=( - ("order", _("List Order")), - ("title", _("Book Title")), - ("rating", _("Rating")), - ), - label=_("Sort By"), - ) - direction = ChoiceField( - choices=( - ("ascending", _("Ascending")), - ("descending", _("Descending")), - ), - ) - - class ReadThroughForm(CustomForm): def clean(self): """make sure the email isn't in use by a registered user""" @@ -576,9 +57,3 @@ class ReadThroughForm(CustomForm): class Meta: model = models.ReadThrough fields = ["user", "book", "start_date", "finish_date"] - - -class AutoModRuleForm(CustomForm): - class Meta: - model = models.AutoMod - fields = ["string_match", "flag_users", "flag_statuses", "created_by"] diff --git a/bookwyrm/forms/groups.py b/bookwyrm/forms/groups.py new file mode 100644 index 000000000..15b27c0ae --- /dev/null +++ b/bookwyrm/forms/groups.py @@ -0,0 +1,16 @@ +""" using django model forms """ +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class UserGroupForm(CustomForm): + class Meta: + model = models.User + fields = ["groups"] + + +class GroupForm(CustomForm): + class Meta: + model = models.Group + fields = ["user", "privacy", "name", "description"] diff --git a/bookwyrm/forms/landing.py b/bookwyrm/forms/landing.py new file mode 100644 index 000000000..61b92ee83 --- /dev/null +++ b/bookwyrm/forms/landing.py @@ -0,0 +1,45 @@ +""" Forms for the landing pages """ +from django.forms import PasswordInput +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class LoginForm(CustomForm): + class Meta: + model = models.User + fields = ["localname", "password"] + help_texts = {f: None for f in fields} + widgets = { + "password": PasswordInput(), + } + + +class RegisterForm(CustomForm): + class Meta: + model = models.User + fields = ["localname", "email", "password"] + help_texts = {f: None for f in fields} + widgets = {"password": PasswordInput()} + + def clean(self): + """Check if the username is taken""" + cleaned_data = super().clean() + localname = cleaned_data.get("localname").strip() + if models.User.objects.filter(localname=localname).first(): + self.add_error("localname", _("User with this username already exists")) + + +class InviteRequestForm(CustomForm): + def clean(self): + """make sure the email isn't in use by a registered user""" + cleaned_data = super().clean() + email = cleaned_data.get("email") + if email and models.User.objects.filter(email=email).exists(): + self.add_error("email", _("A user with this email already exists.")) + + class Meta: + model = models.InviteRequest + fields = ["email"] diff --git a/bookwyrm/forms/links.py b/bookwyrm/forms/links.py new file mode 100644 index 000000000..de229bc2d --- /dev/null +++ b/bookwyrm/forms/links.py @@ -0,0 +1,48 @@ +""" using django model forms """ +from urllib.parse import urlparse + +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class LinkDomainForm(CustomForm): + class Meta: + model = models.LinkDomain + fields = ["name"] + + +class FileLinkForm(CustomForm): + class Meta: + model = models.FileLink + fields = ["url", "filetype", "availability", "book", "added_by"] + + def clean(self): + """make sure the domain isn't blocked or pending""" + cleaned_data = super().clean() + url = cleaned_data.get("url") + filetype = cleaned_data.get("filetype") + book = cleaned_data.get("book") + domain = urlparse(url).netloc + if models.LinkDomain.objects.filter(domain=domain).exists(): + status = models.LinkDomain.objects.get(domain=domain).status + if status == "blocked": + # pylint: disable=line-too-long + self.add_error( + "url", + _( + "This domain is blocked. Please contact your administrator if you think this is an error." + ), + ) + elif models.FileLink.objects.filter( + url=url, book=book, filetype=filetype + ).exists(): + # pylint: disable=line-too-long + self.add_error( + "url", + _( + "This link with file type has already been added for this book. If it is not visible, the domain is still pending." + ), + ) diff --git a/bookwyrm/forms/lists.py b/bookwyrm/forms/lists.py new file mode 100644 index 000000000..647db3bfe --- /dev/null +++ b/bookwyrm/forms/lists.py @@ -0,0 +1,37 @@ +""" using django model forms """ +from django import forms +from django.forms import ChoiceField +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class ListForm(CustomForm): + class Meta: + model = models.List + fields = ["user", "name", "description", "curation", "privacy", "group"] + + +class ListItemForm(CustomForm): + class Meta: + model = models.ListItem + fields = ["user", "book", "book_list", "notes"] + + +class SortListForm(forms.Form): + sort_by = ChoiceField( + choices=( + ("order", _("List Order")), + ("title", _("Book Title")), + ("rating", _("Rating")), + ), + label=_("Sort By"), + ) + direction = ChoiceField( + choices=( + ("ascending", _("Ascending")), + ("descending", _("Descending")), + ), + ) diff --git a/bookwyrm/forms/status.py b/bookwyrm/forms/status.py new file mode 100644 index 000000000..0800166bf --- /dev/null +++ b/bookwyrm/forms/status.py @@ -0,0 +1,82 @@ +""" using django model forms """ +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class RatingForm(CustomForm): + class Meta: + model = models.ReviewRating + fields = ["user", "book", "rating", "privacy"] + + +class ReviewForm(CustomForm): + class Meta: + model = models.Review + fields = [ + "user", + "book", + "name", + "content", + "rating", + "content_warning", + "sensitive", + "privacy", + ] + + +class CommentForm(CustomForm): + class Meta: + model = models.Comment + fields = [ + "user", + "book", + "content", + "content_warning", + "sensitive", + "privacy", + "progress", + "progress_mode", + "reading_status", + ] + + +class QuotationForm(CustomForm): + class Meta: + model = models.Quotation + fields = [ + "user", + "book", + "quote", + "content", + "content_warning", + "sensitive", + "privacy", + "position", + "position_mode", + ] + + +class ReplyForm(CustomForm): + class Meta: + model = models.Status + fields = [ + "user", + "content", + "content_warning", + "sensitive", + "reply_parent", + "privacy", + ] + + +class StatusForm(CustomForm): + class Meta: + model = models.Status + fields = ["user", "content", "content_warning", "sensitive", "privacy"] + + +class DirectForm(CustomForm): + class Meta: + model = models.Status + fields = ["user", "content", "content_warning", "sensitive", "privacy"] From 19202e2cd77fddb0cd267e911d713e3562ba4617 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 12:12:51 -0700 Subject: [PATCH 49/59] Fixes name of user forms file --- bookwyrm/forms/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/forms/__init__.py b/bookwyrm/forms/__init__.py index a6f704339..075752936 100644 --- a/bookwyrm/forms/__init__.py +++ b/bookwyrm/forms/__init__.py @@ -3,10 +3,10 @@ from .admin import * from .author import * from .books import * +from .edit_user import * from .forms import * from .groups import * from .landing import * from .links import * from .lists import * from .status import * -from .user import * From 486f70c7fbd9147ca1ed4a58cee162676b7a5404 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 12:31:29 -0700 Subject: [PATCH 50/59] Adds scanner translation strings --- locale/de_DE/LC_MESSAGES/django.po | 122 +++++----- locale/en_US/LC_MESSAGES/django.po | 348 +++++++++++++++------------ locale/es_ES/LC_MESSAGES/django.mo | Bin 83719 -> 83594 bytes locale/es_ES/LC_MESSAGES/django.po | 130 +++++----- locale/fr_FR/LC_MESSAGES/django.po | 128 +++++----- locale/gl_ES/LC_MESSAGES/django.mo | Bin 89448 -> 89154 bytes locale/gl_ES/LC_MESSAGES/django.po | 126 +++++----- locale/it_IT/LC_MESSAGES/django.mo | Bin 90758 -> 90522 bytes locale/it_IT/LC_MESSAGES/django.po | 126 +++++----- locale/lt_LT/LC_MESSAGES/django.mo | Bin 84886 -> 84689 bytes locale/lt_LT/LC_MESSAGES/django.po | 122 +++++----- locale/no_NO/LC_MESSAGES/django.mo | Bin 79871 -> 79689 bytes locale/no_NO/LC_MESSAGES/django.po | 122 +++++----- locale/pt_BR/LC_MESSAGES/django.mo | Bin 90058 -> 89997 bytes locale/pt_BR/LC_MESSAGES/django.po | 124 +++++----- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72909 -> 72742 bytes locale/pt_PT/LC_MESSAGES/django.po | 124 +++++----- locale/sv_SE/LC_MESSAGES/django.mo | Bin 87935 -> 87729 bytes locale/sv_SE/LC_MESSAGES/django.po | 122 +++++----- locale/zh_Hans/LC_MESSAGES/django.po | 126 +++++----- locale/zh_Hant/LC_MESSAGES/django.po | 122 +++++----- 21 files changed, 909 insertions(+), 933 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index f7ed0969d..31e44a7b9 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Follower*innen" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Zitate" msgid "Everything else" msgstr "Alles andere" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Start-Zeitleiste" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Startseite" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Bücher-Zeitleiste" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bücher" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Englisch)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Spanisch)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galizisch)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italienisch)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Französisch)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisch)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norwegisch)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (brasilianisches Portugiesisch)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugiesisch)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Schwedisch)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (vereinfachtes Chinesisch)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinesisch, traditionell)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Speichern" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Abbrechen" @@ -770,9 +770,9 @@ msgstr "Abbrechen" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s aufbauen und überprüfen, ob Autor*in-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Zur Liste hinzufügen" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Aktionen" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Spam melden" @@ -1216,7 +1216,7 @@ msgstr "BookWyrm verlassen" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Dieser Link führt zu: %(link_url)s.
    Möchtest du dorthin wechseln?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Weiter" @@ -1292,7 +1292,7 @@ msgstr "Bestätigungscode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Absenden" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Keine Benutzer*innen für „%(query)s“ gefunden" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Gruppe erstellen" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Diese Gruppe löschen?" msgid "This action cannot be un-done" msgstr "Diese Aktion kann nicht rückgängig gemacht werden" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "\"%(title)s\" zu dieser Liste hinzufügen" msgid "Suggest \"%(title)s\" for this list" msgstr "\"%(title)s\" für diese Liste vorschlagen" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Vorschlagen" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Listenposition" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Übernehmen" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Regal erstellen" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Benutzer*inprofil" msgid "All books" msgstr "Alle Bücher" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Regal erstellen" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Antworten" msgid "Content" msgstr "Inhalt" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Inhaltswarnung:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Spoileralarm!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Spoileralarm aktivieren" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Spoileralarm!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Veröffentlichen" @@ -4851,10 +4849,6 @@ msgstr "Deine Gruppen" msgid "Groups: %(username)s" msgstr "Gruppen: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Gruppe erstellen" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Benutzer*inprofil" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 76cfb32bd..c5d3ad3fa 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,77 +18,77 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "" - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "" + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "" + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "" @@ -188,7 +188,7 @@ msgstr "" msgid "%(value)s is not a valid username" msgstr "" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "" @@ -246,7 +246,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "" @@ -400,7 +400,7 @@ msgstr "" msgid "Moderator" msgstr "" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "" @@ -431,7 +431,7 @@ msgid "Software version:" msgstr "" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "" @@ -534,7 +534,7 @@ msgstr "" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -619,18 +619,18 @@ msgstr "" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "" @@ -667,7 +667,7 @@ msgid "Last edited by:" msgstr "" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "" @@ -679,8 +679,9 @@ msgid "Name:" msgstr "" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "" @@ -709,7 +710,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "" @@ -726,7 +727,7 @@ msgid "ISNI:" msgstr "" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -748,7 +749,7 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -760,6 +761,7 @@ msgstr "" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -780,87 +782,91 @@ msgstr "" msgid "Confirm" msgstr "" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "" -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -869,11 +875,11 @@ msgstr "" msgid "Lists" msgstr "" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -887,12 +893,12 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "" @@ -901,12 +907,12 @@ msgid "Add cover" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "" @@ -976,110 +982,114 @@ msgstr "" msgid "Back" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "" @@ -1168,7 +1178,7 @@ msgstr "" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "" @@ -1177,7 +1187,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "" @@ -1450,7 +1462,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:4 #: bookwyrm/templates/discover/discover.html:10 -#: bookwyrm/templates/layout.html:78 +#: bookwyrm/templates/layout.html:86 msgid "Discover" msgstr "" @@ -1573,7 +1585,7 @@ msgstr "" msgid "%(site_name)s home page" msgstr "" -#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234 +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:242 msgid "Contact site admin" msgstr "" @@ -1587,7 +1599,7 @@ msgid "Direct Messages with %(username)s" msgstr "" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "" @@ -2185,7 +2197,7 @@ msgstr "" msgid "Success! Email address confirmed." msgstr "" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "" @@ -2230,19 +2242,23 @@ msgstr "" msgid "Search for a book, user, or list" msgstr "" -#: bookwyrm/templates/layout.html:64 -msgid "Main navigation menu" +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" msgstr "" #: bookwyrm/templates/layout.html:72 +msgid "Main navigation menu" +msgstr "" + +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "" msgid "Invites" msgstr "" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3013,6 +3029,44 @@ msgstr "" msgid "Report" msgstr "" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "" +"\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "" @@ -3046,8 +3100,9 @@ msgstr "" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "" @@ -3514,6 +3569,7 @@ msgid "Date accepted" msgstr "" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "" @@ -3932,7 +3988,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3996,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4031,39 @@ msgstr "" msgid "Your password:" msgstr "" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 43db15d9d564c104654b5a2f27f668fb4ecbd918..ff4ad1d4996bb4a39f8a210854b7bfa648db2dfc 100644 GIT binary patch delta 21021 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

    a9#mi11c-y{CqNu9aRMX+W>0`b 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 delta 21094 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\n" "Language-Team: Spanish\n" "Language: es\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidores" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "Todo lo demás" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Línea de tiempo principal" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Línea temporal de libros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Alemán)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Gallego)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francés)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Noruego)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileño)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chino simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chino tradicional)" @@ -598,11 +598,11 @@ msgstr "Alias:" #: bookwyrm/templates/author/author.html:48 msgid "Born:" -msgstr "Nacido:" +msgstr "Fecha de nacimiento:" #: bookwyrm/templates/author/author.html:55 msgid "Died:" -msgstr "Muerto:" +msgstr "Fecha de defunción:" #: bookwyrm/templates/author/author.html:65 msgid "External links" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Guardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "La carga de datos se conectará a %(source_name)s y comprobará si hay metadatos sobre este autor que no están presentes aquí. Los metadatos existentes no serán sobrescritos." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Agregar a lista" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Acciones" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Denunciar spam" @@ -1216,7 +1216,7 @@ msgstr "Saliendo de BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Este enlace te lleva a: %(link_url)s.
    ¿Es ahí adonde quieres ir?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1292,7 +1292,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1326,7 +1326,7 @@ msgstr "Usuarios locales" #: bookwyrm/templates/directory/community_filter.html:12 msgid "Federated community" -msgstr "Comunidad federalizada" +msgstr "Comunidad federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "No se encontró ningún usuario correspondiente a \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Crear grupo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "¿Eliminar este grupo?" msgid "This action cannot be un-done" msgstr "Esta acción no se puede deshacer" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Añadir «%(title)s» a esta lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Sugerir «%(title)s» para esta lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Sugerir" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posición" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Establecido" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,8 +4201,9 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" -msgstr "Crear Estantería" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "Crear estantería" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 msgid "Edit Shelf" @@ -4216,10 +4218,6 @@ msgstr "Perfil de usuario" msgid "All books" msgstr "Todos los libros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Crear estantería" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Responder" msgid "Content" msgstr "Contenido" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Advertencia de contenido:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "¡Advertencia, ya vienen spoilers!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluir alerta de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "¡Advertencia, ya vienen spoilers!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Compartir" @@ -4851,10 +4849,6 @@ msgstr "Tus grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Crear grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil de usuario" diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 6c5d17c4d..4e3d049b6 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-14 16:32\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Abonné(e)s" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citations" msgid "Everything else" msgstr "Tout le reste" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Accueil" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Actualité de mes livres" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livres" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galicien)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (italien)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituanien)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (norvégien)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugais brésilien)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugais européen)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Suédois)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简化字" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "Infos supplémentaires :" @@ -727,14 +727,14 @@ msgstr "ISNI :" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Enregistrer" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Annuler" @@ -770,9 +770,9 @@ msgstr "Annuler" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Le chargement des données se connectera à %(source_name)s et vérifiera les métadonnées de cet auteur ou autrice qui ne sont pas présentes ici. Les métadonnées existantes ne seront pas écrasées." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Ajouter à la liste" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Actions" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Signaler un spam" @@ -1216,7 +1216,7 @@ msgstr "Vous quittez BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Ce lien vous amène à %(link_url)s.
    Est-ce là que vous souhaitez aller ?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuer" @@ -1292,7 +1292,7 @@ msgstr "Code de confirmation :" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Valider" @@ -1806,8 +1806,9 @@ msgid "No users found for \"%(query)s\"" msgstr "Aucun compte trouvé pour « %(query)s »" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" -msgstr "Créer un Groupe" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" +msgstr "Créer un groupe" #: bookwyrm/templates/groups/created_text.html:4 #, python-format @@ -1824,9 +1825,9 @@ msgstr "Supprimer ce groupe ?" msgid "This action cannot be un-done" msgstr "Cette action ne peut pas être annulée" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Ajouter « %(title)s » à cette liste" msgid "Suggest \"%(title)s\" for this list" msgstr "Suggérer « %(title)s » pour cette liste" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Suggérer" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Position" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Appliquer" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copiez le fichier de thème dans le répertoire bookwyrm/static/css/themes de votre serveur depuis la ligne de commande." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Exécutez ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "Exécutez ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "Besoin d’aide ?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Créer une étagère" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Profil utilisateur·rice" msgid "All books" msgstr "Tous les livres" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Créer une étagère" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Répondre" msgid "Content" msgstr "Contenu" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Avertissement sur le contenu :" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Attention spoilers !" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Afficher une alerte spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "Avertissements de contenu/spoilers :" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Attention spoilers !" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Commentaire :" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publier" @@ -4497,7 +4495,7 @@ msgstr "Critique de « %(book_title)s » : %(review_title)s" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." -msgstr "Définissez un nombre de livre à lire comme objectif pour %(year)s, et suivezvotre progression au fil de l’année." +msgstr "Définissez un nombre de livres à lire comme objectif pour %(year)s, et suivez votre progression au fil de l’année." #: bookwyrm/templates/snippets/goal_form.html:16 msgid "Reading goal:" @@ -4851,10 +4849,6 @@ msgstr "Vos Groupes" msgid "Groups: %(username)s" msgstr "Groupes : %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Créer un groupe" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Profil" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 691d4246e087603ac0f44e63c0f842b22202e1a0..8958c625aa2159fb6d31240e3ad57c6309aa0a96 100644 GIT binary patch delta 22785 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

    8dD(RabWR!28MK~K*bbD&^1nh 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 C4P(Fn delta 23057 zcmX@KgZ0HO*7|!wEK?a67#LJp7#L(27#Lg>85sIm85nY$K%xu`DX*~Rz@%| zXfZG_+=^ge5M^LsV2xy8kY!+Ckd9h9VaEO6{;dK-P!z%`cdWLn;3=Gl?3=A`47#NHg7#Oz3KrDI@ z!@wZMz`!6J%fO(-z`&pt%fMjFz`)=e%fR5kz`)QL%fJx8z`$@Q7UDqRI0goJkO$%z z82A|&7*gUG7{nPE7)s(87!(*77<%Fu7lqjr9wad^m@qIfd`Mzo-~vTOGQ#%DpI;8Yd^g9|9`vltkv7#J7~vKi{Z7Ou{Q#3^eIB+lJ(7#K_$ z7#L!67#K7e7#Jq!FfjNtFfiT($vI2afhT5}l~co`TN`f?c<*cliY=0N3_cASDwCn| zMfFex)lj+>YEXY3#Kp6q2Cm3sU=RT14k&#Ls{T6Ez=wGZ4ClN;?%meC|^K(H~R5z@X2-z>rx0wzr;PW&tGCo-Tl7mwyG2 zAQdTuqyhCp28KnTv``31L<~g?3}y@r42ngNL>f^9F?eecBs(4|f`r`lB8UT@7C{{L zrHFwcn}LDhM-e2OrWAwht!H3pD~4#;Sq$;<@nVRN&KENk z@%gJV28IGqsap;yKnlwt4x3O8iIREc5ChkjLmYajoPmLbfq~&vImE#8<&dC$0oC^d zD$iB{aVU2MBr3%#AR#7O!N5=t$_`o;5Q~f|Ac@1F0^;JJ3Wx=X6%YrcRX}`DUIB4P zQw0Nq6$1mq)Cx#qy8zXvRms3G0aPbcLM%L02{G?NCB*#uQ1OqI4E5mb@*OI`QUwVK zt|~|nDpWyyq+Z3qV9vn6U|z+*V8Ot^kY5E!L@TNw4!=UxNTYc(WDeX1dG9|EOgt08fk29+L77!R0pXGa_b6y>me>)QV&Ulo9iL@dq+LQXJ?`6Z`MO<#pm^qw8Pv0(I?pe ziCPUPU%vrtA%k55M89_f$h>+6hH$7vP6Nc{l?{;kzr6vHt>!mC;&Mj=#7CzaAQs+j zU|>iE#c2b?NAZmi3$hv^QCQvxiPHK;NECN8LZWPDBP8zUH!?6-fb#$PMo7@SfYP6! z2K<28s5Qla(K|*3#6U2dQn;;I{)x^M1 z4@#|vnjk@Zw+Rx2kD4Gp{m}#oDz0XTMzLmyLzSVlZZpK^=1{&9RGkl0JQ7N$KHb^a6)&_BK z{q#17iF4hi}-?GT3@ZHGAYW;-NpJ%p&MXZYL>2@2*8h>LhTAbgn)NRX>R#f>^34s+~) zSP9ij~xV?ThG979x8CJ0}@AX zpay<|I)Js40o*YW?1TiRODDvq-klJKCUipj16iFA2XsKidpjXbvgw@=kL-uapYDV> z;6f(@gAgeH--84AK;K9JaVA=(7SX~z+j$5Jp zxlnpZ7bI#|cR|v|o-T+3PIfUc)PuTM*SjD=^{xxzQig6w!NJoF32KdQh(j#8Awllg z&A@OB)T-@U1>4nf@y%2p0y^xU5?}a$TtQQhhZoLqPNB2T{O3A&D zsA=y7_5TzK)KpG|@Qy>OAPl4$3o&u>uVy8fYx?&2XPM9(U64e{0fXuCDVAwSU($P2# zm0+9-l3-xqnhH@UJrxpkDpMgLp+6N;;8;RwpQ#WB$4_No$OH{IK>7EkLM;3|72;5V zX%Jd=8pIr}X$%akp!{z#4Pt@SG)NSC+%_-ZBkRrgu(*_;B?!h(q>H zg9PyfsQmM3kSO4s4heFJ>5%Ta`E-bfQl~=-ti0(A4E3NfpPuOui&jpD#PPA|kb>mp zbch9vGa$6c42T2NXF#%%=M0ELa%VuA6XL^* zGa&;Hx1jo5XF<&KoduB(p9PUmm{ku+Jf~+t4E{9>64VT{A+;ClY)Jl1R-VA7(=w{-b_2B$cwwfdskY97r0l zoC667UnoC*4#dFXIgr7msyPq`PMO2NpaB}yn!~`L&A`BLZ4SgjrnwN0@XUpTj3AVj zn+wTB+H)ZxTOT(U;*;XJ5SLd&`7KboXD%c$O_>V`iN$jvBOjZg@;9OML#Y0jb0H4@ zG#BC!mU$4GZyv-067wKwL4F=MP1Q4K&x14|?B+r8Y4SXXMfLL_xuPGcVHT9XY#t=4 zHbM>DJ`dvXee)nbJ`NQ>GY{gi%kv-}xIGV2u)Tt+Q=1P8nR*5W?fH-aM2q>5ILQP{ zFff$QhiGh>4{^}s`49saL*-XP=^gVSQF0Wj|NeZ4Pv1iMU!Z)Z1rT#M7eM4CL3~jD zS6Bdv3xfrapmBxr1EKu11t6C)Fcd9-_`Du!Ke-0i`c2hK%vtSPXH{oy8Cfn3q5Xqj{D<(uU^} zNbd4m0 zz(1(G(NahV*e`{oDZixnU zP+ShNSbaG-Uoz+~hgjsa91_>TP&#%wBt+7eL$YVba)^&6FNcK4{N<4Byk$AWV>hAZ z{$CCW3HB8b2Z^o#JG`DjWd$Utbyq+vvR?toPM#|u6AH;IAZ@i}DemX0 zgJoAj^r^0dI9Pur#5{+UkdO#k3CRsfDUCCueZpX}3Syz{Du_dTS3#mM4l19$3SwT#Du{!t zLHa@YzZI&WcNHX?Oj`x9XvZo@wz{wilI>oug2eHEkVXau2C3DMYE)@8!~?#oAqGdU zhBzd3HN*j>t04|-S`BFnc0<)aT@B6upP>qw)mYISXdNV|-a_dw>lhfk7#J9SLut45kZOD4dPvE3U_Apv1Oo%Zz4Z_a%r`JF zY+_(w@ZSJQluR2TiCTOk#9>++Arl@c8|xuH+P{&3p^$-r;n7A&whGwvN z1aa8OO_1DjWfR1Kw>Cl2z(c6`%T1s}#lY}>69YpTBLl~c8JS2ZHKt*_;yJ4y0{(U zgCE-=QN*|dBCoOo5(RoY7#PYx6N@__QL%alq@36URd;I#ME{c=knH#t%Kx_mlE~S2 zg3??)1B2vFhy@y80R{%|osjGnwG-m7f}N1YY3ojikCyC&_;}M!h(UXILK4?`sQO1c zAyM#sCnPO!?}E_cyCCY7cR?Ixx{HB97L@<(c0qg`vkMYb&AT8$Jz*Ebq8Ym&K3)tJ zU%3lXLT=mzap>t?kiq4LyBHXzF)%O`?uIy&V-F<6#P&eaiozaoQ^AVGL$4+BF30|UdCJ&+(S-3w`8yx9v$6H5Ca6N$e27#MalFfc6K2bo%p z-Os=f$H2g_YCj~zI1fO|35^2`42}#84ABP|7=joW80H>;lm{OUFw}$RY~>C@N9EPM~^&=1s%|{?X)prEq<2gq_iH3pU!x4x< z|BpZ%#(fl0xhNimSm<~ZGH2{}6p}a>ABC8|>L?_nWRF2YGOPX=Bu=ItgT(plV+;(w z3=9m5k3j|uK0^5p$00%4cbtKNiGhLP;BoNu8N-p|3=ByO3=H3nLlR-+35a<)CmJq+ZDjkT|Qj0Lf+afAhYJ-mmuQ1FF`zZ(?` z>b1QJDZ8_-LJ~{kRY=gSxe7`3jMo?#Tp1V`g04XvG~*g%p8xDM28Ln=1_qn!3=BsY z7#KEO2QRf?D7^v6mI*f@>g#VZFw}$Ac5Jx`De0cxgcL--ZbF7w6mLOl!N^;Xd^_hB z1A`p{1H=1Ukkqbs8{#9s+mK2q@is(%*w1H43dlt3}Sa69x}Mgz;FSy ze&8-cJ$Q|V#65_C2KOL73%CafqJ{S$jmg9JAR1rXgXH`F_aJesdLN=M@IIs+P>!!t-wKX?Wy>pwq(6xGeoAyKmWIb?qD z)pJOJ7XN~Q!40&?y2Wg-AU<+>1+lp7 z6~w1kUP0pY=PO9IQ+N%jRMcKW;@sdhBv*Jq#RFbLs@tg75cSzm`NG$bTu}KMlDnE9 z>gpLfUqf6n3#xFmdKAA)XIUn9aLWt=dq^Om82PuNp-$6n!_8oNnPx?DZ(3HP}1X%+}0yM-5 zrKdsZW$z$Cw+*UpFI4<6l)n59;*rPiAP!)756S03?;$HD+}}e|f8BdXuG#$_+Wx=& z9x})K>OBL)LeK)F4-f^%KR_y(=N}-$Ws)BuaozF}60|)ZAr7Ap<*$J9cYlN=#v>mg z+12tBq}d(+2@>=(KS9h{`H7((ygp~+CkBS43=9mrK0!vW6FxIAa5FM62z-I01(~mq zxK;lOX^@zGg@~{H3JI|tUm->HzORsi>;_c+?N^9Letd;kDDe%_gHrg$z|g|Lz+nBY z9#Y91_y!5Ghu-ys%%hKlq2fFvT>ACRKh^arFssrUi0 z`05Wxt@iu}#DP^mAqF@8gg9{ePl!WS{e%Sl=AV#|I}BA@YG1=b`2dMsr$Xon|gpki~ zhywzDgWC)B3^5P}Lk3i$VHF`qVqSz$h>GBAQyM*1@_f~V429v!>>`;U9!X|m z1h4-qV`2m^P^@KQ1P@U3Gckf!Se}H^SD5M{8t+35c*(>FUbXre%2#5BxLAi7;xk)j zM(_edA1FV88Dd~QGsH(#%#7d#hF#1MhfHFIIB+R5Bm~wmLmYMt%0F8VHRvfbBY1`4 z7bu^J1>!?N7Kj7npnQEOZNmal@5usjSU6NX4XVBv%5QOCvOBfnW8QNh8+$N*Z@D#gYKTHagF;J^m)VK^Jaq6{`jP*y|5yV)QX&0&KW zxEQK#J(NDg265Osq6?{Y$1_6(}k&7kocRqkPll%+Vt^(O#D{uN+MEYsfdiCw<6#8%hJAP-K|6s5V$cj8 zh(mWm^&Q}W`1m9b#HWvWAP)Y_191o!FGOB}7vfN>dR|8GQfg0Lh{AGSNYM82Lh|-| zgwpk9{16v;^Fv&i3Z<+0AsQ$0LlVtmD7_9UzLOu~kkkAShhO1m1TR8=4Hf4XfP|2Q z03>QG1t1Pc5rBB4TmT$$^$g7d5R1B?^c(?*f$Ibyaefr4@sa=}=${HeEPe|W|0V$O zDW@RB1FC|I;2~CPK}PU${fUAQhwTuA`23C_Bn4T?A499T8y!53#-zVPx3Lz`(FY6p|>5#2^+_KU(04kb5Nt@yI7Jh&c@6j12XloeFH?kVK;@4#_6A;*8*7w=i)=a3``| z9O8p>;*8*xP!Gi+28u{9g7=KbNI(iEO9@Dv$4Ed*zFG;0h4Z26)=DrkxPulfOF$C2 zkR)S0xIUMWga~LzLR@SFrR^jksoM)mr%FPiszH*GAqTXMUlQVAPAQ0mN>Y%xb%D~s zQV{c!q#!=dlY)d?i4;U%i&Q-*5il^!m4eh>>!l!ZbPj6Zbty<3{)B4elZKRRa?+4Q zr7sPU50-}10U6Se?A$92v3R#M!~@5rAr5~8<^O}Km#mk81fiV_B#5JBAR6*yAQp7W zFoKuoua$uW<$W1O@ap%sG7t+?WFhJeWFh*!Wg$L{lZ8~nd9sY)^#Ogd5PP=ELej<+ zSx8!`|04@Ybi#6w5KxeV7+^042{L~MM#LOQ-nD1tRf`nUMMnxcew~CK}tqjC5VL{N{~1XRf6QELM2F4bt*v; z+X1M$n@SK5JyT+2-~{FW_ev0#|AZ=JRR+0?fk93g5@Z(25C>%|LxQ$g8Dc<{GQ`4W zWk?9jSB5xfB~*TkGQ?qfl_4Q{N*R(C9wdRChX`@L6l6EGlFoJhXErja-rUD7s-ztpYwPgaT5C{3F zGD6n>CaFSFW05K(4RoqP95hE25_ij0AwJ%r3W>Xest|`ffr`I_s{gJE2_Ysmh(1m= zh(0MbNH$kigVX2&szdFQx;d%{-Ph~YAaiXEY2wunI zssT}0r~z?ls|LiNi5id)II02h(F+YoV*3T9g)|{`hn6P9=OIu!RuhtK(=;LaN}zOo zn;;hV?p-s5qbl zsa#I$K=Q4HE+qd4>O#^=jxHo*8g(I2v`H7@!(+M-bI$2P;`+WWB!s@|GJ-d=Dd<7e zh3P@;iPK|*tpCl_gZR8g58}hQPJ|krP-&uV~+`ZC=7_4Ccsl}WPAgR320Alb01Be6H z7(jx2mjT3rQwETrzij{sv9|`0l9J63;t)MUhk?p&_K4cxecUfA#4UoQ}$+%G?HKjF}KqUV(uC|>%q=77RNE2(OIU{%ucegntTk=^z8mU?qkhuQIZ){u}A zwT1+#v^68c7DfgJU28~CKeBh{12{8NsVv{@6oO zf2ae*z)S~7h}1hk#3wpH9JCZFehjMah6BW$cMgmU^`L#c|DXaojt~ttj*t+Db%caK zo+Bf8^I5qgBA611W!7LctT3bOP-Jt?WHHAvJv!xlnd@& zkf`eSf&~38FGx9X&5Mzt9kiMKrxzo5KW?KpB;RlJh9r(B-jI;_;th!s1|LT7=5Zw- zNT0CG2h!r%>jUxGbstC+aQZ^xRt!q3LTM9Uh&j%_j11)r3=FBhjG*;G^$d5R3M~B~ zaq8j62;Phy;|DQtyC1~BBYu#$zU&7XKz!y0sVjK=A-O@(A5!L5`7?qyqc{3P3b60~ zkm}kY03u%)0Ew!K0FXWP3=B;HkO70c0g#|J4urJvIszdD$B{sY0Ve_(!Mosp20{#q z4T2OjDM66LnH2;{Y}G-KN~6XxVG#Mw zFh=l62@k>`X~!@el1942q3!>J;gEcPJsjebAK{SH$r%B$ST_Qa7R(|b*~=*clIndU zAhlw21UN1kIwBzLh9?n>4D%Qm7=$7rLA@~&lInLyLPAn93c~k_Vyp*`)31nvq~7&W zka7O&Q4otgq9KVgFd7o{Ezyuv{~{WaNYi228K*#28N}KkoljP3=9nWm>C$185tOq7#SG0Gcz#!0-gK7#K16x znStRaRDTf@149BM14AE(4~l<~`JnR~_!uFp9Y-eaTF}`YHH-`l$C)6DNmv*e7&bF8FtjobC?+zSeO|YwlOg<2s1G-9Aac(ILpkyu#1s_A(4rJ zVLBsZEgl~e1A{js1H)aYgJI?ivM?}A0HwIKP>C0yQ~_FN!3^0+dWVsLL7$O}D)Dn=;872mXG-d{dEGEdJFpwCi#ls-M%)lVc%)rpV z#K6!9T1U^w!0;WEyjd6+ni&}wRzMA5gF5Ifl#YXnGeT(zCI;}hJm~18a3%(Z3T6g| z6HqxtMh1p^ObiT8AoD;8oRNXyAlNhY3=FbN3=9XMhFUN&FuY=ftQOZ~WMEjy%)rpX z1XkY8j}hyBric%nS?%nHd;nf^rHo z188QG;Xe}t!+y}BKB#4&1B5`9>469+{sTI%iIIV!fQf;@n3;j$5Ho1UF%x8214s=w z3uMiN8r1cmV~}{67#MCaGcbs%nS@)85tN(LB*lU zz>7f)7#SEYf?6k_+yaV!5vZaEpvAaM3=Fa?3=GGZ85lM~Edw2aBg@Rd;00B;pP2zX zuhzs2St2zP8l3V_^`I5(GEnvhCde5*6Brr5{WFk5u7T5zs117@P?UzVHFbtLo?LiBt`}XP9_G1*9;5{&lwmPJ~A*c zurV?)u(L2QYzEoF09oJ-Vt!*{U^oq8FfcI4urPo}C!kygURe3x32M%O@-ia>!!Je# zhDMNMKp_G;-UiABot1S7>ZoUo3=FTKY++DI2s4oZvNClKC=0VNFxW6NFiZwH0Mt5R zf~;ifVqjnpWn^HG0(k~h|A;d&Fmyr<1DPWLEwi(r7K6mTFf%X&Gczz0Le*_#W?)c* z$}a>dfMQlg28J#s28L>=x}zXVpmHl185n+m78EiuFa$!y>$4dl+Y}B%4FjpIf@%h_ zJ)sIg`(&)4Y>+qz=P)raoB;Wb39##x18)gQEE@lRXG)4vn z6{zPx`u~FBKOSn?4kiW$DHaBXTBs#;%#gLUAcbETA?xgHp=w_dCG2^O3=9TL3=C@+85ou@FfcGO zGJr-(7Laq!!fkWME)e0V**WA*%|{Ktt*mls>==Sx~MHRbQV2O%P8(2@OJr7C~P_?_E1_m-RFnnTSU|0e*7o<*wiGhI= z)KUhuq8S-LD;*e2m>3vpLG`~q69a<|BLl;91_p-HP{Tq&tyidlax4rCW}wzCBLjmc zGXn!3GXukUkf{s|3{Rkz>;nyNFf%ZOGBPk6VPs&aU|?XV0d<8yCrvUkFhnvkFsy;< z0WGltF;l>H)iW>{F+vt_-UFST2DQ`=RN#OWfRsXT12g1|ofswt25m+Lh6Pah51`&7 zGXujtsAJB6+5}L!bx?X5sJF?)z`(@F!0;Dh9K$PS1_n(~`@aR$abRR%*vZVmu$_^C z!4c$Is6(Pa{bFVY$T}?0;gFyK0H{TinIQ|iLFR!@8&qOpU`Pe|nu&qIfsuish8eOU zY#Yeoph}97fuWEIvI_MA)cpFbpdyo*f#DA*dw>jQW?<-LU|VxLow)h zODL1!6cYo(Zbk+MSEyrP;y0NX78m1!xF>6I z!^pt!1XM~gF);8z%>i4^2-#9m0#*N!5p?t^DF160NIfM5@v>$hWVgU6fLAc z@}{6J(s4!x1_fpYh90QPwt{3pCx(K?R~Q%=CV|QYQ0oWOV`YRa+y)Kk6*4j~EMsI~ z@Pqo&2FZe4P(=k5cV=c_P=GqboDs4ne;*?Q!vj#u8Z_eovX762fuSEX76#%lFfe$5 zs$XUXhWk)MZ$J&xVPar73uQY(X{Z+PCV^O}CqO5Z!o)in7#LbW#Wo9M@wXzVcg)Pd z5CW?I8<`jw)3=E4wV<=1v449WMp92%f!Ht33Uj_P|%*alZ=p~Zx%z< zf_5B(R7M7drJy)tglzl-9pK9hbxoYPi>|C!Xm>C#0F)=V0g4%MR?P*Xo zhd@oI$%cNyd_S2P7}TMnSD7~JMf_LhNzE%!C{HZP%gjr+nygXtl-0c`zqDX7YpoJ% za7JoQ+GhD$IW;Al%6)MQ*}1OV`?r91!t diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index 1f45a6890..bf0fc1218 100644 --- a/locale/gl_ES/LC_MESSAGES/django.po +++ b/locale/gl_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidoras" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "As outras cousas" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Cronoloxía de Inicio" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Cronoloxía de libros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Alemán (Alemaña)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (España)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italian)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Francés (Francia)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lithuanian)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Noruegués (Norwegian)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileiro)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Sueco (Swedish)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinés simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinés tradicional)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Gardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Ao cargar os datos vas conectar con %(source_name)s e comprobar se existen metadatos desta persoa autora que non están aquí presentes. Non se sobrescribirán os datos existentes." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Engadir a listaxe" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Accións" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Denunciar spam" @@ -1216,7 +1216,7 @@ msgstr "Saír de BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Esta ligazón vaite levar a: %(link_url)s.
    É ahí a onde queres ir?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1292,7 +1292,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Non se atopan usuarias para \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Crear grupo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Eliminar este grupo?" msgid "This action cannot be un-done" msgstr "Esta acción non ten volta atrás" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Engadir \"%(title)s\" a esta lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Suxerir \"%(title)s\" para esta lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Suxire" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posición da lista" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Establecer" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copia o ficheiro do decorado no cartafol bookwyrm/static/css/themes do teu servidor usando a liña de comandos." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Executa ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,8 +4201,9 @@ msgid "Need help?" msgstr "Precisas axuda?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" -msgstr "Crear Estante" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "Crear estante" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 msgid "Edit Shelf" @@ -4216,10 +4218,6 @@ msgstr "Perfil da usuaria" msgid "All books" msgstr "Tódolos libros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Crear estante" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Responder" msgid "Content" msgstr "Contido" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Aviso sobre o contido:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Contén Spoilers!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluír alerta de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Contén Spoilers!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publicación" @@ -4851,10 +4849,6 @@ msgstr "Os teus grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Crear grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil da usuaria" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 2be0c3ac01a7057cabd8b69e3f99520ca5e585ef..911ed76e7d249a6e33903385d49658f07dc52aed 100644 GIT binary patch delta 22663 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 delta 22885 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 diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index 245387351..fbeaf64b7 100644 --- a/locale/it_IT/LC_MESSAGES/django.po +++ b/locale/it_IT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Followers" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citazioni" msgid "Everything else" msgstr "Tutto il resto" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "La tua timeline" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Home" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Timeline dei libri" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libri" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglese)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Tedesco)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Spagnolo)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galiziano)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francese)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norvegese)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portoghese Brasiliano)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portoghese europeo)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Svedese)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Cinese Semplificato)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Cinese Tradizionale)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Salva" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancella" @@ -770,9 +770,9 @@ msgstr "Cancella" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Il caricamento dei dati si collegherà a %(source_name)s e verificherà eventuali metadati relativi a questo autore che non sono presenti qui. I metadati esistenti non vengono sovrascritti." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Aggiungi all'elenco" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Azioni" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Segnala come spam" @@ -1216,7 +1216,7 @@ msgstr "Esci da BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Questo link ti sta portando a: %(link_url)s.
    È qui che vuoi andare?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continua" @@ -1292,7 +1292,7 @@ msgstr "Codice di conferma:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Invia" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Nessun utente trovato per \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Crea gruppo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Eliminare questo gruppo?" msgid "This action cannot be un-done" msgstr "Questa azione non può essere annullata" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Aggiungi \"%(title)s\" a questa lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Suggerisci \"%(title)s\" per questa lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Suggerisci" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posizione elenco" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Imposta" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copia il file del tema nella directory bookwyrm/static/css/themes sul tuo server dalla riga di comando." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Esegui ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,8 +4201,9 @@ msgid "Need help?" msgstr "Hai bisogno di aiuto?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" -msgstr "Crea Scaffale" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "Crea scaffale" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 msgid "Edit Shelf" @@ -4216,10 +4218,6 @@ msgstr "Profilo utente" msgid "All books" msgstr "Tutti i libri" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Crea scaffale" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Rispondi" msgid "Content" msgstr "Contenuto" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Avviso sul contenuto:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Attenzione Spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Includi avviso spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Attenzione Spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Commenta:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Pubblica" @@ -4851,10 +4849,6 @@ msgstr "I tuoi gruppi" msgid "Groups: %(username)s" msgstr "Gruppi: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Crea gruppo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Profilo utente" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index b4885e93b693c8909b1476f861f3aaecba0a2b0a..08a3fe6ac5ff76c87f1cb315f558e204008ad0bd 100644 GIT binary patch delta 21120 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 +1M5WWeN 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 delta 21291 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 B1xNq@ diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index b272ecf09..b74de2d2f 100644 --- a/locale/lt_LT/LC_MESSAGES/django.po +++ b/locale/lt_LT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:15\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Sekėjai" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citatos" msgid "Everything else" msgstr "Visa kita" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Pagrindinė siena" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Pagrindinis" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Knygų siena" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Knygos" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Anglų)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Vokiečių)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Ispanų)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (galisų)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italų (Italian)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Prancūzų)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norvegų (Norwegian)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português brasileiro (Brazilijos portugalų)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europos portugalų)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Švedų)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Supaprastinta kinų)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradicinė kinų)" @@ -735,14 +735,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -756,20 +756,20 @@ msgstr "Išsaugoti" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Atšaukti" @@ -778,9 +778,9 @@ msgstr "Atšaukti" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir patikrins ar nėra naujos informacijos. Esantys metaduomenys nebus perrašomi." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -883,8 +883,8 @@ msgid "Add to list" msgstr "Pridėti prie sąrašo" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1191,7 +1191,7 @@ msgid "Actions" msgstr "Veiksmai" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Pranešti apie brukalą" @@ -1225,7 +1225,7 @@ msgstr "Tęsti naršymą ne BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Nuoroda veda į: %(link_url)s.
    Ar tikrai norite ten nueiti?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Tęsti" @@ -1301,7 +1301,7 @@ msgstr "Patvirtinimo kodas:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Siųsti" @@ -1819,7 +1819,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Pagal paiešką „%(query)s“ nieko nerasta" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Sukurti grupę" #: bookwyrm/templates/groups/created_text.html:4 @@ -1837,9 +1838,9 @@ msgstr "Ištrinti šią grupę?" msgid "This action cannot be un-done" msgstr "Nebegalite atšaukti šio veiksmo" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2319,7 +2320,7 @@ msgstr "Pridėti \"%(title)s\" į šį sąrašą" msgid "Suggest \"%(title)s\" for this list" msgstr "Siūlyti \"%(title)s\" į šį sąrašą" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Siūlyti" @@ -2489,7 +2490,7 @@ msgid "List position" msgstr "Sąrašo pozicija" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Nustatyti" @@ -3952,7 +3953,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4229,7 +4230,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Sukurti lentyną" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4245,10 +4247,6 @@ msgstr "Nario paskyra" msgid "All books" msgstr "Visos knygos" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Sukurti lentyną" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4376,24 +4374,24 @@ msgstr "Atsakyti" msgid "Content" msgstr "Turinys" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Įspėjimas dėl turinio:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Galimas turinio atskleidimas!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Įdėti įspėjimą apie turinio atskleidimą" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Galimas turinio atskleidimas!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Komentuoti:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publikuoti" @@ -4894,10 +4892,6 @@ msgstr "Jūsų grupės" msgid "Groups: %(username)s" msgstr "Grupės: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Sukurti grupę" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Nario paskyra" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index dbfe5ea07ba28095af217223c694380ae67f9888..7f23bb1a85ac630404dea8c769addd4f5b1fa79c 100644 GIT binary patch delta 21120 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 +1M5WWeN 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 QCvua2J`vh{@JUAy0MR`tS^xk5 diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index a7626b284..2d4003e2b 100644 --- a/locale/no_NO/LC_MESSAGES/django.po +++ b/locale/no_NO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Følgere" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Sitater" msgid "Everything else" msgstr "Andre ting" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Lokal tidslinje" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Hjem" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Boktidslinja" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bøker" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Engelsk)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Tysk)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Spansk)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiensk)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Fransk)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisk)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norsk)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português - Brasil (Brasiliansk portugisisk)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisisk)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Svensk)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Forenklet kinesisk)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradisjonelt kinesisk)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Lagre" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Avbryt" @@ -770,9 +770,9 @@ msgstr "Avbryt" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Laster inn data kobler til %(source_name)s og finner metadata om denne forfatteren som enda ikke finnes her. Eksisterende metadata vil ikke bli overskrevet." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Legg til i liste" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Handlinger" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Rapporter spam" @@ -1216,7 +1216,7 @@ msgstr "Forlater BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Denne lenka sender deg til: %(link_url)s.
    Er det dit du vil dra?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Fortsett" @@ -1292,7 +1292,7 @@ msgstr "Bekreftelseskode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Send inn" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Ingen medlemmer funnet for \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Opprett gruppe" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Slette denne gruppa?" msgid "This action cannot be un-done" msgstr "Denne handlingen er endelig" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Legg til \"%(title)s\" på denne lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Foreslå \"%(title)s\" for denne lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Foreslå" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Listeposisjon" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Bruk" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Lag hylle" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Brukerprofil" msgid "All books" msgstr "Alle bøker" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Lag hylle" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Svar" msgid "Content" msgstr "Innhold" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Innholdsadvarsel:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Spoilers forut!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Inkluder spoiler-varsel" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Spoilers forut!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Innlegg" @@ -4851,10 +4849,6 @@ msgstr "Gruppene dine" msgid "Groups: %(username)s" msgstr "Grupper: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Opprett gruppe" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Brukerprofil" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 064c6caebac3129eca39164512621959f106f161..6ca75c4db9b5ada99f48b342c3be40dd2877a95c 100644 GIT binary patch delta 22778 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 delta 22809 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,}hA8H}O) zBt`}XJy1Q#$iVOvRO&G?Fz`an0b360$uTf6ltR_JegZYuK{8OR0?O8)jt>(9!+T~1 zhT}|-rMI9_EYSYY4-5_SEc1|MbyhDs=ZCj$e+3n+U!)UL&#b6G)+=Z}n#eKQ~nK$we#fng(PLoO&O zGeh>&)i5$Jbbz|%P)kAT@|YPIDxikuBZ;3!VuREjWMp8t0IH)w}; z>SG%Q1_oxRi^@QG4YXMk)Xf65xEUE3_A@asYy?@v%)p?`2sy~d4r(bIr~+ePU|0)k z{XxYpLe1I@>ivRj2OT2I$iT3MnSr5=nSp_cg@NG#GXq02BLhPkWb~VXp$*jOWM*JU z03}9H8x(5TGEmzK>YL}F#=vC32ystWCI*IGpk^@>1H%et28LUV4B&YR&|#;tQ0qZ9 zgO2tLWoBRqWCpF$W?(R4f~;ltfT}q>xiCVU_ZKq*gE~~?+Ty7ZDm\n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidores" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Todo o resto" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Linha do tempo" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Página inicial" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Linha do tempo dos livros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglês)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galego)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português do Brasil)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Português Europeu)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Para carregar informações nos conectaremos a %(source_name)s e buscaremos metadados que ainda não temos sobre este/a autor/a. Metadados já existentes não serão substituídos." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Adicionar à lista" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Ações" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Denunciar spam" @@ -1216,7 +1216,7 @@ msgstr "Saindo da BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Este link te levará a: %(link_url)s.
    Você quer mesmo ir?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1292,7 +1292,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Nenhum usuário encontrado para \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Criar grupo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Deletar grupo?" msgid "This action cannot be un-done" msgstr "Esta ação não pode ser desfeita" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Adicionar \"%(title)s\" a esta lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Sugerir \"%(title)s\" para esta lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Sugerir" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posição na lista" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Definir" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copie o arquivo do tema para a pasta bookwyrm/static/css/themes em seu servidor pela linha de comando." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Execute ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "Execute ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "Precisa de ajuda?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Criar estante" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Perfil do usuário" msgid "All books" msgstr "Todos os livros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Criar estante" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Responder" msgid "Content" msgstr "Conteúdo" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Aviso de conteúdo:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Alerta de spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluir alerta de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "Avisos de spoiler/conteúdo:" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Alerta de spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentário:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publicar" @@ -4851,10 +4849,6 @@ msgstr "Seus grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Criar grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil do usuário" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 85e167660be76978d3eae5b1408af98292516f36..d943b0f6c1cfbde56d1ccb7ab5d70b864c5f4d81 100644 GIT binary patch delta 19660 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 delta 19770 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 C+{E4h diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 32acf05c3..6f3d2e4b5 100644 --- a/locale/pt_PT/LC_MESSAGES/django.po +++ b/locale/pt_PT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidores" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Tudo o resto" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Cronograma Inicial" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Início" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Cronograma de Livros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "Inglês" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português brasileiro)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português (Português Europeu)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Carregar os dados irá conectar a %(source_name)s e verificar se há metadados sobre este autor que não estão aqui presentes. Os metadados existentes não serão substituídos." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Adicionar à lista" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1180,7 +1180,7 @@ msgid "Actions" msgstr "Acções" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "" @@ -1214,7 +1214,7 @@ msgstr "" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1290,7 +1290,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Submeter" @@ -1804,8 +1804,9 @@ msgid "No users found for \"%(query)s\"" msgstr "Nenhum utilizador encontrado para \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" -msgstr "Criar um Grupo" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" +msgstr "Criar grupo" #: bookwyrm/templates/groups/created_text.html:4 #, python-format @@ -1822,9 +1823,9 @@ msgstr "Apagar este grupo?" msgid "This action cannot be un-done" msgstr "Esta ação não pode ser desfeita" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2296,7 +2297,7 @@ msgstr "" msgid "Suggest \"%(title)s\" for this list" msgstr "" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Sugerir" @@ -2466,7 +2467,7 @@ msgid "List position" msgstr "Posição da lista" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Definir" @@ -3921,7 +3922,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4198,7 +4199,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Criar prateleira" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4214,10 +4216,6 @@ msgstr "" msgid "All books" msgstr "Todos os livros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Criar prateleira" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4341,24 +4339,24 @@ msgstr "Responder" msgid "Content" msgstr "Conteúdo" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Aviso de Conteúdo:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Alerta de spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluir aviso de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Alerta de spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publicação" @@ -4849,10 +4847,6 @@ msgstr "Os Teus Grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Criar grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil de Utilizador" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index eb44d9bf9529fbb561ab36fe4271c235c2e19ff6..d540a049d16db15db4469482f05fbdfed044b8b1 100644 GIT binary patch delta 22292 zcmeyrj&62cf53>X*~62ll6 zv=|r|CWSFDh%zuR>m!HI!^!8V+M!G?i>p&^`sK@X%Z zoPi;Xfq~&oI0HjG0|SF|1Ovk%1_p-35ey8k7#Qjq(jplcq!}0(0;3ohj2IXga-$#? zEr?=Z5My9qI32~npv1ty@F8sWCz{kMAAeRUUDcwW{hAajK2G2wWhGvk3i3|+N3=9kwNsthX zNn&8gXJBCHhtmI(7#Q*x7#Q-C85n{Y7#Qv)GcY7DFfbUUFfi1oFfcGoPGMk(0$G&8 zz!1s6z!01YapBrjNE~vdF)$=EFfdrAF)$=DFfhzbV_?u_U|{&4#=s!Rz`&rJ&cIO0 zz`$Ui&cL9+n zW?*1rU|=xIW?uYckCj$cmV-6%ya_2yz zQaT6XFs=F=hyr6MZJPrz$UO(*;-DOefeASb3<99s0j2Ap>ieMv&dgz8PzR+UsKFO< z7#O%27#MEmKs@vmD*io(fx!@zvvVOKRBx0EG1xK}5)xjykf038g;*Ss3vp0tF2v;p zxe%Av=R!iFBNyU<9wE#dubITzHmO$lOpyE@@At5oR91^ulp!C{uNYrhE z${#4Nhxp(`ImF^yQ2IqVMEqMh1A`O;0|Q3|#39O1+N^?sp&wKPS3oSfSpjj#!wQIn zAEDyEDj*(Vs)We%S3)W&`AUdK?CUEbC6;R?!~v0&kho2+gamPMCBz|3l@NobK;;)g z`D>y2cR}fMm5?ZWR0%1%WvigMpbBE~jw(pV-Kc^%y#9U_#Ny{w5R1M-6|h%Bf{L#i zlA0x|Ar4T6@(rpX`mCXR&uWN+L#iQ(IJp{%5b1={lfecsFwBMO zUs?+(Xx7z29C!h${~lD`JE-_Ks68xo3=F)W{4ZJuu}HZN;$q`ENQn5?L0lSE2XZL` zLvkG?F=p36g1D^?9E1$rbr2sftb+vgW~jdXbr1)ifzsFNAR+Jo%70zQz)%mWt-eAf znCc-4K&}Fn3ldPiay`T$di4;8T0_OX>me3~)k7SXR1XQM+ImO`ZiA}dQx8cSXX+s# ze7hbJLT~CB>cRE&uX;%1ld%C3mvRk|c7S;UBx?K`AU+9ifP_S110<+38z6Ds-2h2! z^Pv3A4G@PNYk)ZT5>($KDE+Dd;-F6rP@ge2LJZ(*gjk^52=Re-Bg6rQjSvS|HA1qh z3zUv%ghWM7BP8Ss8zI@O2FjlU)xR8S?gps79gUC>JyYKZ@yX3bNSyy}grsVwCP?ik z)dX>=brZxPUQLi73~qwNeM%D~D65(v4(Motm@~Nv;?P-53=H863=Hd<7#LI-7#P@^ zAs*FkhJ;MLLo+1E1DYWkGMgbGP}>YiRIN~j)0-h7u)G=Kpp8)efo4chpMr{CYlb-N zDOBHYsCnEikf;)FfrOY^3)n;T4B9Oai%eP|4sdIM_#~Gp zoYn$yz{(a#{l2vY5&|z;AU=KH0&zG?E2P=Z*9vifPAf>fo`J!z6=HxjRKmR#VzEyv z#DFNMd_GjZx)tnlh6X6z*$Q#cBq%+jm4U&7fq`LOE5sqsTOm>U4$5b1gNXCCF)#># z^1nzMBr&MAK`b_EgQR|kHb}^Xw?Q13*#;>eO4}fDH?a-kkcDlKC|lLWz;KL#fngI= zePugDzO@~qzONk;HS^jbA-$!YfuSDMem~I;vG7(q!~q}MAwmAX9pV7K4hUbN17d)F z2P6@?Lg}y$h`#g=P>?b(ltSrxsJ_k)h>vG#9;3(h{mWch>z2{AR$oR1u>|%3lehkyC4qS235Zs z%0J!(iP|$=3=Hc*&G9ZsZ@IG@(!#o0-wko0ehfVLzno|Jx6VYpDqkgOw*h`U55tAmUk2@nR^yWdbDR zdM7|aV#WkWnpp&;w@!dK_{0PThD=be8p?N{2(d3_BFLfj3=EZE1_MLeM2JC?CqhDC z?nH6toNs+*2V@CovT=4xl&{qOWHv#Jnj}8S26P z^LbDO%cnvTjnFiR!H&})LF_&aQc3wtgXHg2C|x=Yl2%%$K@6TY4KhYFZyIDg;nFmS z1B9nT94Ip#VzDxm)}0RR|C>*TxZHj^Bz5{uhXi@XbV%GcOos&B6excg)WBWS8Ng#Z z2d6_EczZeng9ZZw!bZY$!NcJh30SVfrGax?M zH3Q=ELs0%{D1CVbBr)Bd0SSp$Gav&Izo7C8Ga>plWQS}PCWxd08}6WEWp5!J{uAh<+C9n(*xztfb!SQ zhWL0VRNwyDkSIJh8&Y8XoXr3pw9=mg$^VgaAm$a!fn@X6IS_Lf&tYIN0OkMnb09(T zU=AdR-p_%=-S;_=#Khod^B_?mIu8IM$JO+k7&~Vy3$oSsTc@Tp>LFr%f zAVV%p^C1Sa&4-Ku^UsH*0iXGhTogDTVo&OPh(ojIL)-u5^FeXJz)&|Il3M%bLt4KJ zp!|dLAr8Ad9}<)gpay)M56SP03n22Q3m`ssS^$arzy%PC;}<|IEM5R{Q2hc(u4!2S z?U}4v0P)dIs6hu8Kzwv=0RuxW0|UdQ1(1TqVIic54qOQFY2HGJ!^@%k_Jt4!On{2d zUkE7=)-Qx4>Kh9oA;7r^Vjq9~B1pCqUj(s0YY`-Ft)aB*B1lO1FM?#hf<+LYR4;;r zMEfF0cAc{b;-iC5gP$*gguwen5C{ET1aUCWVn_&!E{51suf7XIH1aNiI9PlM#6XQDkdUxi0!j5=OCT+(#3c}iH!guVyk`l- zVKbJ1&8ufv2GzK32_(_&gYu6qffT`4mq1eaTZje*k);ry$Sj3esJay55L2kQ+fs-* z{!1Ya4O(gpRp8@8w!_#a#KA6!{nuqY_<}r@W@g~ZFpuW#HHV%2C*)KSjfK& zlGx;zK^&s94APb}T?SF#zYG%ObD`?iEQ5s5&Sj90IStkKXc+^87AXI}UIqzbvE`70 z#Bw>rqMYRn43-QG3^mIc7%nm}Fl>YJJ61r-gF`DI4T(1^AR#5S5+ZK25|Um@btzuxP2hHJlu3}(_U|?WKUj;Gfz$ylYO$-bSH&#IsS@&v4 zB3-Z=;-Jl|A@c=qS3?}`v4(-6kb!|AdkrLa++71nOTX4Y^xLk5q=BHdkklW$7UHnv zwb1r|7F42WEhLdttYu&*V`N}xSqlk?-|HaxmU}$|Lns3SgTQ)7_Dow35zkr=iHdwE zT>+&V*F(}k*Lp}Am;$BetcRGpWPLrv$6MAz3W_sOjStpC;_4-o4{BS3#_>5fKr9m8 z0Eugv4G?u&8z2TcZh)knK&ZN!4G@c4q3U}#FfbftU|^WN0TLpK^&1%&q8S(%ayCK| z)rpM|gResQkD>I3jgad2FO)C22@SfssN!4PTAqJ~L`5v1=*@%H5d^5yBxtk$v z$EM8?k1X5_@#*@_5Oa2IhNPu45cTy8_cud={>x@a+;eP!&>~wP8Wgrbd}Oo*Qhi!) zf%r6X3nauEwm^cocMHU#saqgET>uqdwgpnat=j@|=!q?mq1$^~7#OB8)H5*TZH2g$ zbsHoog||WCQg$1}Al+>cdE;%6i3rDSkcr2NZIB>5xs8FL0W<@;je((zfq|iDJER@( zayuj~$nStmyLs(kVAu^B7uW%rh>Y6Fzz_$@|I2qmf{bk!B>$`KVqkD&U|@*Y#lR2* z8oAsB$>(o(L5fuA-H;N@dN*VmEp|7gsJ^iqQpvFFf%w#P55yzhdmwc~^d5-A8}~rU zgG+lD80taOWwLuA^}69+NRY3us_8o*wJ{>&Bz>vhi z!0`DXBoT%kf{s*X9)bi_{vk+Wt3L#Z!;V7?3~3+(4naaj^)RG9H#!WlF#0egC|4b3 zU~pz&VEB3%;vmZ-5Ptg+NK~Fa0x_5OD5U={b`%mKN%cn|KFovCyP*m=jzQuwNECd4^8X!&gqZvZhyzqlKtfLM1Vp^v>;xq7 z*qmSh&q`-N`A1JMFiZlaYN*DRlaMmM_ar1SzBtLi5C@uiJq3xf(o>LZR&xq6xjgL@ z#G>z~AalY0PeF#^O-?g_M&KD{od!Fooz+1^Wr648K7u7%oAI+?vafM&^vm5Qm<*3@PdUUxqZj zM6N)}1g`~0UtB~e;^;HH24N(4{aut$j_FjcF zM7XapFlaI|FsNOFgh0S`28LS<3=GNFA(fTg4M=$rb^~Hj=?zFooV@|bRzGh*DkaIA zkdQIB3CZ4(Hz6fx+f9hMOKvhS)PrWXw%>&K=+aF{;(C4);!^8d;656I_bo{NZodT) zpL7di;G$cQy5jsTNRU6c#lTR&z`*e976U^Es6B8SQeJ$y4GB4kJCJsQ_Z`TBguQnd z>cI^Mox2c==iOys04+%PbQiMFAp9OAQSOA&V)r3&T6`apJ1*acmk`D{1F3#D+2>V#UloWCQyEV z1WAmJk0Gm9mOh3A*`LRd#KZrDfx!(l|Mvu9@q{OkH1PfjWcp3*DI|L(K7|xO=}#dc zmGu--$5cOseIr;yaY>?tJ3*F(j3J%uEi15Y6ix%m{5z1~0#`~p?~ z?mv z_8O81vtL6TeC{sQ&;laM}k*6wLboX-F*n0Ey$% zA0To5_yfdee?LH?i0LE5VS*na7D|1Dq?6cS9UmbMoB9z_&2Ih(>8Sks2uXzDpBO-cnhe>WAP!~t3~?C8XNU(BK0_R4{uvSl zHlHCL@%jvjqQKAf5P_V}5T6%+hE&HbpCLu^#m@}jxg7Z~5Cby4KzvyC1(HTuzd%A@ z#TSSuMi)!e}y=F(N{=iwD~IoXt;>s2GpFgZ;%je_y#e5(l>~GbG|`5QorIG#G>ur zAaQ&48^kA{zd`c#uWt|w#J)o`s(*)QH2x0pnG;kz2ujC6=`1K+_8p?X={p01EoiOT zcSw0~@jG~ArJjND2P7!-e?Tmr^aB!vGk-udF8l$paMKTn4-Wo-SbX{iB$3_z0dd$9 zsQM2-AZdW{CnPsX{)B{-&QC~@?EaGhye!A}CrDpC14G(Rh=D~vAr5K!2`ONf{)9N> z=ue0P&i;g?fjdz8)lWzw`~l_j{DP>H`UMF&&0mnj>-r0lMv{L)EUx_p={HRK#lTPn z%K!U*L40EQ8B2vdC~ElwiJI;|5R2yg zfz+Z){y-dl^bf?x=l(!K;>90GerNd$No$gSAs*HL%TNzqmuK@AVxZSwNDxNK;MGKmLWpJ>x$}Q%vR`#NyC@5RWGPgRVrV{0A|h z{U0P~XZ?eO$eMqUCe*HfkhpvN4-$8O{z0Nf-~rL-10x9W#sf9((=jw4{4fB z{txls{{N5=xB%7nto}d5qK{Am{{M&goP&W8Trx^9FoM^1YBMl`L&~3l5xim|mVpsG zbCSZq2wq^A%fJX;#9Ge42wnl%168+xff2l>bU6bfcu;y110#4{;2o%Z{R=4LJp&^+ zTYQ6B#LvhGUUn(*h@x6P=BMI;SbcnNG6EOtC<+V3yk}jAQmo#itl5B`1}$R zBX~9JO(^|>2@(?DnIIN2Fhd+Hzzp%J1T(~36=p{8dSVMG-yf{5o`E5mnGw9SGMgD< zK@C)6GgQ1Es&N4`#DeWm`ZzPhXV;k_4tmK9@!=0c!3&m^Ss)HeVS&i! zurNaA|C(4B!Aq~ZSs)Hr!2$`=^(+t{>||jCFFHNS0tvd4ER5il&UaWKQSgU_5xj1Y zofQ%iJWyJc72+T{D6PWE2wujk1(ok(Wn`!aEij(W3bA-EE5za>tdKZ7#|rV`OIAn- z{bpqZ&vx;!LFCogAaU-<#t2^X?a#&tUUJ>T266ZjHi&~ZurV^6W?*30$p#65R(1&8 z%g$I2j_axHkhosW4oSsF*dZ3)gz{gpLxTQ4J0vdoIT*of#+5lBL21tcu{e|iBA?3v ziR(rVh&eMjAP!l{0SU299FQp6%TW(;$r%oakFIb)vfFzOM)1IdFefD2C~z`@7bJUe zLJV%;gcvxT6QX|sCnRcCK9;DKg1^=_#qDY%MbB6ivZX_1_dZ>B)|yXPv9cJ$Y967z)&s#iK1-+ zjNlc}Cj~&crk;V}w*bWD41$m#mJoy(XeEHLI{$`4TK<3>?y>^kO!*&6NDgfe_jZZub&D*;)Yci zVvwjX#3BV@NYLpDLmXr*3~{KtFhqT_FvNky!jO=eD9i}nx-ml-V)02~h&_*l8NoXu zeh4!%)PweNNQy9mcQ)vYKvH>_2*ko35k~NO{+S|-;Pw8;pz6MeFoL&YNQ**4NEG73 z98pLJwumx<*L=?xg+#%5QAnM^BnAmN6){MZ$B8l4gA0@_F^CIW#2`UASBw$7nthWP z#GqSZ5T9^~GlF+SSc^k^oG1=Sl!fAuAgvdNWV>nN5DzSc%5M^fSa<*`enuP;vNy%+ z89_t93{S)%L6#x`iL-18NL-dmFf!CJFfi0fFoJit{Dq1;NJ7+mN`V=1*7r$6G)$F- z1mRq1h(TMVA!*^bG$hgdm4*~N!ZMJcRgr<{Gn9ci*ir_P{aj=q`om-(`ZHx97R`s! z%VZ!SyH*CAX6hNX$v}L54rRjZ?P1;;s&HXs|k@fQf;MH$v%Nbx7ixsSc?#wyHx4oX6@A4+v>M z93ra$R#(qpt^qYr1LCq64T#SRG$1~!)qoV4Q#2q=vpX7)R1F#;2W>X9(S*cpCX_DM zgrtpDC_POR62;3kA(hi!O-Su`LlfkndIpA{nh>9{XhAF%(1P$~wID&MsRcCzM`W`^# zt#u&s{yLBliPd3b0I&Zo)`3{qssnM^LLEl%Dz-H`kW_sY%Kr=1sHV#Z9{sk_Wn}ou zz`)R~3u$6i>Os=d4k-On57Ho!(ubI5p$|zjiTaSV)~3%`51!%d(PsqDg5TGN#I3af zL}9rBBY64E90N$4aTzj#w`gh`Lh67AhL8~YZwRTLC5#xstKFlGAW^f~h!MQe@SzdJ z0Wrpm;PnHo#t?nCjq4#n^~D(CA{G-!TyvQ~f?N>Fmo|aq0wohhh69WY3|1zPp#NRVAt83u8j=|ATZ1iT_-hTy?x6i2Hjto~w1HTlWdrfCjSa+t z02`1(28LuChyx33AR$y^1IhPOZ6HBC*9MYkciKQabPp>363YK*14&zdpnPUqMg}=h z{^zrWxJcKQ5xjQW#+H#`7HAWxEhMPh>>xg#W(RTT0y{{e+h_-I*fu*z+#a@rSG@Kwlo!|tCvz1PehQv)LM)0b6F=vRysm_q>IoTOfUTkq@WSGvtz;MSI($y+) zVFd4>TIK>tjQ3q29{b|LSP$-Cu(&dUH-{U#LVCRuT_LIXzAMCnuda|FRd$2;SPx2D zyFsGF!wr&VLfjzD`9?QJhFH+HTX%^1cy~z1<+wvasMa0gfSc~n{QuG&QrY};hqQzQ zJRlm3JQ%^V+|C}5@?nt&BY3WOg$E;e*Sn%8q`J=agrtR;o{%_R=m`m-6`l}v-=TbG zFGvYF$%_%ZFyU~$7bJTe^MYizKVA?6;=LhpoaPM)vTSciE@<$EG_5+lA!9jvydfc= z-~)*w9Un*t#`rKYc!DOgeIRlE#RuXbb6<#jn=d1H!9x8NUx>>k{20O8=@tASL00I; z2;OpC2c^$JX*qvLoaXsMiqZxCkTmlRN_z)Dy6p=BAi3vy03<|T1wisYPaq_%NCkpJ zw4T8_5R$qb10fFahSI@-khqTyghWASASCEs1TunW!z6+Zi|J!9#DlpZpxU&afuSmd5j^R$_U;r z{{$-T8U`sJg2NyMPI?%m$nFkfWMBjxG{D5ba0j#Hbe1GMRy;W+~X z!%9ZT;uf#~DF3epvmgV?po0TGFf)L6K!dj0^MFi*$}eDGV5kM{K4*X|K7k4|7=V_z zKsn4z3=BEU3=Auv>drATFq~j!VCZLLU{HXH6*4g}oMnPc$=54FEih+hU|?io0L>9H zOkieUILpYu@Sc%@p%OIl2s(Cwfq`K@0|P@O69Yp#BLhP@69dB|CI*J>%nS^iObiTL zkQ~9y$iR@#%)oF1>L}1wd=PUj0|Ns;)IJcO0d)R@IU{6i3`n4Wk%8eG=%fM=2ebf@ ziGkq-GXp~t69dC!W(I~;ObiSvObiUa7#SGcm>3w^m>3xLF*7jShg$xN0kXmgq`d&@ zThIW|lnB>&r7SFkE9`U{HX%(u9$L;U3hW zE1v^FgjMGcY7FF)++$g3O4N zKz*G6r9p!e%!~{S8yFeDbqdI*Fno@gf#Ee10|Of~0|OHy1A_+>c<_aRVLdd6W->7_ z+yiY4XNDXU!Nv$#EX2;jz|hUiz_5;yfq@sQR)&#*;SDonCft>Yfx(NBfuWs&f#C`> zWX=a_9mJl#rPi7`T}k80LZ!FcSlVDl-GaV@3vs z=S&O?o*;8T_VY0_Frl`?4@F=rA&XYd(-35Pr28Mnn1_pa3 z28Oka3=Bz(3=C;tO$-d5pz0$S85qt%#r}ZO0s{lX5oQJk8>pB+69YpRXz3OM14A4m z1H)se_*0NiKp15IT_(sPBM={i-!U^V>}O(Nuw`Um_{7A(@EfYh6>2F+4G8-|(+r4x z5=21pTPDb=r($LX24|=m&>3=FfF7#Mmd7X}Kef=-wKiT;9`yb4N#_DzAr&oDADM1xdLKH$bu{|+?B z0Xlt$nSo&$GXsM;)P2tx85nj#J-3^QfngG;mStvO_yJm74OIg&4TR4#GBE68gv`J` zU}j*bW@KRa2-UlliGe{7>Vi&Y28QFz3=HB-3=Dgj!7D#N@x#E7!OXz0lYxOji;;oh zH!}mnMMegO5Jm=uNM;6xm&^BD1F&P+om>3vJp;0FQYF>cb2cYHtpb8GO z5So#JVLqtlWoBSl2(=Kj^7=I+0|N&W0|N&O149>7JR6h-nHU)I85tNBK*i=UF)+9= zGBDVKDn2F#h7PFse^44=U|&1_p+Sj0_Bmp!%wyG-!9m0|o|$MWDpV z3|XT98fGv6#s6_828Ln=28Q>bItA(o(4k1pP&Q}=7iu=cbw&mTUq%K7BSr=W6J`d6 zl}wPG7zs=a49B3BfzC$>fNE=~hs2o~7?c?y$4bdFGBA7r#lH$8149He z14BBf$Yx?-;ACcC=w)JHh-GA8hyvBZpk>0KTAPW1;RtBmI%x4M$TDUIhKEptMVS~F zE-*1Le1|&vCa6?qU|>*VWMDYU%)rnLRd)b%dJ`i9gDo=y!z55N$ucr9JYr;E2xo+> zt_Qh(DFXw;VI~HKo6HOh0n7{xJs?3SHiQ~f%f!HNi_W4<-hNPLMb=14AHaj*^jq!H=1N;VP(o0y;wss+WOCI*JtPy^~285m+ftuPh_h6W}E zhBZtK40D(m7}S^<7*2pr0s}R+plU&9o`KrO3`?097!HEsk&%Hxgb}hO0HkI*BLl-8 zP}6~lf#D%2gcukY`ar=94Pua*WJU&tCL}&c>>?i=k#fg%}n?9RXV3c!>$J&=Mq9Kbe7np%s*RnINmPd6^*_-EV-3WF`g% zJE+FFpf(1mEy4_0lXQrQfguDcR}RW{pq1H73=E8n3=9EG3=Aij7#OZFF)(~#hMaAb z&cwhF$Hc&p!N9<<8tS;)p!oj?O)UH%g`nUERd}F^kBNcd05b!_1yHMviGg7w0|Ucv zs78>>LHIS)0sBFv97q5O?}y6yF+tWie+EsGL-m7>nd4z*U=RT1|IbX2^`;)o3=F@R z7#L17GcbfQGJuEwLFVy79SCAKf$9ZD1_le}WcWGcqu!GcqtJf@(uh2Z@P+fe%!!fb#z;kZO=C znINn3Vwo8j?4br(GBPlHfLgW&s?Ly^0X*2X7ODm+%&>rwf#DyNa~E_xATtAlDkv?0 zvLrJD!!e|s4rOT2@iz5$sr1r!A^J|hFe3`Pb9d1eNN zjm!)Tr=S)~LLIgMs%}3>BdBlzozMZ5g9?F%AJ|wJ7-|?87^FeXOi*8ynSr4a6#t;p z7pH;Z4yvgHY9L7S83qQ1o_(fZCs+p&w8q1*%pKswRwyfnfy`1H%$1|0h&_ z5)))oR3IY*!w#s}B}N7Y-Fi@0jRCUA4P*f;sMXEPz>vnsz_1b2MT8mzk_%;KV0a7a z_JOi1$o0$&411Uu7+RrfKxTo|F)>4SaDdnej0_B?p%#MpAbg3L0lai9n~{M*RvlEj zF*7g}fqcWj!0;SoFcSmAT~N6XY9-d61D!<3z`$^bk%6I*k%7UVk%8epBLjHV$rEM< zhRdKXG^mlq$iOfg8aZL0HWJiYZ)OIDOP~`jp>iN6d_!V`_Wy{2yaMVQfFv0h7_=D~ z7#u+DRAz>H1`#F(hF#1I47WiQDX92iWMB|xW?+~D8UTVC1ln8x(yIxz6vPJMTZ{}0 zrMIP$v?qFN%qQArHz1oo>euI~;3K_?BBf`T4Y6frX}lpz_A$pl&PD2Qaqc18vU zaYhD)CCm&AtC<-XT9_FaB$*f(l$jwLNgd>ZdV7Ru+R! zFue&n@RJ#|u$O@$8#JcF%)lVb$iT1*v|)$=vbO`IAGDqJ4ya!T8p&W}U|0%uU=`F+ zF`(Wms3Qrg#6b>WVql1X%7OHIGBYq(Gczz4f#P2qN#Yx*c?qhBp=sU=Ne;9{7NmI| zRE`r$OENPscthDBc_~me1$EF#P}c^OxItrrP_s^gTBJ~RB&deo1uC}~85kNtZ6r`1 zj*)@kIHCI$ursKM-@p%x~{VKE>}L3k?z&4v zff-P-tBjCM3wJKP5%~9@G>$mNHa4q#DhwAr~{Tj z4FXvv#>~KQkC6ei0*m1ZNC1k9p_W3q;9XGDK%-xv?8gMzkR}IO!3ZiF!~7%(s}+zex2 z&|+X<;0kA85M^LsFb!v5kY!+C@D68S@Md6O$P8y-aAII!*c#5jV8g(`@FSdoK@X%Z zf`K87fq@|q!}0(PDU{>7%?y~JdJ`_ zBoWQPAjZJJ;2h1spv1ty5Eae9V9db4P#ev_0CL;LXav7AmVrT>v7Uj!DVBjj1Y|)R z1H%>u28R4Nh(?uoh!1Vz85lx9^6?A|Y77hv>!IS;;vxFJ#6uj&nZUrH$iTp$lfb|r z$H2hgmjDT=+yn*&Nd^XnW+;Dd0s}(~0|Ue61O^8FdIkmtfkXxd69xtbg+vAhE(QjM z&_sw25)v60R2di;3KAI@_!t-%rX@l`YH1<^Lly%A!@)!bhGvk3Nem3i3=9k#k{}^? zC5eF{pMimaJsComCo?eQF)%PZPi9~UW?*0lOJQJ0U|?WamBPSKpTfYvz@5s#5CyU* zm4P9Wfq~(4D#V4VX^=Q*$fQ43=9nWvKbiI85kJOK;^Gw*FywuLj@jZLwxiKs^Je* z16K~jAfX%v24;{Cav)J7pToc)#K6GdngfZth#Uq69tH-6WT^Ur90mqX1_p-897vQl z=Rl%zGE{z1JygMJD7_VG(Ec2Vi%&rfyphAeAOOl8Q2HBGJ$o+1K*3xF26a#x%7r-8 zBbR}Jn}LBLFc;#XSg3e@E(3!h0|P@vE+mBNSLH$s-k1vsi9@-NAU%}}@yUf;h|lgq zEqVbp=zA_CBtR((7IgXq`DV_?t+l>>PYi&OI;iFA4%ICs=DoXUd) z;e$L#oPW+^U|7V!z@V8ANi=8j85qn!ai0%Klqv-fgBuGV*{`nv5>kr`AR)1_0OGI% z1q=+?3=9lM3Lx3ipb%nlP$5KpYaz(P^$ZM?3n4)^yO4naR1_{LggC&eh=JidsK6+K z`0Q#iBuMWUL-?Hu7rU>0_2erkVOm(P9>0X!K(z~fXosG z1|d-XFNZ4VDq&z?VPIgG1l2gb1QL`Rpc)Q9<@w0AR+P;YR)I9`d=lG zxaTN^I83S(V!mc6B+B(l85rt81&)0w#0Orb3=CEb3=FZQkaA!KRO6>o28Ia?3=E8A z5DO=jK@6Nx2C-l{RD5R{#3B2k{4-_XIA*w11_`MbWe^X&FJoXZXJBCXU&c_+V8Ot^ zU|tSMBn9P=pjl83F=$;m#9_P3Auc{w4spQ!a)^OX%OM87fy)1Zit|=Lf?T8m616f= zTD1Zab$U>Fi;8-P4;(5W76(D;gbIjwUIhb#6axc8Lj}Ykv!V353I>LLP!S9@D6kUZ zkjP4iLo+KO7FSh59MW6~@lZEZ-Hb{|WwoNd65^v1m5`F_98}?>N{EBrS3=_YFI1ef z3KH~URS*ZNRzVCluY#y^f${^YAm+tF>B1^V)V5YZiu40jkla!Kz6#=!=xRuiR#!t@ z+*A#5Kvy-yq8U*6Rn?Fn+*l1s<-4mP4mbwoUxwcMaIV z^$ZF%5Q}tbAhnxS4J6To)j%ASQv)%exCUZT6GS6JKh&VvQ1J~=bN1Fis_)Y^knH!k z1`>6DY9JoruZ7s7Sj)hW%23b1U|S3E$>Lgw1?y@dA+Wm^5{HLtA#r-977|r=Yawy{ zxRwE&ct6)dLPVzyLYvh=^gGl+^n27n3ZTF`h)0X-Ao?3Y>OlE_B2;2#9mJyLQ2q|6 z!eez17hkJ`gvh5lh(mvZ3}9ejV5^5DQoedf5Np;$LQoHyxLxYOLCp|W57C!Y4{>OI zJp)5MsO+w+hlD^gRH6^6a0XO-DU{v-rFTQ=V^DP$>mfe62Niz@weTm@VXO_1kWy%X zgkWR?M16b%Lp``ZMJPT5)d^#G&_~2EA>9gy6R(NZhkGLqbxv8R7u#W{5dv%@BKR zn;96w85kJq1DhEbR2Uc-RyIR|>RdAwxN;2QjanVOWPYe`71e z0q4OI3=CJG2Hb;+zk*uy9%{f}sJu`cM4wz6#No43;<);9wH*)#OzD6G z`68(NMkxO7P)2T%DkxW?+zj(n_5Wb96cx>cQ=F>rRNvojM_L6VwTD zd3qe#y=<_mN|9HP(#NlRK? z(2~lu3*uu(sKVeb1_nP+JH88&Z#Q*8g7{Jw#O3e0AVK-J3*uwWZb%49bwkWC=!S%x zQ#Ztck=+pWaZr9%HzaEF>$@2k)-y0L)O16-(KVZTRLoWk^H3I{KNG~Mh0(v1nOznkqO7nXe7&d^~l)VfL>p;EfK8XHLeGmuL|LB8Q zz|s#%mBRfHmrM0STC0Zrkf;dghiHuGhiHt0^0WFO78mqGeBRm*36bgjkZiZ2AJW#l z-4F4x@B~N$L}3Eh+7*Sq2jy~ zA>v{aA?nm8LPE}9A|xcNCqmMUE0m6y2yt-sL|C6BsD)4F|#KQj*Aug4f1fex2 zK@2jR1PK9$Ne~O%CPAVga1tbHQYS(57f*u3`GiT3B7Ev3hzGY%f;i;lBuEI~nZ&>V zsOuYY#ZU!Xr$FNN_!LMbb9oA6DCWx)NR-G=g*eoD zD#XC3sSty5rb2?WY$`ZT8M>!JLTd69PbV!=em=1A}<#fo{ zk>hj*@Yqr5bcp%erq@GUxPLmt;$u+y0#xIz=@6Gcnhr^vAErZsoO=c&?v-aiLc$!% z_nZMSFLnlG%qL|A#DR4)7#K7d7#OC{U|`T@U|={f17hEs`WXB3{q1Z5G65duKs>aC8==M7si2C@>omGNQ8~<9tf9AyE8MoqS=rrSr65JayH0e^$ZNxp#t~70t^gqpay-0@|ovA4Ca~xi3+JX zkdV=b@~xr#fH@E!$IJm4%)pQ|2NH#ub07uQoH>xetV?qs`Tq|{KdAl}o(sw68gn5A zyUm68G-xiwXU%gVKAJQa5`?qnLK5TRxex>Q&4pAxFXlp`^50y@=orU5NaE9<2Qk-U z9>ly5D4jfyfuSBWVp%i~V!@Po5DVtag9Q1~c@Q6Mg7SCFgZS(ylz(O(14AEZY{Vi6=H zJ}rV|KjFoYkds>s2??#mknC!|7~-Ln#SnA57DGZ{(qf2%>K81AxN!YqND%K>46*3c zVn}wmvKTV1|86m)31+wiQi4S;fmA}ROCScXSOU?vVF|>+yOu!AJG}%F5_gwCQvKT{ zkQNooQn1788B~@+T&}+q;xg-{5Cc7zLNo?0g`|Zp+CX;>KPcAmq9dgFN0K@BFiAz$!r-UoB1q*I4FG?q&Cc7 z265=DWe|f_EQ2_7(=tdJIRrKD{4z*W?gmu7(Q-(TJ1mE&^Iy)uAPCC;G0P!AleZk= zkk;i8i~5#Bf_Ue0NI`OEIm9CV6$}iP3=9nND;O9qGB7YiLiyS&A>~2pN=Q4Reop7vg`l~mwUFG=uojY*=B|b4f3TLJ z9z5gmbuA?IgPN$IaeKCPkRaz>2N4%t2T3E+>lhfy7#SGU*Fi#J-g-#3UALZrArv&F zvL2E>IX6JWc{e~pR0v8-Lur)_kf_rIjc9--1k5);EVSPMG1z?r#K++qAO%G}RAci7 zNL2Me`HP_jt%35lZGfbW{ZMshq2@i=0EyBsP<8SfA@*t1Z-i(t*vPt;xz@ZJo`=Rr^fRhuCiTQ)FrSU zhqpi+c6AFRvEJJP@#&u}kPuVe3JGF^tze57EVe>C>I@b4+zKk->KPaUw?bT+y_Eqx zrrWrcfngd01B2i;h)Y*&g9O#KZIHBaU>n4s3sCuM+aMDZPqslOB&D}QLNI4L149F7 zB62$eLm6n+YzL$r(6a-Q77p!TU5qE(Qii1_p-TyBHXP7#J9AcSG{|gx!!Lb>D7C0d{XUWO|KZ52UEB-UF#)mhXXh z^u`{DN8asWV5kR8F#g*EakGu-Ac^Px3COe?_elsp<0J#aBv7h83DKv13R319oPs3A?o*J& zyYmzz$|O#MvKa$|{AtLfv*l@sJ+n@O=ZNbW7M%u-!!s~kKh3~U3rf{zAO`O~1Bt66 zXCRZ$-=X5sXCXdIISWbcI3||--81|fnICSHANR-??4@t~y7a$Iix&T>- zU~&O80$R_&Fy#Uyj^12=)M5q~K?4H}3|SW$7%CVT7_MAoV7SV_z~Fm{f#Ej;1B3Eq zNRcal1=7g0z5;P*{uM~Uwde|@>9zd|q+Gajg@M7Hfq_BzD#$_xhUlx1DB66Lfk6?J z|KD7NBr?8hkoLOVHHgd2uR#(`!Zk=kWZg9e22Dl=hLhJIA@KP+1H&!Q`2P(^W%cj| zq`dff17eZHO-M)-+=S$+IX5Ad*PfdY^Dp0IV5kSp*Z;W*DMB@GK@4`k1+g&d7Q{!T zw;+kD>lVbJ_ijPDXzy-8$^)(25OLGnkn+OyHl(g7x(x~P=GzPm1q=)fb8j;+bb#6e zcOd1(^g9go;58q+??4&~@9scWDkR*6@Xz0cSnPO@fdRBoVd_1|0)$`pAc->OK7`(R z9}=fx4;WV@FMj|@j9d>PKaqO`!b#7?K#DJcg`l@pu9WvH4FRX=l?D1_n0<28K6JAQl@x zg`|N=Pa)H9C!a#H9m_LF0mN1R3=&kl&mfhI+%ri2*LVggB2At_G&nzlK8tP6m)BzLDIs#XOOf||L++j@rXW$Sg89PVvx;q zhywrTkTj6?9OBSwsC>_JNVPp5N^g7)$!3S4^4Fh3a>=XbkTk&d0%DKC3y66ZFTjIQ z^$fl*AO_dIfEdvC0-|Bj3rLBz=LIAPPrZPI4C70P#k?;e1&sVlh{M%hLVRZW5~42@ zDxUlj5^_Z^A#K9ymk@IrUV@75dIpA`mk^)Md6YAO%hP zD~JzPy@IIQ{|Zul|9%B2khZ@Dmuw6-Uqcch-y4X73*SHzU-KJC2+w=Nz`zU2{~O;x zT(m%fE)IQSOglPggA?pp?iB@7G<&)zaH9A;o(=zhn*z{SYG z;Qt-~+_x6(1nwM9T*ThI-HvtHmE6`FGa`NIU%$RN?avkaFSk z2S~^WeuRXS(npAamLDNe;P?^J$@KULiQ~MFkSJ{X2=Um0kB}%@`Vr!=EgvEF?fuA5 z4_+Q~_9LYJzy1*tv~NE`e9ZI-(w-On1PMaPPY@qze}Xv7;uEBr4f_P?s4V;hNkhLr zF)&O46*QkA4qf~i;;_}9As#sV8RD>8pX(us<^E@gPu_lp#L*WhpZ^QQ=VD(V)v@{) zNReFf1u~a&=nF(Y_g9DyCBH(_h{jh)2zY;mn49_);*cDux{|Mu5NNK4DwzBglK*FY zh2-xgUmYN+10S390j6AwGEurT;)_;cpNRXnlh?-1QrzG79^~z%Uoob^8Xf zNAf!)MC+BmLxS4$J4C|cJH+Ck?+_oweTP_>`yCR;&EFwDTKOH4zc)bDpZN~4@CKCs z5=wuCn#1@5;$wjy5c3rvbUlL(gu!3|rCokN3<~(cz+ek1a({pe3WoVVAVV(ae?WrR z_9w(42|po0oBk7`FaIaR;SE0_9_s%Iv3TZBNa9=h6XJkPVDxF*K45$UH$`c`2(nd zU;aRR_VW)U5wib<@a6tOLQn@v+y8|`QP5vV)I|P;*pu}aQo9!YWvB8zGs{fFtRmXow z)NT9^iMmt&AyM<`KO}qq`45RQ_Id_J@X)CM10#41r!4~`c!D62ff2mkua|+50kqt9 z9s?tIq+|;NBX}j_eg;Nx$em?i1h00z#=r<(i1-X@&QGX1Sw=?i468OHM7Aj4M;MHwM7$FY2%g6{` zru&+a5xm5bj|n0##>5C-6|2t#F*lG2;(!h)?>N7{QB5=QA;a z*LH4Xg7|DZ6C-%p>?x>$>dX*_don{pD3%#wVKG#^hZ*AY1xpFV>c@QIlbya1Vv1!9pb3q+kE3nXeRSs)g8u|V_%Ld9cQAo}uH zKo&4Cv_k2rED(<^Wq~+oI}0NND=7aTV}bbK3{>I~3nO@z>Lb)bBUXsK6)VK$0j!MR zrP`6K5C@d8LV~oG72=R~Rz~n5)yb@okeklR2woYziWL$Cr&t-m>kO~5GBVVImdDh5wdg4dXTgzD$zWCYu*%vldnV9g1MGk;Eq zL1~;2hm>$u;jd8NmyfCAc8w`f)+b zOXY&-&*OqbO<6sZ(a8m|U=A0=!qr@mpxg%4Z~{tS;DT6mg9{Q8PoWn4=3)eocnEPb zf)}4Ba6=qe&kga=EN+Ot)lmKpZb*pKpX7!F;ZrF6iyM*#_<0~2M0p^5B_2qSYVa^J z>|$VGu;77Y$Im>B;E|I6UPu&f=7l(XKQAP%FY-dt%6(plJH>ae$5h#9$)mT;bN%x zDglVOn*|^q*(U&T$Y}wH&o6<^t7l+%2WEf<{20NVQ6WJ_20PH2Zb3*KwFokTmrPF= zgk+nOf?$_3oD+lu@iRe)fs8_sY$+=QNmEurjNly-enO1k;rbjQh(neMK|*4)5F-Nz zDF2@jg1Gde5F|U@5rSCoObC+7{|P}7k+?7;Xtgzio-ict=L$pe^=4s6)La&ZnDbZ| zV$nNcNXY#bhB$~(1maLp5r}$25k`i3&>jv)5lGO)i!g%sdZdX!ES@d`v1o$`BX|qN zF)07J2qSnW#9t9eDpwJOSQsS=sm#(v8NvGlrien+9TH^(Z{2t)3JoDKhzG6280*1h ze~=g>c#(Ln7$gejia{!k3u2I<`y>X5a~*L=Tw91k92g`H3Ce77M)2zQ262cvE5sol zxgicIus9_kKGv6jBuaY;NQnAM)I+jeiUh<5#ZUze5)cdfpyIP6AVIraf)TW2lwp$u zB*cs)AyH;22}z93l8g*>3=9lDl8oTpFsGs7d{Pkg;!=<(kduNq$f{lnlE}QIAU=wf zf>=~0#Ry)C-6+Kf9z5D31#vlxG{hhwX^6#=(h&8^P+CtK64#c}5c7PcA&D>zD&8Uu z@$d|3h`sg8r6DEKE@?>iJ0uMW;^)$kh6tk!BX}Q=t_;ND7#WEAWEn^hX3IbfYLbDZ zg{d--G;>-8Qt&*KfrRWQsJ{O)5C^l%g0piygODu502Nt?0p_w0i*liKi7X^&t7RdH zrbQOw^Et8*gO)+nZIp#X*$!EV1CGc-(!?!UNQuZK2eC&{4x-;g4y3=Hfx!;UU|{f+ zgJhQwIfw(IpyG*8ItMCWE(fuwRt^%xopOxeT`h~C`kq5AcqhjQUgiD+s^35!>|+LN zc}U3k$}>Xx|8epV7v;!9;-*X<5@fCNko-LfD!xe`QUD!<@{h?w9C{UG5Ca3l9eGI9 zyn_470ZNH)5x07{t3nEbOjSnk9|2WpU#vHrUn#3EUBNZjeDL->yBkRS|DhxjN<9ipL59g-%Ns6#^Jsyf62x78sI zeXS00=wEe+M?^Is4pr2ElrLHu5OIG9UC$7$0ZClx8jwn(Sp!nwY}A1G;DH9jA+Mq8 zST&&rYC;^Qr3vx5ohHO*-kOjSGf5NDG+U(!Nz~^wA(a!C79?uT!E`+XgR2%KaRfu@ z6fH;`muf-k_iimn?YB$|;-KSN5FcF9f>?YH%73i|3AyiDkhH<34G9@uZD`zULp*4v z4T+)@ZD{?UqYZIDsWv1C+q5AD%+Q9!-F$6`#VfTTLB0hlzDpZYy&lnqgy3taMeI5d zeF{2|YFA4KVs4xc#Nh=xkdUj;_y zW{@B>H-{*2GKU!CXATjMfbx^gA&Dy&s;Vl%BE`c_&&ium0S@p^{aR*-!98mfTb8d8}kT0<-j zw}zC}sn(DXm}(6PnI+Z`pRBirY#=@rvw_Gf*g(XMZ9w*d z@;_8TrVYep#Ws*2n`{F~jB9Nm7N53(& zg@lloEhOJ3+d@J*+m?|*1=Rj;w}tp<4OGE)D1W~#BypXB@-Ny#Qt=&Ih=YFHGJ+P& zFmTy1GR$INVAyE~3F;7gh>uh3Ar8&6ha|dsdx*nY>>*J*(Vmf^9<<10zdgj~(hiK^ zl?v7lj0`yp3=EqbAlXFT5z>-La)e~RS&obhn?YML9T~wpqZc|cGNdywFnn`@_%zNL z5@qGikaom!XGZX9`X|m1i;Z0%*)!3Fu^!xRZ*pN|m=4;J>;ma(Ik_@|w^o(7LK5Rz zSBTFJxkBRlk}D&4Gx>j4NUt~E4U&l0xB>;?(Zk8Thj|AEq+?vN-EbBCCto>JNOn8r4biXb1Bqi3A4rH<`ap7lpAV#E748EW%IWffgupu=NEFro@__`QmMIabz@nZz9WLV?}arrYpM)3CgcYcr%v-f8NZ_)OF(sQ8n8-GZY z+5|vK(!2mjnmGcY>lq{iA^rBeKuGpk8VCu}9f6Sie=87@SY8A|f|N4|lDheWAP$j) z(uzTlxYrDVL_v5EB;>XQF@k5wo(Dm4O;0eSlA9e2lCNiA_!i6v-qo%i0tv#-5Re1| zLthA_$+SNN;zR3DNOkHF$_So}t_fuXuY`CQ3UO#j7$iuW!WhBZ>omFf>BNze3IX!NkCz$;`lz0m^)8%nS_7 zEDQ_}p+0`W0GWdS&cwj5pMinlB2*K|XP-d_OMqrPK|5xc85mAO4F<`zF)}dBW@2EN z%*?>R$IQU+f{}q?D>DPbd}aoQ$BYaNmCOtbCCm&A?2HTyvCIq%3e2Fj1)%a5q#KHt zGcYi$1)WlXWH28S149|q5#CG;4Ax8x3|Uaeeqd%`cn?*Z16rEFz`&r*#K52o6$2Ry zT8K0QO1f1_o8APtutf81fhy80?rJ>ou-3F)%D-W?*;&H3Ve;VkQQL zPs|JqWz3Mpa#hzJt{gANk|Ln1Q+gAOQ885tNC#6 zp&ppS%)nsJ$iR>UHOG&Mf#Dnz14AJ*149)P1A`f|R99kbPb3ObiUqm?4u=DbSF33#CElJ%G&N zVrBq0yQLW!7z~&g7}mn#KMs`07#SE^7#J8bm>9svCV(^ug5r~bfgzref#Dnj1H)dB zAQV3U9lOEAz|aQegO=ZZW@2F2#l*nyhmnEd5EBD~0g_{PGBGeL1|7`-TE5H3z;GFq z`kBFlX%G|sGB7YyF+%43Kq7}hYq=O17`z!782&IbF#H1@GQ$K}3j&fiW@2DyWnuug z8&a7V7+x?lFnoks2wE!yQUk&kObiS+L0OoQ0X%wo0Yoz~FkE6}U|0_-f6bT~7;>RO z^&4scNFxXbF*7i%WoBSlz{tRG5h`~Us`d{PWZefy9WpM5rUj7LVW=JuJB*oup_++- z;Vv^|ju0d!0LuSY86gYA44D}id>9!R)-f?KxIiu0z{J2%4mtq^q?&<&L4%Qj;S0zD z5Qd7us7k1w8b$^NBPPhi*M7IW1iZU}Wa4<12)YpTGNYIfepd)w~ z8Nj2L!psZ|-^!*ON?h9yu36hIxfiHU*1n3;hghlzn<9#oEzk%3_^69a=EBLjmmBLl-^ zMg|66mU_sth+<~Qx-HPDHV;9TFf%ZGWn^GD5A}Hl)DV!Rpi_({FfuTRGeKs>L1O95 z3=9vL85kOo)G*WW?;~TY6i{s zf{xh%DL4o3=B7z7#Kr3E?-gPDPWg_(hYmzjZ~iJ5^Rosofog^7XT9Ww)i8C2~7 zPz}q(!0?iZ0o2~CXE+0ukOI}`ObiUQj0_B7pnT5Az|g_S0Pa4gK^=FM8FCH~XbcbJ z>j$8sn2CX*n~8y8CP)CZ^bSgQg657G7#JoqK$iGHg&DR$?NbHS3rzJ443bYP1|cQ}1}kO;24AQcNR1pch(YXfMh1pT z1_lOwCI*I5X2|-Gk4y{XF!D+GXujfP~8EF{~%CHhmir)cVPGp@(suY2FQK@ z(Ddw7CI*JTj0_B%%nS^+%nS@xj0_B~pdkV};i>`2;!H-!k_)I2aLR|7fx(5Df#Dsf z0fVHz{w-8VDX7Y2WME)tW?*OqrDO&MhIxz(46B$K7?cvOd!wyEsO7}@j3=B^|l@h3(&%nU20(3?k)Plv#3=D6fY;Gn721{lJ@IVA;t?wjI zbDSBnn#P2Yf#EbL7cet0{0G?wYML=HfO^WH_7BLN5PX4&f#EeX1A`nW+kkpQ&=AmL zW?;C>#K7<#XVhO^8J3@bqnWMp8t0XhKL8TcEf*JJ;47b4y28K>1$azl-pgxj-(jaLakVVW43^kzB(m(>B!3rkG{;p;u zb;qD=W+n#kc!DUXH3by|X?xGWz>v(uz#sxD13;dG`F}2`VaUwDAP5pjvYT{>R zV9)}k1qKF&bIc438$qUkrr#MD80?uC81^zUFnosk4kTsA%)n5=%)pS($iScp>Sloi zK}#)|7#PwR85ov=(>F#220l=4mzja#0}}(oS7ru=L`DXN1gJwn zCuUq`gq&nIpNWBCBS;+Dv;r09b3rX>X2{0%7^s;b3qe?oi2*!n3fe)jjhTTV0;GX~ zk%2*!k%3_`sHwyV*@PqwYV|NPFl=RDV0Z$ufPsPGI4BOG><^3#3|*iKh>?Ne325&S z)S|nL3=F5385qQv85nw?Y9}%?FhqlW3t4;ya>!25@qM89|HQz+U;^r$Kn-AGW?*20 zDh4TpVO!8V0o1@Jp#DE2WG^60-Ug~4w2FQ!R2@i8jS;d5VJ|4fGcqt_GchpqGedUC z>;uKWIMlLL3=9lipm=6xU^oU90~r81`*AX8goJ^C!J3(Yfe9*i3DlipU|=}K#K7sR!--5&<>CKnD;qF))OHdcRP8 zMWFZxoni@62*Z(}iUd^4ff|cU3=DRlHXSnq!%|TDAF8njs<<801q1bxL1_Rg2BMxb zFfe>)WMFs+I&^>uvToEB>d0`YYp!0}BJg21W*khfE9% zPEZR$@=KuXEGQko%)sy$%3cViLFzs+GBDVJECWR)C>lUht{@C*3xFI13OyDEhEt&W zAEW_kS%+VrF2thvWc| zc_7>c>S!`EFr0^2T7{YiIu%tP$_B}Ua0oL4!ynKwjtr0u zD3+l3p8?9-AXy{~I-hd~XiOi}NQ8=S0S(76K{g}VGBGf$U}9i6#lXO@fPsO573vrx zMh1rcpnT21z~I3Q*~pX&s;Hn2dCkPY5C}DI7D!zksBnM^#6W{)Ig|zoM>9iCLo@+3 zAV308EY1vB9bEvm7_>{q8Pxb-fSm8@0X5?aBLf3B3j@P)Cdknn*^CU}iD-~9Z~kCB1lBWSM<6J-7OFQ|oAm>C#OK-q^tEn85r z&BDOo#mvC)g_(h2HUk60XJ!TlWl;KHU|{&j$iVQLk%7Silq;a-2Y}jty-W-Y%a|d@ zv)bzRON7_|CK0@_R)*0B+%QnE(I) diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 303495c60..691eb7ccb 100644 --- a/locale/sv_SE/LC_MESSAGES/django.po +++ b/locale/sv_SE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:15\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Följare" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citationer" msgid "Everything else" msgstr "Allt annat" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Tidslinje för Hem" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Hem" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Tidslinjer för böcker" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Böcker" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "Engelska" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Tyska (Tysk)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Spanska (Spansk)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italienska (Italiensk)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Franska (Fransk)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Litauiska (Litauisk)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norska (Norska)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português d Brasil (Brasiliansk Portugisiska)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisiska)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Svenska)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Förenklad Kinesiska)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Traditionell Kinesiska)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Spara" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Avbryt" @@ -770,9 +770,9 @@ msgstr "Avbryt" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Att ladda in data kommer att ansluta till %(source_name)s och kontrollera eventuella metadata om den här författaren som inte finns här. Befintliga metadata kommer inte att skrivas över." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Lägg till i listan" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Åtgärder" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Rapportera skräppost" @@ -1216,7 +1216,7 @@ msgstr "Lämnar BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "Den här länken tar dig till: %(link_url)s.
    Är det dit du vill åka?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Fortsätt" @@ -1292,7 +1292,7 @@ msgstr "Bekräftelsekod:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Skicka in" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Ingen användare \"%(query)s\" hittades" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Skapa grupp" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Ta bort den här gruppen?" msgid "This action cannot be un-done" msgstr "Den här åtgärden kan inte ångras" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Lägg till \"%(title)s\" i den här listan" msgid "Suggest \"%(title)s\" for this list" msgstr "Föreslå \"%(title)s\" för den här listan" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Föreslå" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Listans plats" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Ställ in" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "Behöver du hjälp?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Skapa hylla" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Användarprofil" msgid "All books" msgstr "Alla böcker" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Skapa hylla" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Svara" msgid "Content" msgstr "Innehåll" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Innehållsvarning:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Varning för spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Inkludera spoilervarning" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Varning för spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Inlägg" @@ -4851,10 +4849,6 @@ msgstr "Dina grupper" msgid "Groups: %(username)s" msgstr "Grupper: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Skapa grupp" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Användarprofil" diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 4acf1dce3..b4b67c957 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-14 00:10\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "关注者" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "引用" msgid "Everything else" msgstr "所有其它内容" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "主页" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "书目时间线" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "书目" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English(英语)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch(德语)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español(西班牙语)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego(加利西亚语)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano(意大利语)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français(法语)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių(立陶宛语)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk(挪威语)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil(巴西葡萄牙语)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu(欧洲葡萄牙语)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska(瑞典语)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文(繁体中文)" @@ -476,7 +476,7 @@ msgstr "共享状态:公开(需要密钥)" #: bookwyrm/templates/annual_summary/layout.html:78 msgid "The page can be seen by anyone with the complete address." -msgstr "有完整地址的任何人都可以看到该页面。" +msgstr "任何有完整地址的人都可以看到该页面。" #: bookwyrm/templates/annual_summary/layout.html:83 msgid "Make page private" @@ -723,14 +723,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -744,20 +744,20 @@ msgstr "保存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "取消" @@ -766,9 +766,9 @@ msgstr "取消" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "加载数据会连接到 %(source_name)s 并检查这里还没有记录的与作者相关的元数据。现存的元数据不会被覆盖。" -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -868,8 +868,8 @@ msgid "Add to list" msgstr "添加到列表" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1177,7 +1177,7 @@ msgid "Actions" msgstr "动作" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "举报垃圾信息" @@ -1211,7 +1211,7 @@ msgstr "离开 BookWyrm" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "此链接将跳转至:%(link_url)s
    这是您想跳转的网址吗?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "继续" @@ -1287,7 +1287,7 @@ msgstr "确认代码:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "提交" @@ -1799,7 +1799,8 @@ msgid "No users found for \"%(query)s\"" msgstr "没有找到 \"%(query)s\" 的用户" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "创建群组" #: bookwyrm/templates/groups/created_text.html:4 @@ -1817,9 +1818,9 @@ msgstr "删除该群组?" msgid "This action cannot be un-done" msgstr "此操作无法被撤销" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2287,7 +2288,7 @@ msgstr "将 “%(title)s” 添加到这个列表" msgid "Suggest \"%(title)s\" for this list" msgstr "推荐 “%(title)s” 到这个列表" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "推荐" @@ -2457,7 +2458,7 @@ msgid "List position" msgstr "列表位置:" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "设定" @@ -3908,8 +3909,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "从命令行将主题文件复制到您服务器上的 bookwym/static/css/themes 目录。" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "运行 ./bw-dev compilescsss。" +msgid "Run ./bw-dev collectstatic." +msgstr "" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4185,7 +4186,8 @@ msgid "Need help?" msgstr "需要帮助?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "创建书架" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4201,10 +4203,6 @@ msgstr "用户个人资料" msgid "All books" msgstr "所有书目" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "创建书架" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4326,24 +4324,24 @@ msgstr "回复" msgid "Content" msgstr "内容" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "内容警告:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "前有剧透!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "加入剧透警告" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "剧透/内容警告:" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "前有剧透!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "评论:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "发布" @@ -4829,10 +4827,6 @@ msgstr "您的群组" msgid "Groups: %(username)s" msgstr "群组: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "创建群组" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "用户个人资料" diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index a410c4fed..7e25b4b92 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "關注者" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "主頁時間線" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "主頁" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "書目" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English(英語)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch(德語)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español(西班牙語)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français(法語)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "簡體中文" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文" @@ -723,14 +723,14 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -744,20 +744,20 @@ msgstr "儲存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "取消" @@ -766,9 +766,9 @@ msgstr "取消" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "" -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -868,8 +868,8 @@ msgid "Add to list" msgstr "新增到列表" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1175,7 +1175,7 @@ msgid "Actions" msgstr "動作" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "" @@ -1209,7 +1209,7 @@ msgstr "" msgid "This link is taking you to: %(link_url)s.
    Is that where you'd like to go?" msgstr "" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1285,7 +1285,7 @@ msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "提交" @@ -1797,7 +1797,8 @@ msgid "No users found for \"%(query)s\"" msgstr "沒有找到 \"%(query)s\" 的使用者" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "" #: bookwyrm/templates/groups/created_text.html:4 @@ -1815,9 +1816,9 @@ msgstr "" msgid "This action cannot be un-done" msgstr "" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2285,7 +2286,7 @@ msgstr "" msgid "Suggest \"%(title)s\" for this list" msgstr "" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "推薦" @@ -2455,7 +2456,7 @@ msgid "List position" msgstr "列表位置:" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "設定" @@ -3906,7 +3907,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4183,7 +4184,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "建立書架" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4199,10 +4201,6 @@ msgstr "" msgid "All books" msgstr "所有書目" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "建立書架" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4324,24 +4322,24 @@ msgstr "回覆" msgid "Content" msgstr "內容" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "前有劇透!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "加入劇透警告" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "前有劇透!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "評論:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "釋出" @@ -4827,10 +4825,6 @@ msgstr "" msgid "Groups: %(username)s" msgstr "" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "使用者使用者資料" From a2f2104a08743610d85df3f0c30055ddc8a62813 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 10:42:53 -0700 Subject: [PATCH 51/59] Create non-functional UI for editing array fields --- .../templates/book/edit/edit_book_form.html | 70 ++++++++++++------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html index 38a7fe35d..d886d12f7 100644 --- a/bookwyrm/templates/book/edit/edit_book_form.html +++ b/bookwyrm/templates/book/edit/edit_book_form.html @@ -22,7 +22,7 @@ {% trans "Title:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.title.errors id="desc_title" %} @@ -31,7 +31,7 @@ {% trans "Subtitle:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.subtitle.errors id="desc_subtitle" %} @@ -40,7 +40,7 @@ {% trans "Description:" %} {{ form.description }} - + {% include 'snippets/form_errors.html' with errors_list=form.description.errors id="desc_description" %} @@ -51,7 +51,7 @@ {% trans "Series:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.series.errors id="desc_series" %} @@ -61,7 +61,7 @@ {% trans "Series number:" %} {{ form.series_number }} - + {% include 'snippets/form_errors.html' with errors_list=form.series_number.errors id="desc_series_number" %} @@ -75,21 +75,41 @@ {% trans "Separate multiple values with commas." %} - + {% include 'snippets/form_errors.html' with errors_list=form.languages.errors id="desc_languages" %} -
    -
    @@ -106,7 +126,7 @@ {% trans "Separate multiple values with commas." %} - + {% include 'snippets/form_errors.html' with errors_list=form.publishers.errors id="desc_publishers" %} @@ -115,7 +135,7 @@ {% trans "First published date:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.first_published_date.errors id="desc_first_published_date" %} @@ -124,7 +144,7 @@ {% trans "Published date:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.published_date.errors id="desc_published_date" %} @@ -193,7 +213,7 @@ - + {% include 'snippets/form_errors.html' with errors_list=form.cover.errors id="desc_cover" %} @@ -214,7 +234,7 @@
    {{ form.physical_format }}
    - + {% include 'snippets/form_errors.html' with errors_list=form.physical_format.errors id="desc_physical_format" %} @@ -224,7 +244,7 @@ {% trans "Format details:" %} {{ form.physical_format_detail }} - + {% include 'snippets/form_errors.html' with errors_list=form.physical_format_detail.errors id="desc_physical_format_detail" %} @@ -235,7 +255,7 @@ {% trans "Pages:" %} {{ form.pages }} - + {% include 'snippets/form_errors.html' with errors_list=form.pages.errors id="desc_pages" %} @@ -251,7 +271,7 @@ {% trans "ISBN 13:" %} {{ form.isbn_13 }} - + {% include 'snippets/form_errors.html' with errors_list=form.isbn_13.errors id="desc_isbn_13" %} @@ -260,7 +280,7 @@ {% trans "ISBN 10:" %} {{ form.isbn_10 }} - + {% include 'snippets/form_errors.html' with errors_list=form.isbn_10.errors id="desc_isbn_10" %} @@ -269,7 +289,7 @@ {% trans "Openlibrary ID:" %} {{ form.openlibrary_key }} - + {% include 'snippets/form_errors.html' with errors_list=form.openlibrary_key.errors id="desc_openlibrary_key" %} @@ -278,7 +298,7 @@ {% trans "Inventaire ID:" %} {{ form.inventaire_id }} - + {% include 'snippets/form_errors.html' with errors_list=form.inventaire_id.errors id="desc_inventaire_id" %} @@ -287,7 +307,7 @@ {% trans "OCLC Number:" %} {{ form.oclc_number }} - + {% include 'snippets/form_errors.html' with errors_list=form.oclc_number.errors id="desc_oclc_number" %} @@ -296,7 +316,7 @@ {% trans "ASIN:" %} {{ form.asin }} - + {% include 'snippets/form_errors.html' with errors_list=form.ASIN.errors id="desc_ASIN" %} From 35e6dede098b46c1d0b851281657b5e03c82061d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 11:34:14 -0700 Subject: [PATCH 52/59] Script to remove input fields --- bookwyrm/static/js/forms.js | 17 +++++++++++++++++ .../templates/book/edit/edit_book_form.html | 8 ++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/bookwyrm/static/js/forms.js b/bookwyrm/static/js/forms.js index 7d946d147..998873898 100644 --- a/bookwyrm/static/js/forms.js +++ b/bookwyrm/static/js/forms.js @@ -1,6 +1,19 @@ (function () { "use strict"; + /** + * Remoev input field + * + * @param {event} the button click event + */ + function removeInput(event) { + const trigger = event.currentTarget; + const input_id = trigger.dataset.remove; + const input = document.getElementById(input_id); + + input.remove(); + } + /** * Duplicate an input field * @@ -29,4 +42,8 @@ document .querySelectorAll("[data-duplicate]") .forEach((node) => node.addEventListener("click", duplicateInput)); + + document + .querySelectorAll("[data-remove]") + .forEach((node) => node.addEventListener("click", removeInput)); })(); diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html index d886d12f7..fc15d26ae 100644 --- a/bookwyrm/templates/book/edit/edit_book_form.html +++ b/bookwyrm/templates/book/edit/edit_book_form.html @@ -87,12 +87,16 @@ -
    +
    -
    {% endfor %} - + {% include 'snippets/form_errors.html' with errors_list=form.subjects.errors id="desc_subjects" %}
    @@ -186,7 +201,12 @@ {% endfor %} - + + + From a37f83c458594219efc9722c1fe182ddf6520a77 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 14:55:41 -0700 Subject: [PATCH 54/59] Get the field working --- bookwyrm/forms/books.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bookwyrm/forms/books.py b/bookwyrm/forms/books.py index 91d9b8f00..72df1371c 100644 --- a/bookwyrm/forms/books.py +++ b/bookwyrm/forms/books.py @@ -14,6 +14,14 @@ class CoverForm(CustomForm): help_texts = {f: None for f in fields} +class ArrayWidget(forms.widgets.TextInput): + # pylint: disable=unused-argument + # pylint: disable=no-self-use + def value_from_datadict(self, data, files, name): + """get all values for this name""" + return [i for i in data.getlist(name) if i] + + class EditionForm(CustomForm): class Meta: model = models.Edition @@ -41,12 +49,10 @@ class EditionForm(CustomForm): "series_number": forms.TextInput( attrs={"aria-describedby": "desc_series_number"} ), + "subjects": ArrayWidget(), "languages": forms.TextInput( attrs={"aria-describedby": "desc_languages_help desc_languages"} ), - "subjects": forms.TextInput( - attrs={"aria-describedby": "desc_subjects"} - ), "publishers": forms.TextInput( attrs={"aria-describedby": "desc_publishers_help desc_publishers"} ), From 820279166af24dd8051f4829822fe44528c88b3f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 12:39:49 -0700 Subject: [PATCH 55/59] Adds update script --- .../management/commands/instance_version.py | 54 +++++++++++++++++++ .../migrations/0145_sitesettings_version.py | 18 +++++++ bookwyrm/models/site.py | 1 + 3 files changed, 73 insertions(+) create mode 100644 bookwyrm/management/commands/instance_version.py create mode 100644 bookwyrm/migrations/0145_sitesettings_version.py diff --git a/bookwyrm/management/commands/instance_version.py b/bookwyrm/management/commands/instance_version.py new file mode 100644 index 000000000..ca150d640 --- /dev/null +++ b/bookwyrm/management/commands/instance_version.py @@ -0,0 +1,54 @@ +""" Get your admin code to allow install """ +from django.core.management.base import BaseCommand + +from bookwyrm import models +from bookwyrm.settings import VERSION + + +# pylint: disable=no-self-use +class Command(BaseCommand): + """command-line options""" + + help = "What version is this?" + + def add_arguments(self, parser): + """specify which function to run""" + parser.add_argument( + "--current", + action="store_true", + help="Version stored in database", + ) + parser.add_argument( + "--target", + action="store_true", + help="Version stored in settings", + ) + parser.add_argument( + "--update", + action="store_true", + help="Update database version", + ) + + # pylint: disable=unused-argument + def handle(self, *args, **options): + """execute init""" + site = models.SiteSettings.objects.get() + current = site.version or "0.0.1" + target = VERSION + if options.get("current"): + print(current) + return + + if options.get("target"): + print(target) + return + + if options.get("update"): + site.version = target + site.save() + return + + if current != target: + print(f"{current}/{target}") + else: + print(current) diff --git a/bookwyrm/migrations/0145_sitesettings_version.py b/bookwyrm/migrations/0145_sitesettings_version.py new file mode 100644 index 000000000..649f90abe --- /dev/null +++ b/bookwyrm/migrations/0145_sitesettings_version.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2022-03-16 18:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0144_alter_announcement_display_type"), + ] + + operations = [ + migrations.AddField( + model_name="sitesettings", + name="version", + field=models.CharField(blank=True, max_length=10, null=True), + ), + ] diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index c6c53f765..cbad6c4b7 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -27,6 +27,7 @@ class SiteSettings(models.Model): default_theme = models.ForeignKey( "Theme", null=True, blank=True, on_delete=models.SET_NULL ) + version = models.CharField(null=True, blank=True, max_length=10) # admin setup options install_mode = models.BooleanField(default=False) From 78b03efe451db87c6ad4ff2a7b4210608e6d3212 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 12:53:05 -0700 Subject: [PATCH 56/59] Updates bw-dev command and ticks version number --- bookwyrm/settings.py | 2 +- bw-dev | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index ec30bd678..f8d4c397f 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -11,7 +11,7 @@ from django.utils.translation import gettext_lazy as _ env = Env() env.read_env() DOMAIN = env("DOMAIN") -VERSION = "0.3.3" +VERSION = "0.3.4" RELEASE_API = env( "RELEASE_API", diff --git a/bw-dev b/bw-dev index 9751219a7..b610758fe 100755 --- a/bw-dev +++ b/bw-dev @@ -163,6 +163,7 @@ case "$CMD" in update) git pull docker-compose build + ./update.sh runweb python manage.py migrate runweb python manage.py collectstatic --no-input docker-compose up -d From ee973c7d7266f9b31103fe132e2474f00766d719 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 12:53:27 -0700 Subject: [PATCH 57/59] Adds celerybeat update script --- updates/0.3.4.sh | 1 + 1 file changed, 1 insertion(+) create mode 100755 updates/0.3.4.sh diff --git a/updates/0.3.4.sh b/updates/0.3.4.sh new file mode 100755 index 000000000..fe7f94dd6 --- /dev/null +++ b/updates/0.3.4.sh @@ -0,0 +1 @@ +./bw-dev migrate django_celery_beat From ea69f9087fe4501159e11f0801fca964a2abd55f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 13:32:37 -0700 Subject: [PATCH 58/59] Adds missing update script --- update.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 update.sh diff --git a/update.sh b/update.sh new file mode 100755 index 000000000..a394eed81 --- /dev/null +++ b/update.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -e + +# determine inital and target versions +initial_version="`./bw-dev runweb python manage.py instance_version --current`" +target_version="`./bw-dev runweb python manage.py instance_version --target`" + +initial_version="`echo $initial_version | tail -n 1 | xargs`" +target_version="`echo $target_version | tail -n 1 | xargs`" +if [[ "$initial_version" = "$target_version" ]]; then + echo "Already up to date; version $initial_version" + exit +fi + +echo "---------------------------------------" +echo "Updating from version: $initial_version" +echo ".......... to version: $target_version" +echo "---------------------------------------" + +function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } + +# execute scripts between initial and target +for version in `ls -A updates/ | sort -V `; do + if version_gt $initial_version $version; then + # too early + continue + fi + if version_gt $version $target_version; then + # too late + continue + fi + echo "Running tasks for version $version" + ./updates/$version +done + +./bw-dev runweb python manage.py instance_version --update +echo "✨ ----------- Done! --------------- ✨" From da100cd114befd97082443d7a87314bc468b0ca9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 16:13:15 -0700 Subject: [PATCH 59/59] Adds context and fixes whitespace in translation strings Also updates locales --- .../templates/book/file_links/edit_links.html | 2 +- .../templates/snippets/goal_progress.html | 2 +- locale/de_DE/LC_MESSAGES/django.po | 349 +++++++++-------- locale/en_US/LC_MESSAGES/django.po | 203 ++++++---- locale/es_ES/LC_MESSAGES/django.mo | Bin 83594 -> 83546 bytes locale/es_ES/LC_MESSAGES/django.po | 349 +++++++++-------- locale/fr_FR/LC_MESSAGES/django.po | 351 +++++++++-------- locale/gl_ES/LC_MESSAGES/django.mo | Bin 89154 -> 90099 bytes locale/gl_ES/LC_MESSAGES/django.po | 355 +++++++++-------- locale/it_IT/LC_MESSAGES/django.mo | Bin 90522 -> 91439 bytes locale/it_IT/LC_MESSAGES/django.po | 359 ++++++++++-------- locale/lt_LT/LC_MESSAGES/django.mo | Bin 84689 -> 84629 bytes locale/lt_LT/LC_MESSAGES/django.po | 349 +++++++++-------- locale/no_NO/LC_MESSAGES/django.mo | Bin 79689 -> 79637 bytes locale/no_NO/LC_MESSAGES/django.po | 349 +++++++++-------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 89997 -> 90728 bytes locale/pt_BR/LC_MESSAGES/django.po | 353 +++++++++-------- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72742 -> 72690 bytes locale/pt_PT/LC_MESSAGES/django.po | 349 +++++++++-------- locale/sv_SE/LC_MESSAGES/django.mo | Bin 87729 -> 87673 bytes locale/sv_SE/LC_MESSAGES/django.po | 349 +++++++++-------- locale/zh_Hans/LC_MESSAGES/django.po | 349 +++++++++-------- locale/zh_Hant/LC_MESSAGES/django.po | 349 +++++++++-------- 23 files changed, 2513 insertions(+), 1904 deletions(-) diff --git a/bookwyrm/templates/book/file_links/edit_links.html b/bookwyrm/templates/book/file_links/edit_links.html index 9048ce7a2..a088a40d5 100644 --- a/bookwyrm/templates/book/file_links/edit_links.html +++ b/bookwyrm/templates/book/file_links/edit_links.html @@ -8,7 +8,7 @@

    - {% blocktrans with title=book|book_title %} + {% blocktrans trimmed with title=book|book_title %} Links for "{{ title }}" {% endblocktrans %}

    diff --git a/bookwyrm/templates/snippets/goal_progress.html b/bookwyrm/templates/snippets/goal_progress.html index d0229b689..bc8fd53b7 100644 --- a/bookwyrm/templates/snippets/goal_progress.html +++ b/bookwyrm/templates/snippets/goal_progress.html @@ -4,7 +4,7 @@ {% with goal.progress as progress %}

    {% if progress.percent >= 100 %} - {% trans "Success!" %} + {% trans "Success!" context "Goal successfully completed" %} {% elif progress.percent %} {% blocktrans with percent=progress.percent %}{{ percent }}% complete!{% endblocktrans %} {% endif %} diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 31e44a7b9..6b8502b58 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:52\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Ein Benutzer mit diesem Benutzernamen existiert bereits" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Diese Domain ist blockiert. Bitte kontaktiere einen Administrator, wenn du denkst, dass dies ein Fehler ist." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Ein Tag" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Eine Woche" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Ein Monat" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Läuft nicht ab" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i}-mal verwendbar" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Unbegrenzt" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Enddatum darf nicht vor dem Startdatum liegen." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Ein Benutzer mit diesem Benutzernamen existiert bereits" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Diese Domain ist blockiert. Bitte kontaktiere einen Administrator, wenn du denkst, dass dies ein Fehler ist." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Reihenfolge der Liste" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Buchtitel" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Bewertung" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Sortieren nach" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Aufsteigend" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Absteigend" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Enddatum darf nicht vor dem Startdatum liegen." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Fehler beim Laden des Buches" @@ -187,7 +187,7 @@ msgstr "%(value)s ist keine gültige remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s ist kein gültiger Benutzer*inname" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "Benutzer*inname" @@ -245,7 +245,7 @@ msgstr "Zum Liehen erhältlich" msgid "Approved" msgstr "Bestätigt" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Besprechungen" @@ -399,7 +399,7 @@ msgstr "Die Moderator*innen und Administrator*innen von %(site_name)s halten die msgid "Moderator" msgstr "Moderator*in" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administration" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Softwareversion:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Über %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Das am schnellsten gelesene Buch dieses Jahr …" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "ISNI-Datensatz anzeigen" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Lade Daten" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Auf OpenLibrary ansehen" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Auf Inventaire anzeigen" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Zuletzt bearbeitet von:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadaten" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Name:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Mehrere Werte durch Kommas getrennt eingeben." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary-Schlüssel:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire-ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Speichern" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Speichern" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s%(count)s editions" msgstr "%(count)s Ausgaben" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Du hast diese Ausgabe im folgenden Regal:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Eine andere Ausgabe dieses Buches befindet sich in deinem %(shelf_name)s Regal." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Deine Leseaktivität" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Lesedaten hinzufügen" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Du hast keine Leseaktivität für dieses Buch." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Deine Besprechungen" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Deine Kommentare" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Deine Zitate" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Themen" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Orte" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Orte" msgid "Lists" msgstr "Listen" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Zur Liste hinzufügen" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC-Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Titelbild hinzufügen" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Titelbild hochladen:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Titelbild von URL laden:" @@ -975,110 +981,114 @@ msgstr "Dies ist ein neues Werk." msgid "Back" msgstr "Zurück" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Untertitel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Nummer in der Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Sprachen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Veröffentlichung" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Verlag:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Erstveröffentlichungsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Veröffentlichungsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autor*innen" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "%(name)s entfernen" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Autor*inseite für %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Autor*innen hinzufügen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Autor*in hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Lisa Musterfrau" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Weitere*n Autor*in hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Titelbild" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Physikalische Eigenschaften" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Formatdetails:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Buch-Identifikatoren" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "OpenLibrary-ID:" @@ -1168,7 +1178,7 @@ msgstr "Domain" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Status" @@ -1177,7 +1187,7 @@ msgstr "Status" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Aktionen" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Gemeinschaft" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Lokale Benutzer*innen" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Föderierte Gemeinschaft" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Verzeichnis" @@ -1450,7 +1462,7 @@ msgstr "%(username)s hat %(username)s" msgstr "Direktnachrichten mit %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Direktnachrichten" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Updates" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Deine Bücher" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Anmeldung" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Anmelden" @@ -2185,7 +2197,7 @@ msgstr "Anmelden" msgid "Success! Email address confirmed." msgstr "Alles klar! E-Mail-Adresse bestätigt." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Benutzer*inname:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passwort:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Passwort vergessen?" @@ -2230,19 +2242,23 @@ msgstr "%(site_name)s-Suche" msgid "Search for a book, user, or list" msgstr "Nach einem Buch, einem*r Benutzer*in oder einer Liste suchen" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Navigations-Hauptmenü" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Einstellungen" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Einstellungen" msgid "Invites" msgstr "Einladungen" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Abmelden" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Benachrichtigungen" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "Passwort" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Beitreten" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Status veröffentlicht" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Fehler beim veröffentlichen des Status" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Handbuch" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "%(site_name)s auf %(support_title)s unterstützen" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." @@ -3013,6 +3029,43 @@ msgstr "Lesedaten für „%(title)s“ hinzufügen" msgid "Report" msgstr "Melden" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Ergebnisse von" @@ -3046,8 +3099,9 @@ msgstr "Suchart" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Benutzer*innen" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Datum der Bestätigung" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-Mail" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "Bist du sicher, dass du das Benutzer*inkonto „%(username)s%(instance_name)s" msgstr "Benutzer*innen: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Benutzer*inname" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Hinzugefügt am" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Zuletzt aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Entfernte Instanz" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Nicht festgelegt" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index c5d3ad3fa..b344e4aaf 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"POT-Creation-Date: 2022-03-16 23:12+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,28 +18,28 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: bookwyrm/forms/admin.py:40 +#: bookwyrm/forms/admin.py:41 msgid "One Day" msgstr "" -#: bookwyrm/forms/admin.py:41 +#: bookwyrm/forms/admin.py:42 msgid "One Week" msgstr "" -#: bookwyrm/forms/admin.py:42 +#: bookwyrm/forms/admin.py:43 msgid "One Month" msgstr "" -#: bookwyrm/forms/admin.py:43 +#: bookwyrm/forms/admin.py:44 msgid "Does Not Expire" msgstr "" -#: bookwyrm/forms/admin.py:47 +#: bookwyrm/forms/admin.py:48 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms/admin.py:48 +#: bookwyrm/forms/admin.py:49 msgid "Unlimited" msgstr "" @@ -262,73 +262,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Home" msgstr "" -#: bookwyrm/settings.py:209 +#: bookwyrm/settings.py:210 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:210 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "English" msgstr "" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Deutsch (German)" msgstr "" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Español (Spanish)" msgstr "" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Français (French)" msgstr "" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "简体中文 (Simplified Chinese)" msgstr "" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:294 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -680,8 +680,7 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:44 #: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:88 -#: bookwyrm/templates/book/edit/edit_book_form.html:107 +#: bookwyrm/templates/book/edit/edit_book_form.html:146 msgid "Separate multiple values with commas." msgstr "" @@ -710,7 +709,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:278 +#: bookwyrm/templates/book/edit/edit_book_form.html:322 msgid "Inventaire ID:" msgstr "" @@ -893,12 +892,12 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:287 +#: bookwyrm/templates/book/edit/edit_book_form.html:331 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:296 +#: bookwyrm/templates/book/edit/edit_book_form.html:340 msgid "ASIN:" msgstr "" @@ -907,12 +906,12 @@ msgid "Add cover" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:230 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:236 msgid "Load cover from url:" msgstr "" @@ -1007,89 +1006,101 @@ msgstr "" msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +msgid "Add subject" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:106 +msgid "Remove subject" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:129 +msgid "Add Another Subject" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:137 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:103 +#: bookwyrm/templates/book/edit/edit_book_form.html:142 msgid "Publisher:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:115 +#: bookwyrm/templates/book/edit/edit_book_form.html:154 msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:124 +#: bookwyrm/templates/book/edit/edit_book_form.html:163 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:135 +#: bookwyrm/templates/book/edit/edit_book_form.html:174 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:144 +#: bookwyrm/templates/book/edit/edit_book_form.html:183 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:147 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:155 +#: bookwyrm/templates/book/edit/edit_book_form.html:194 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:158 -#: bookwyrm/templates/book/edit/edit_book_form.html:161 +#: bookwyrm/templates/book/edit/edit_book_form.html:197 +#: bookwyrm/templates/book/edit/edit_book_form.html:200 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:159 -#: bookwyrm/templates/book/edit/edit_book_form.html:162 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:165 +#: bookwyrm/templates/book/edit/edit_book_form.html:207 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:217 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:205 +#: bookwyrm/templates/book/edit/edit_book_form.html:249 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:212 +#: bookwyrm/templates/book/edit/edit_book_form.html:256 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:224 +#: bookwyrm/templates/book/edit/edit_book_form.html:268 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:235 +#: bookwyrm/templates/book/edit/edit_book_form.html:279 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:246 +#: bookwyrm/templates/book/edit/edit_book_form.html:290 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:251 +#: bookwyrm/templates/book/edit/edit_book_form.html:295 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:260 +#: bookwyrm/templates/book/edit/edit_book_form.html:304 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:269 +#: bookwyrm/templates/book/edit/edit_book_form.html:313 msgid "Openlibrary ID:" msgstr "" @@ -1145,10 +1156,7 @@ msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:11 #, python-format -msgid "" -"\n" -" Links for \"%(title)s\"\n" -" " +msgid "Links for \"%(title)s\"" msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:32 @@ -3217,64 +3225,89 @@ msgstr "" msgid "Color:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:6 -#: bookwyrm/templates/settings/automod/rules.html:10 +#: bookwyrm/templates/settings/automod/rules.html:7 +#: bookwyrm/templates/settings/automod/rules.html:11 #: bookwyrm/templates/settings/layout.html:61 msgid "Auto-moderation rules" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:17 +#: bookwyrm/templates/settings/automod/rules.html:18 msgid "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:18 +#: bookwyrm/templates/settings/automod/rules.html:19 msgid "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:19 -msgid "At this time, reports are not being generated automatically, and you must manually trigger a scan." +#: bookwyrm/templates/settings/automod/rules.html:26 +msgid "Schedule:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:23 -msgid "Run scan" +#: bookwyrm/templates/settings/automod/rules.html:33 +msgid "Last run:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:31 -msgid "Successfully added rule" +#: bookwyrm/templates/settings/automod/rules.html:40 +msgid "Total run count:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:37 -msgid "Add Rule" +#: bookwyrm/templates/settings/automod/rules.html:47 +msgid "Enabled:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:46 -#: bookwyrm/templates/settings/automod/rules.html:90 -msgid "String match" -msgstr "" - -#: bookwyrm/templates/settings/automod/rules.html:56 -#: bookwyrm/templates/settings/automod/rules.html:93 -msgid "Flag users" +#: bookwyrm/templates/settings/automod/rules.html:59 +msgid "Delete schedule" msgstr "" #: bookwyrm/templates/settings/automod/rules.html:63 -#: bookwyrm/templates/settings/automod/rules.html:96 +msgid "Run now" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:64 +msgid "Last run date will not be updated" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:69 +#: bookwyrm/templates/settings/automod/rules.html:92 +msgid "Schedule scan" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:101 +msgid "Successfully added rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:107 +msgid "Add Rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:116 +#: bookwyrm/templates/settings/automod/rules.html:160 +msgid "String match" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:126 +#: bookwyrm/templates/settings/automod/rules.html:163 +msgid "Flag users" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:133 +#: bookwyrm/templates/settings/automod/rules.html:166 msgid "Flag statuses" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:70 +#: bookwyrm/templates/settings/automod/rules.html:140 msgid "Add rule" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:77 +#: bookwyrm/templates/settings/automod/rules.html:147 msgid "Current Rules" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:81 +#: bookwyrm/templates/settings/automod/rules.html:151 msgid "Show rules" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:118 +#: bookwyrm/templates/settings/automod/rules.html:188 msgid "Remove rule" msgstr "" @@ -3524,7 +3557,6 @@ msgid "Import Blocklist" msgstr "" #: bookwyrm/templates/settings/federation/instance_blocklist.html:38 -#: bookwyrm/templates/snippets/goal_progress.html:7 msgid "Success!" msgstr "" @@ -4566,6 +4598,11 @@ msgstr "" msgid "Set goal" msgstr "" +#: bookwyrm/templates/snippets/goal_progress.html:7 +msgctxt "Goal successfully completed" +msgid "Success!" +msgstr "" + #: bookwyrm/templates/snippets/goal_progress.html:9 #, python-format msgid "%(percent)s%% complete!" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index ff4ad1d4996bb4a39f8a210854b7bfa648db2dfc..e2cdb67bd051815b88f910fde3494c3330e7975c 100644 GIT binary patch delta 21007 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 delta 21052 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 diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index b68cde705..5855eb1b4 100644 --- a/locale/es_ES/LC_MESSAGES/django.po +++ b/locale/es_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 20:49\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Este dominio está bloqueado. Póngase en contacto con su administrador si cree que esto es un error." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "Este enlace con ese tipo de archivo ya ha sido añadido a este libro. Si no es visible es porque el dominio todavía está pendiente." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Ya existe un usuario con ese correo electrónico." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un día" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Una semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mes" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "No expira" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Sin límite" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Ya existe un usuario con ese correo electrónico." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Este dominio está bloqueado. Póngase en contacto con su administrador si cree que esto es un error." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "Este enlace con ese tipo de archivo ya ha sido añadido a este libro. Si no es visible es porque el dominio todavía está pendiente." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Orden de la lista" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Valoración" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordenar por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Error en cargar libro" @@ -187,7 +187,7 @@ msgstr "%(value)s no es un remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s no es un usuario válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nombre de usuario" @@ -245,7 +245,7 @@ msgstr "Disponible para préstamo" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Reseñas" @@ -399,7 +399,7 @@ msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administrador" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versión del software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Su lectura más corta de este año…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver registro ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Cargar datos" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver en OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver en Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Editado más recientemente por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadatos" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nombre:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separar varios valores con comas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Clave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Guardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Guardar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "La carga de datos se conectará a %(source_name)s y com msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Editar Libro" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Haz clic para añadir portada" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "No se pudo cargar la portada" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Haz clic para ampliar" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s reseña)" msgstr[1] "(%(review_count)s reseñas)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Agregar descripción" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descripción:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s ediciones" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Has guardado esta edición en la estantería de:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una edición diferente de este libro está en tu estantería %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Tu actividad de lectura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Agregar fechas de lectura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "No tienes ninguna actividad de lectura para este libro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Tus reseñas" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Tus comentarios" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Tus citas" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Sujetos" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Agregar a lista" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Agregar portada" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Agregar portada de url:" @@ -975,110 +981,114 @@ msgstr "Esta es una obra nueva" msgid "Back" msgstr "Volver" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número de serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicación" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Fecha de primera publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Fecha de publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autores" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Quitar %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor por %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Agregar Autores:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Añadir Autor" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "María López García" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Añadir Otro Autor" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Portada" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propiedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalles del formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores de libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "ID OpenLibrary:" @@ -1168,7 +1178,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Estado" @@ -1177,7 +1187,7 @@ msgstr "Estado" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Acciones" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Comunidad" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Usuarios locales" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidad federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Directorio" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citó %(username)s" msgstr "Mensajes directos con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensajes directos" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Actualizaciones" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Tus libros" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Iniciar sesión" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Iniciar sesión" @@ -2185,7 +2197,7 @@ msgstr "Iniciar sesión" msgid "Success! Email address confirmed." msgstr "¡Éxito! Dirección de correo electrónico confirmada." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nombre de usuario:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contraseña:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "¿Olvidaste tu contraseña?" @@ -2230,19 +2242,23 @@ msgstr "Busqueda en %(site_name)s" msgid "Search for a book, user, or list" msgstr "Buscar un libro o un usuario o una lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menú de navigación central" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Actividad" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configuración" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Configuración" msgid "Invites" msgstr "Invitaciones" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Cerrar sesión" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificaciones" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "contraseña" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Unirse" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Estado publicado con éxito" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Error al publicar el estado" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentación de Django" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoyar %(site_name)s en %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en GitHub." @@ -3013,6 +3029,43 @@ msgstr "Añadir fechas de lectura de «%(title)s»" msgid "Report" msgstr "Reportar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3046,8 +3099,9 @@ msgstr "Tipo de búsqueda" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Usuarios" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Fecha de aceptación" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Correo electronico" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "¿Estás seguro que quieres eliminar la cuenta de %(username)s%(instance_name)s" msgstr "Usuarios %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nombre de usuario" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Fecha agregada" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Actividad reciente" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instancia remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Activo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inactivo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "No establecido" diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 4e3d049b6..233548259 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-14 16:32\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-16 14:14\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Un compte du même nom existe déjà" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Ce domaine est bloqué. Contactez l’admin de votre instance si vous pensez que c’est une erreur." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "Le lien avec ce type de fichier a déjà été ajouté pour ce livre. S’il n’est pas visible, le domaine est encore en attente." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Cet email est déjà associé à un compte." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un jour" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Une semaine" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mois" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Sans expiration" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} utilisations" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Sans limite" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Un compte du même nom existe déjà" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Cet email est déjà associé à un compte." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Ce domaine est bloqué. Contactez l’admin de votre instance si vous pensez que c’est une erreur." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "Le lien avec ce type de fichier a déjà été ajouté pour ce livre. S’il n’est pas visible, le domaine est encore en attente." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordre de la liste" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Titre du livre" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Note" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Trier par" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ordre croissant" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Ordre décroissant" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erreur lors du chargement du livre" @@ -187,7 +187,7 @@ msgstr "%(value)s n’est pas une remote_id valide." msgid "%(value)s is not a valid username" msgstr "%(value)s n’est pas un nom de compte valide." -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom du compte :" @@ -245,7 +245,7 @@ msgstr "Disponible à l’emprunt" msgid "Approved" msgstr "Approuvé" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Critiques" @@ -399,7 +399,7 @@ msgstr "L’administration et la modération de %(site_name)s maintiennent le si msgid "Moderator" msgstr "Modérateur/modératrice" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Version logicielle :" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "À propos de %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Sa lecture la plus courte l’année…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Voir l’enregistrement ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Charger les données" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Voir sur OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Voir sur Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Dernière modification par :" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Métadonnées" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nom :" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Séparez plusieurs valeurs par une virgule." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Clé Openlibrary :" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Identifiant Inventaire :" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI :" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Enregistrer" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Enregistrer" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Le chargement des données se connectera à %(source_name)s%(count)s editions" msgstr "%(count)s éditions" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Vous avez rangé cette édition dans :" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Une édition différente de ce livre existe sur votre étagère %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Vos critiques" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Vos commentaires" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Vos citations" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Lieux" msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Ajouter à la liste" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN :" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Ajouter une couverture" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Charger une couverture :" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Charger la couverture depuis une URL :" @@ -975,110 +981,114 @@ msgstr "Il s’agit d’un nouvel ouvrage." msgid "Back" msgstr "Retour" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titre :" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Sous‑titre :" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Série :" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Numéro dans la série :" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Langues :" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Sujets :" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publication" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Éditeur :" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Première date de parution :" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Date de parution :" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Auteurs ou autrices" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Retirer %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Page de %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Ajouter des auteurs ou autrices :" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Ajouter un auteur ou une autrice" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Camille Dupont" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Ajouter un autre auteur ou autrice" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Couverture" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propriétés physiques" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format :" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Détails du format :" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Pages :" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identifiants du livre" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13 :" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10 :" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Identifiant Openlibrary :" @@ -1168,7 +1178,7 @@ msgstr "Domaine" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Statut" @@ -1177,7 +1187,7 @@ msgstr "Statut" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Actions" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Communauté" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Comptes locaux" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Communauté fédérée" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Répertoire" @@ -1450,7 +1462,7 @@ msgstr "%(username)s a cité un passage de %(username)s" msgstr "Messages directs avec %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Messages directs" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Mises à jour" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Vos Livres" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Connexion" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Se connecter" @@ -2185,7 +2197,7 @@ msgstr "Se connecter" msgid "Success! Email address confirmed." msgstr "Bravo ! L’adresse email a été confirmée." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nom du compte :" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Mot de passe :" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Mot de passe oublié ?" @@ -2230,19 +2242,23 @@ msgstr "Recherche %(site_name)s" msgid "Search for a book, user, or list" msgstr "Rechercher un livre, un utilisateur ou une liste" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Scanner le code-barres" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menu de navigation principal " -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Fil d’actualité" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Paramètres" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Paramètres" msgid "Invites" msgstr "Invitations" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Se déconnecter" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notifications" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "Mot de passe" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Rejoindre" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Publié !" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erreur lors de la publication" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentation" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Soutenez %(site_name)s avec %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub." @@ -3013,6 +3029,45 @@ msgstr "Ajouter des dates de lecture pour « %(title)s »" msgid "Report" msgstr "Signaler" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Scanner le code-barres\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "En attente de la caméra…" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "Autorisez l’accès à la caméra pour scanner le code-barres d’un livre." + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "Impossible d’accéder à la caméra" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Scan en cours…" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "Alignez le code-barres de votre livre avec la caméra." + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN scanné" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Recherche du livre :" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Résultats de" @@ -3046,8 +3101,9 @@ msgstr "Type de recherche" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Comptes" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Date de validation" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Email" @@ -3932,7 +3989,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "Ajoutez le nom du fichier à l'aide du formulaire ci-dessous pour le rendre disponible dans l'interface de l'application." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Ajouter un thème" @@ -3940,28 +3997,24 @@ msgstr "Ajouter un thème" msgid "Unable to save theme" msgstr "Impossible d’enregistrer le thème" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Aucun fichier de thème disponible détecté" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nom du thème" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Nom de fichier du thème" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Thèmes disponibles" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "Fichier" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Supprimer le thème" @@ -3979,43 +4032,39 @@ msgstr "Êtes-vous sûr de vouloir supprimer le compte de %(username)s%(instance_name)s" msgstr "Comptes : %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nom du compte" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Date d’ajout" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Dernière activité" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instance distante" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Actif" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inactif" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Non défini" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 8958c625aa2159fb6d31240e3ad57c6309aa0a96..a1b321a7dc998f207a24ccf2e696b406638a7d6c 100644 GIT binary patch delta 23896 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

    8dD(RabWR!28MK~K*bbD&^1nh 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 u+k\n" "Language-Team: Galician\n" "Language: gl\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Xa existe unha usuaria con este identificador" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Este dominio está bloqueado. Contacta coa administración se cres que é un erro." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "Esta ligazón co tipo de ficheiro xa foi engadida para este libro. Se non é visible, o dominio aínda está pendente." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Xa existe unha usuaria con este email." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un día" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Unha semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mes" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Non caduca" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Sen límite" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "A data final da lectura non pode ser anterior á de inicio." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Xa existe unha usuaria con este identificador" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Xa existe unha usuaria con este email." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Este dominio está bloqueado. Contacta coa administración se cres que é un erro." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "Esta ligazón co tipo de ficheiro xa foi engadida para este libro. Se non é visible, o dominio aínda está pendente." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Orde da listaxe" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título do libro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Puntuación" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordenar por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "A data final da lectura non pode ser anterior á de inicio." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erro ao cargar o libro" @@ -187,7 +187,7 @@ msgstr "%(value)s non é un remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s non é un nome de usuaria válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuaria" @@ -245,7 +245,7 @@ msgstr "Dispoñible para aluguer" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Recensións" @@ -399,7 +399,7 @@ msgstr "A moderación e administración de %(site_name)s coidan e xestionan o si msgid "Moderator" msgstr "Moderación" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versión do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -533,7 +533,7 @@ msgstr "A lectura máis curta deste ano…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver rexistro ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Cargar datos" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver en OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver en Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Última edición por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadatos" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separa múltiples valores con vírgulas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chave en Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID en Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Gardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Gardar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Ao cargar os datos vas conectar con %(source_name)s e c msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "Non se pode conectar coa fonte remota." + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Editar libro" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Preme para engadir portada" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Fallou a carga da portada" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Preme para agrandar" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s recensión)" msgstr[1] "(%(review_count)s recensións)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Engadir descrición" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrición:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s edicións" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Puxeches esta edición no estante:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Hai unha edición diferente deste libro no teu estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Actividade lectora" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Engadir datas de lectura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Non tes actividade lectora neste libro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "As túas recensións" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Os teus comentarios" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "As túas citas" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Temas" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listaxes" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Engadir a listaxe" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Engadir portada" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Cargar portada desde url:" @@ -975,110 +981,114 @@ msgstr "Este é un novo traballo" msgid "Back" msgstr "Atrás" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número da serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Temas:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicación" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Data da primeira edición:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data de publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autoras" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Eliminar %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Páxina de autora para %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Engadir autoras:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Engadir Autora" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Xoana Pedre" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Engade outra Autora" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Portada" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propiedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalles do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páxinas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores do libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "ID en Openlibrary:" @@ -1168,7 +1178,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Estado" @@ -1177,7 +1187,7 @@ msgstr "Estado" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Accións" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Comunidade" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Usuarias locais" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Directorio" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensaxes Directas con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensaxes Directas" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Actualizacións" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Os teus libros" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Acceder" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Accede" @@ -2185,7 +2197,7 @@ msgstr "Accede" msgid "Success! Email address confirmed." msgstr "Correcto! Enderezo de email confirmado." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nome de usuaria:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contrasinal:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueceches o contrasinal?" @@ -2230,19 +2242,23 @@ msgstr "Busca en %(site_name)s" msgid "Search for a book, user, or list" msgstr "Busca un libro, usuaria ou lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Escanear código de barras" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menú principal de navegación" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Fonte" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Axustes" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Axustes" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Desconectar" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificacións" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "contrasinal" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Únete" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Publicación correcta" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erro ao publicar" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentación" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Axuda a %(site_name)s en %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código fonte de BookWyrm é público. Podes colaborar ou informar de problemas en GitHub." @@ -3013,6 +3029,45 @@ msgstr "Engadir datas de lectura para \"%(title)s\"" msgid "Report" msgstr "Denunciar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Escanear Código de barras\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "Accedendo á cámara..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "Permite o acceso á cámara para escanear o código de barras do libro." + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "Non hai acceso á cámara" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Escaneando..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "Aliña o código de barras do libro coa cámara." + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN escaneado" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Buscando o libro:" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3046,8 +3101,9 @@ msgstr "Tipo de busca" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Usuarias" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Data de aceptación" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Email" @@ -3925,14 +3982,14 @@ msgstr "Copia o ficheiro do decorado no cartafol bookwyrm/static/css/theme #: bookwyrm/templates/settings/themes.html:32 msgid "Run ./bw-dev collectstatic." -msgstr "" +msgstr "Executa ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." msgstr "Engade o nome de ficheiro usando o formulario inferior para que esté dispoñible na interface da aplicación." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Engadir decorado" @@ -3940,28 +3997,24 @@ msgstr "Engadir decorado" msgid "Unable to save theme" msgstr "Non se gardou o decorado" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Non se atopan ficheiros de decorado" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nome do decorado" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Nome de ficheiro do decorado" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Decorados dispoñibles" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "Ficheiro" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Eliminar decorado" @@ -3979,43 +4032,39 @@ msgstr "Tes a certeza de querer eliminar a conta de %(username)s%(instance_name)s" msgstr "Usuarias: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de usuaria" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Data de alta" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Última vez activa" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instancia remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Activa" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inactiva" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Non establecido" @@ -4347,7 +4396,7 @@ msgstr "Incluír alerta de spoiler" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "" +msgstr "Avisos sobre o contido/spoilers:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 911ed76e7d249a6e33903385d49658f07dc52aed..c7cf632bb9b893d48fdf193415d67188cc559241 100644 GIT binary patch delta 23975 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 delta 23099 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 JCW>)07XVc_$Fu+d diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index fbeaf64b7..647ebdbdd 100644 --- a/locale/it_IT/LC_MESSAGES/django.po +++ b/locale/it_IT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:52\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-16 19:30\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Esiste già un utente con questo nome utente" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Questo dominio è bloccato. Per favore contatta l'amministratore se pensi che si tratti di un errore." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "Questo collegamento è già stato aggiunto per questo libro. Se non è visibile, il dominio è ancora in sospeso." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Esiste già un'utenza con questo indirizzo email." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un giorno" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Una settimana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mese" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Non scade" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usi" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Illimitato" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "La data di fine lettura non può essere precedente alla data di inizio." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Esiste già un utente con questo nome utente" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Esiste già un'utenza con questo indirizzo email." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Questo dominio è bloccato. Per favore contatta l'amministratore se pensi che si tratti di un errore." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "Questo collegamento è già stato aggiunto per questo libro. Se non è visibile, il dominio è ancora in sospeso." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordina Lista" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Titolo del libro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Valutazione" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordina per" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Crescente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Decrescente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "La data di fine lettura non può essere precedente alla data di inizio." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Errore nel caricamento del libro" @@ -187,7 +187,7 @@ msgstr "%(value)s non è un Id remoto valido" msgid "%(value)s is not a valid username" msgstr "%(value)s non è un nome utente valido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome utente" @@ -245,7 +245,7 @@ msgstr "Disponibile per il prestito" msgid "Approved" msgstr "Approvato" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Recensioni" @@ -399,7 +399,7 @@ msgstr "I moderatori e gli amministratori di %(site_name)s mantengono il sito at msgid "Moderator" msgstr "Moderatori" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versione del software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Informazioni su %(site_name)s" @@ -533,7 +533,7 @@ msgstr "La loro lettura più breve quest’anno…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Visualizza record ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carica dati" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Visualizza su OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Visualizza su Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Ultima modifica di:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadati" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separa valori multipli con la virgola (,)" @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chiave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Salva" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Salva" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Il caricamento dei dati si collegherà a %(source_name)s%(count)s editions" msgstr "%(count)s edizioni" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Hai salvato questa edizione in:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una diversa edizione di questo libro è sul tuo scaffale %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Le tue attività di lettura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Aggiungi data di lettura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Non hai alcuna attività di lettura per questo libro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Le tue recensioni" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "I tuoi commenti" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Le tue citazioni" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Argomenti" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Luoghi" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Luoghi" msgid "Lists" msgstr "Liste" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Aggiungi all'elenco" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Numero OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Aggiungi copertina" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Carica la copertina:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Carica la copertina dall'url:" @@ -975,110 +981,114 @@ msgstr "Si tratta di un nuovo lavoro" msgid "Back" msgstr "Indietro" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titolo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Sottotitolo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Collana:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Numero collana:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Lingue:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Argomenti:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Data di pubblicazione" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editore:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Prima data di pubblicazione:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data di pubblicazione:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autori" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Rimuovi %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Pagina autore per %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Aggiungi Autori:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Aggiungi Autore" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Jane Doe" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Aggiungi un altro autore" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Copertina" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Caratteristiche" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Dettagli del formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Pagine:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificativi del Libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "OpenLibrary ID:" @@ -1168,7 +1178,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Stato" @@ -1177,7 +1187,7 @@ msgstr "Stato" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Azioni" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Community" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Utenti Locali" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunità federata" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Directory" @@ -1450,7 +1462,7 @@ msgstr "%(username)s ha citato %(username)s" msgstr "Messaggi diretti con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Messaggi Diretti" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Aggiornamenti" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "I Tuoi Libri" @@ -1657,7 +1669,7 @@ msgstr "Scopri le tue statistiche per %(year)s!" #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" -msgstr "Hai letto %(book_title)s?" +msgstr "Hai già letto %(book_title)s?" #: bookwyrm/templates/get_started/book_preview.html:7 msgid "Add to your books" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Accedi" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Accedi" @@ -2185,7 +2197,7 @@ msgstr "Accedi" msgid "Success! Email address confirmed." msgstr "Indirizzo email confermato con successo." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nome utente:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Password:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Hai dimenticato la tua password?" @@ -2230,19 +2242,23 @@ msgstr "Ricerca %(site_name)s" msgid "Search for a book, user, or list" msgstr "Cerca un libro, un utente o una lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Scansiona codice a barre" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Barra di navigazione principale" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Impostazioni" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Impostazioni" msgid "Invites" msgstr "Inviti" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Esci" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notifiche" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "password" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Entra" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Stato pubblicato correttamente" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Errore nel pubblicare lo stato" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentazione" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Supporta %(site_name)s su %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "Il codice sorgente di BookWyrm è disponibile liberamente. Puoi contribuire o segnalare problemi su GitHub." @@ -3013,6 +3029,45 @@ msgstr "Aggiungi date di lettura per \"%(title)s\"" msgid "Report" msgstr "Report" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Scansiona codice a barre\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "Richiesta fotocamera..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "Concedi l'accesso alla fotocamera per scansionare il codice a barre di un libro." + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "Impossibile accedere alla fotocamera" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Ricerca in corso..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "Allinea il codice a barre del tuo libro con la fotocamera." + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN scansionato" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Ricerca libro:" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Risultati da" @@ -3046,8 +3101,9 @@ msgstr "Tipo di ricerca" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Utenti" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Data di approvazione" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Email" @@ -3925,14 +3982,14 @@ msgstr "Copia il file del tema nella directory bookwyrm/static/css/themes< #: bookwyrm/templates/settings/themes.html:32 msgid "Run ./bw-dev collectstatic." -msgstr "" +msgstr "Esegui ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." msgstr "Aggiungere il nome del file utilizzando il modulo sottostante per renderlo disponibile nell'interfaccia dell'applicazione." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Aggiungi tema" @@ -3940,28 +3997,24 @@ msgstr "Aggiungi tema" msgid "Unable to save theme" msgstr "Impossibile salvare il tema" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Nessun file di tema disponibile" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nome tema" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Nome file del tema" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Temi disponibili" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "File" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Rimuovi tema" @@ -3979,43 +4032,39 @@ msgstr "Sei sicuro di voler eliminare l'account di %(username)s msgid "Your password:" msgstr "La tua password:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Torna alla lista degli utenti" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Utenti: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome utente" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Aggiunto in data" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Attivo l'ultima volta" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Istanza remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Attivo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inattivo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Non impostato" @@ -4290,7 +4339,7 @@ msgstr "Nessuna copertina" #: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" -msgstr "%(title)s da" +msgstr "%(title)s di" #: bookwyrm/templates/snippets/boost_button.html:20 #: bookwyrm/templates/snippets/boost_button.html:21 @@ -4347,7 +4396,7 @@ msgstr "Includi avviso spoiler" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "" +msgstr "Contenuto dell'avviso:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index 08a3fe6ac5ff76c87f1cb315f558e204008ad0bd..5d440dc651580426ededf4541741b8fc46ed59af 100644 GIT binary patch delta 20895 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ΜOF{FBbRbWCSlPF5qMY&uEr$LgH>dCnRWhaY76} z%gG2{n*ETI5xm;{1C*BMf>`9o1<@DB1xjoT43%6E^X79gf)~A>sON$N(SI&T6i9MI z4Aka^_{54E5*6Xx5C@iWGlJK8c5y=-aullW22}nlH^gEt9!3Vx5^X6SM(_-)2M;7< ztD)kPc_8N1ALM}q#WfyC9NpuAM8y{#NTOuqg(MbkUPx4k@j{|T2`X;D3kfM}UP!KR zF4`Q(cA0%$W_#h#Y4^`O72QgqW zA0v4E{$)N$Tq^KG9A?N52`L+Xh{GcJAr46AheTxoKO=Zwz(jsV@bdhP{E(2i%nypf zdIpBq{E(pk&kyl|pa9rq3=#qmg?0jr;3d{!0+1lB6M*<&jR3>}+XNs{aZmsfl2-&E zL4HR75|#Xd5QoVLLe%R(X>&nF1|d-XcM=4-gn=Pc5Mn{5AjF{QPFeC()2t#ti zCaAiz!i$5LK0Q4C?qYc5``Fa zK@^hDUx-4okGL2lq;$j}9jt2iXlO%aFqe7QK(XW|ft9u;R~$Y*3=xGT;GUb5{g z35kMMNr*!xOF}}nex4*Fc-n0lRN|u~#Akn?d_gG)Uq%WN1%^@(i>;&}1&yy1q(qB_ zinmEY95fRuz80$PniM2No=HJML_`{FPCbJfgu!4b4M`k6(hvjEr6De@mWCv@Hfc!W zS}qN7`3`A_0}e<-e11Wi5xhy|mNdk{b}|r$1;s8}BZ7BfSBuK;n#2?a=zepdlfH++Vg^HTwm2pJV2lGn!xL*{EginP-(C`TL_1#ODgijNk5SExE9s8^~(JhERMQeK=>ha|dN>Jamut3yKc zH+DNYC+<( z2P!^G3*vyKT97E(s0B%^hqNG3bw>*l)z7rR4y$MQ2em**8)BifHdul|SsM~`=GqVk zrfEZhzFHe%!FFwk4-acYa?1s6Muy7_3=EH<{Ovl7;LU2MbRZ7Z(S?|6tqXCmzb;5$ zJp)6mE~E}9fJ!XUg(Q|ux{yS7K^Nka2fC0F?4vFuYUK4Gsn}2t;&2N+NUm_ugM?VF z9;CW1(}Sp=qz4I!C3=t$*r&(HU;xVh*YqGhWY>qJ1sQ!vVzkkR6g&w~x?CTUYWwsd z2CvkIIP|DKq_TPpRmWfe(I;*I5!W+-IMCYwlK+DZAi1i_fRUjdw101v0mP?!3?OlI z#sCsz*9;&Uyh!`@0XR~G-Lez^JL1;xIh|jc*AR*&y1Tn|U2$D-8 zjTjj~z2HV8NFqLA1a1F6H(~_u_fs`yWOxc%Qen)<;K{(i;Ap}Ko|@@4fu!;eCXk|& z%@mTI^m%^?~&Eg(L!uz-Y!JCq-40ZAh%7K{wV3=9mV7L4E>l`o;{ zTr45>1X)5Hm}Chtr@Y=05?5`Okgn8ROGsilVF~g1ElWt;*;_F(G%zqQxLYxTr&do` zF@pDgMq5LI`o1+J3Z7Xrg7<)Zu!dw~FB?Yi(vAf-kP!Q01M2rOFqqpig17b7TiP;$ zH;ZQ3LJYWN3(6J@3{Rl+cUy=BTy~HalAs+UXvZCcn;k^mCOb&b9<_s5_|*>5T=%wT z1aH&rwr2$I4?bhh$PmcDz#!oONds99VEgJBHaakZXCikyK;lfqkrBMzR^O2kyyvsU zkrBLs_=+RM0oqQGk}tstV&E1hh{bHqkSGsIz&ogqc+GG|Csoq+PMIfE@`_~8sH zKk6A6m|P$N{4S7uE9nBs=SnV&;Q9Ul7l;oxyD%~&GcqtdhN^dWg9L4$8$^Ds8zXp| z?OivBIX>=?I1Y7ZWO&cOz>wk&5fAZzI5gISks%wD|EG8`GBkqr|9V0aQIjVmH%#_q z1n=`b=?N+EOuQgz!@&#Ehz#C#!85tPb7#SEeq2i!X5RjH@P_vAfAd_7nvDpwc zehfDu3X01dqbOrT*N28N%EkZD4Y zJ0CDIFzjSvV5nziV7S4^z_1vq7PL=6j+ucWh?#+50W$-`F3>s#W(EcoMg|5$CI*J5 zObiTjK+8)&`@uY z1_h|4y37m=HH-`le?Sgm1WlBKbTBY5Gl8~}*E29kfm{s{W2j|hV7R~x87>3~feJv- z4Ba9|28MoS$PNrpDGZVWVRt45NO}kPl97RdAL;|TzXn6)R1H%kP28N$Z3=A`&rerZN zFk~__Fic`*U}%8q1)V=|m4Sg_ITHiJ*U4ucr0d0*Akxq3S@~M5t|-q2{ndX)Y!P23}CX!pOj| zi;;oB8IbHS(BH>-2qypueLJhdbz`$USWDzeYsX#5$W@KR4z{J3?o(Zxd z4W#uO69dCOW(I}{j0_AbCSPrSBR0vH(>IzSdPL6!>5gnH^C0|SFH zBLl-FM$o)dJp+Ru69dC0Mg|56W(J00Mh1r6%nS^bAO%njkw_LUWMp7)gz_7q7J)2> zVPB}+Iz|SD8YTvY70e6_TNoJ_PB1bsv_sV!GBbcjXF+<-fa(a123uwZ1`((QAdM#(7#OaD7@%wf)wqq30kjc`p@f-% zA(WYcVHQ-L3mRsJm>{zfP+>472rAhb85lN#meMjnW-o4n+AyH=Q$Q*XKn(}6jgTDh zfsuj1j){R`DiZ_4DQ3tT9MD-Tmp~Rn)q##K0ZrP~P2TFNU9ZT@z!1sIz%UQ$oRuIN zRK-J8+alStm63rV7NnL5GF{jWs-PGc7&<}D09CpmwTui5znB;pgh2V5nSmh{WDYX} z!!;%bhJQ>9435kU;0<(b5Iyw_u^>$h4B*{+7Z@NjGAp5C5H$=8cc6T3CI*ISj0_Bw zP(Dl^M5ls^2xbNbcaR4_O9nwT9U}w7R*)npr-B^9z`)?j%)n622$>;b0FByw1s!Yv zO8ubIHy9ZhE;BJOd}Lx^n8nP%V8O(|5X!^=otY1_p0t z28P9;N`n!y9&raK(ShneCI$vGW(I~epc6PimN7Cg+yIF&GBCViVqnz@s zeFvgGf@XJ_85k0oA*=NDnIS7RE0`dw`j3DVF)%RfhdLq`B+tyikjccruniRNj0_Bc zAR6k3a*(4y)!;cs1_lpEaDe+SAajJ77#N;_e9FMUAjHVPPzVZksK$$+1PNuIn>^D~ zx?YTlfuRj5@}7x-p&DvhKNAB(DX2vWY7ao=L8jL+GBA9HI#U6vb~C6&%*eoS9HaoW z_z)^?%FMuUoRI;vf)6Yc#mK<05|kJ~r|E!280r~jf|4&(!yHBihDnT&b-Z0nkTaV= zJKoip7#Qps85mrcAuCwVLLC4x146oknqkb4d0vPJ1H)=228I}@L3BA7%L-W9atPQ149@S1GpCqvLp{wRWLCy z=s+!LXJTL|fa(RwgYXRy!N9<97j!TUsDlILSAtrlpa%LHMh1pEP{C3r28LTq3=B(= z40+82S(*tt7wQYtK_KOBObiT7P>bg=GBBhwGB6}T`4gBK7=D4)3Nu00fA%mlFz|z_ z1x5yj`Am>?#UL~4LC0o+7`H(|1!@N~Ko*>ff*SQu!vvTa7~B{c7}hc|FeorXRfRTYAgqeXM2h?z6WMHsiWME*ghZ+LX1j4I8DHJLe3N_G}k%3_cND{OT zn2CXb2`Uc~vSDUm;Df4DV`gAD!^FT42;~m z{0DWtIYAvb&`u`M>1521%>ubh3=CPI<~b7sLkmcbiGg7y0|SE;Gh_j(KQjYEJT#;l zp^gE0p^Sa4>B+?7%(v~Sc9653=9m*m>C!Zp(cTByU)nLa2jg+5oQL4mrM){98eQC zg4%_Q3=GFWJp(2N20KQ`ve#Kmko9(;k)#u#QW|RBbtnxo_YDKXWMO~7`esmy1+}U` zwLLQfg9gY~P<0DH$F6~b6%=R83=9`Q35}V7p`Vd~L7I_);UXv`K;1Z~dR8U|hOMBA z8PtJiWMEhgTFcJ>*$)b`(+QN^UrPz9>Tpq>IL>;QGRq5S`# zJ|7bUgBH{hko;~?TNN}O!N|aHmXU#B3p9ZKFfuTxGecH0RYUcIj%t&Kve}s#7>+{O zC1ARqfx!Y)VSvtOV_;wigBlcuWEsf9XJEw)40?jKWM;_Pe??G(j}fwm<1hmQ!xyMtVP*yf zVBG1*J;Rp>R-_T7t3#R3m6kM;2pn(`B28KzX zo;D)`!$D>ShJ0oQhCR%XZ8;#V0Z_A6fd(Cz7#Jj(AxH6no vAPLZMh@fNkKzH!nHxRCV+6XId!$=*HMf delta 20983 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 +1M5WWeN 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\n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Vartotojas su šiuo el. pašto adresu jau yra." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Diena" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Savaitė" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Mėnuo" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Galiojimas nesibaigia" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} naudoja" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Neribota" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Vartotojas su šiuo el. pašto adresu jau yra." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "" + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Kaip pridėta į sąrašą" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Knygos antraštė" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Įvertinimas" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Rūšiuoti pagal" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Didėjančia tvarka" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Mažėjančia tvarka" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Klaida įkeliant knygą" @@ -187,7 +187,7 @@ msgstr "%(value)s yra negaliojantis remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s yra negaliojantis naudotojo vardas" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "naudotojo vardas" @@ -245,7 +245,7 @@ msgstr "Galima pasiskolinti" msgid "Approved" msgstr "Patvirtinti puslapiai" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Apžvalgos" @@ -399,7 +399,7 @@ msgstr "Svetainės %(site_name)s moderatoriai ir administratoriai nuolat atnauji msgid "Moderator" msgstr "Moderatorius" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administravimas" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Serverio programinės įrangos versija:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Apie %(site_name)s" @@ -537,7 +537,7 @@ msgstr "Trumpiausias skaitinys tais metais…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -626,18 +626,18 @@ msgstr "Peržiūrėti ISNI įrašą" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Įkelti duomenis" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Žiūrėti „OpenLibrary“" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Žiūrėti „Inventaire“" @@ -674,7 +674,7 @@ msgid "Last edited by:" msgstr "Pastarąjį kartą redagavo:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Meta duomenys" @@ -686,8 +686,9 @@ msgid "Name:" msgstr "Vardas:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Reikšmes atskirkite kableliais." @@ -716,7 +717,7 @@ msgid "Openlibrary key:" msgstr "„Openlibrary“ raktas:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "„Inventaire“ ID:" @@ -733,7 +734,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -755,7 +756,7 @@ msgstr "Išsaugoti" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -767,6 +768,7 @@ msgstr "Išsaugoti" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -787,23 +789,27 @@ msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir msgid "Confirm" msgstr "Patvirtinti" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Redaguoti knygą" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Spausti, kad pridėti viršelį" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Nepavyko įkelti viršelio" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Spustelėkite padidinti" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" @@ -812,64 +818,64 @@ msgstr[1] "(%(review_count)s atsiliepimai)" msgstr[2] "(%(review_count)s atsiliepimų)" msgstr[3] "(%(review_count)s atsiliepimai)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Pridėti aprašymą" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Aprašymas:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s leidimai (-ų)" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Šis leidimas įdėtas į:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "kitas šios knygos leidimas yra jūsų %(shelf_name)s lentynoje." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Jūsų skaitymo veikla" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Pridėti skaitymo datas" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Šios knygos neskaitote." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Tavo atsiliepimai" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Tavo komentarai" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Jūsų citatos" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Temos" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Vietos" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -878,11 +884,11 @@ msgstr "Vietos" msgid "Lists" msgstr "Sąrašai" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Pridėti prie sąrašo" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -896,12 +902,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC numeris:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -910,12 +916,12 @@ msgid "Add cover" msgstr "Pridėti viršelį" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Įkelti viršelį:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Įkelti viršelį iš url:" @@ -985,110 +991,114 @@ msgstr "Tai naujas darbas" msgid "Back" msgstr "Atgal" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Pavadinimas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Paantraštė:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serija:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Serijos numeris:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Kalbos:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Leidimas" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Leidėjas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Pirmoji publikavimo data:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Publikavimo data:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autoriai" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Pašalinti %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Autoriaus puslapis %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Pridėti autorius:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Pridėti autorių" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Jonas Jonaitė" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Pridėti dar vieną autorių" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Viršelis" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Fizinės savybės" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formatas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Informacija apie formatą:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Puslapiai:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Knygos identifikatoriai" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "„Openlibrary“ ID:" @@ -1177,7 +1187,7 @@ msgstr "Domenas" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Būsena" @@ -1186,7 +1196,7 @@ msgstr "Būsena" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Veiksmai" @@ -1330,16 +1340,18 @@ msgid "Community" msgstr "Bendruomenė" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Vietiniai nariai" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Sujungta bendruomenė" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Bendruomenė" @@ -1463,7 +1475,7 @@ msgstr "%(username)s citavo %(username)s" msgstr "Asmeninis susirašinėjimas su %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Asmeninės žinutės" @@ -1637,7 +1649,7 @@ msgid "Updates" msgstr "Atnaujinimai" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Jūsų knygos" @@ -2197,7 +2209,7 @@ msgid "Login" msgstr "Prisijungti" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Prisijunkite" @@ -2206,7 +2218,7 @@ msgstr "Prisijunkite" msgid "Success! Email address confirmed." msgstr "Džiugu, el. pašto adresas patvirtintas." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2214,12 +2226,12 @@ msgstr "Naudotojo vardas:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Slaptažodis:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Pamiršote slaptažodį?" @@ -2251,19 +2263,23 @@ msgstr "%(site_name)s paieška" msgid "Search for a book, user, or list" msgstr "Ieškoti knygos, naudotojo arba sąrašo" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Pagrindinis navigacijos meniu" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Srautas" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Nustatymai" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2271,42 +2287,42 @@ msgstr "Nustatymai" msgid "Invites" msgstr "Pakvietimai" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Atsijungti" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Pranešimai" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "slaptažodis" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Prisijungti" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Būsena publikuota sėkmingai" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Klaida, publikuojant būseną" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Dokumentacija" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Paremkite %(site_name)s per %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "„BookWyrm“ šaltinio kodas yra laisvai prieinamas. Galite prisidėti arba pranešti apie klaidas per GitHub." @@ -3034,6 +3050,43 @@ msgstr "Pridėkite knygos „%(title)s“ skaitymo datas" msgid "Report" msgstr "Pranešti" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Rezultatai iš" @@ -3067,8 +3120,9 @@ msgstr "Paieškos tipas" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Nariai" @@ -3543,6 +3597,7 @@ msgid "Date accepted" msgstr "Priėmimo data" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "El. paštas" @@ -3961,7 +4016,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3969,28 +4024,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -4008,43 +4059,39 @@ msgstr "Ar tikrai norite ištrinti %(username)s paskyrą? To ne msgid "Your password:" msgstr "Jūsų slaptažodis:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Atgal į vartotojų sąrašą" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Vartotojai: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Vartotojo vardas" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Pridėjimo data" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Paskutinį kartą aktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Nutolęs serveris" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Neaktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Nenustatytas" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 7f23bb1a85ac630404dea8c769addd4f5b1fa79c..7965dcb2069ecf0310ea96158e306c0bcc78890f 100644 GIT binary patch delta 20895 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 +1M5WWeN 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\n" "Language-Team: Norwegian\n" "Language: no\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Den e-postadressen er allerede registrert." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Én dag" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Én uke" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Én måned" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Uendelig" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} ganger" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Ubegrenset" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Sluttdato kan ikke være før startdato." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Den e-postadressen er allerede registrert." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "" + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Liste rekkefølge" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Boktittel" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Vurdering" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Sorter etter" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Stigende" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Synkende" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Sluttdato kan ikke være før startdato." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Feilet ved lasting av bok" @@ -187,7 +187,7 @@ msgstr "%(value)s er en ugyldig remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s er et ugyldig brukernavn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "brukernavn" @@ -245,7 +245,7 @@ msgstr "Tilgjengelig for utlån" msgid "Approved" msgstr "Godkjent" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Anmeldelser" @@ -399,7 +399,7 @@ msgstr "%(site_name)s sine moderatorer og administratorer holder nettsida oppe o msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Programvareversjon:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Den korteste teksten lest i år…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Vis ISNI -oppføring" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Last inn data" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Vis på OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Vis på Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Sist endret av:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadata" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Navn:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Adskill flere verdier med komma." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary nøkkel:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Lagre" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Lagre" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Laster inn data kobler til %(source_name)s og finner me msgid "Confirm" msgstr "Bekreft" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Rediger bok" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Klikk for å legge til omslag" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Klarte ikke å laste inn omslag" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Klikk for å forstørre" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s anmeldelse)" msgstr[1] "(%(review_count)s anmeldelser)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Legg til beskrivelse" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beskrivelse:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s utgaver" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Du har lagt denne utgaven i hylla:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annen utgave av denne boken ligger i hylla %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Din leseaktivitet" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Legg til lesedatoer" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Du har ikke lagt inn leseaktivitet for denne boka." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Dine anmeldelser" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Dine kommentarer" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Dine sitater" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Emner" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Steder" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Steder" msgid "Lists" msgstr "Lister" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Legg til i liste" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Legg til et omslag" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Last opp omslag:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Last bilde av omslag fra nettadresse:" @@ -975,110 +981,114 @@ msgstr "Dette er et nytt verk" msgid "Back" msgstr "Tilbake" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Tittel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Undertittel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Serienummer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Språk:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publikasjon" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Forlag:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Først utgitt:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Publiseringsdato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Forfattere" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Fjern %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Forfatterside for %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Legg til forfattere:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Legg til forfatter" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Kari Nordmann" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Legg til enda en forfatter" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Omslag" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Fysiske egenskaper" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Formatdetaljer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Sider:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Boknøkler" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary nøkkel:" @@ -1168,7 +1178,7 @@ msgstr "Domene" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Status" @@ -1177,7 +1187,7 @@ msgstr "Status" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Handlinger" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Samfunn" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Lokale medlemmer" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Føderte samfunn" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Katalog" @@ -1450,7 +1462,7 @@ msgstr "%(username)s siterte %(username)s" msgstr "Direktemeldinger med %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Direktemeldinger" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Oppdateringer" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Bøkene dine" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Logg inn" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Logg inn" @@ -2185,7 +2197,7 @@ msgstr "Logg inn" msgid "Success! Email address confirmed." msgstr "Vellykket! E-postadressen din er bekreftet." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Brukernavn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passord:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Glemt passord?" @@ -2230,19 +2242,23 @@ msgstr "%(site_name)s søk" msgid "Search for a book, user, or list" msgstr "Søk etter bok, medlem eller liste" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Hovednavigasjonsmeny" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Strøm" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Innstillinger" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Innstillinger" msgid "Invites" msgstr "Invitasjoner" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Logg ut" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Varsler" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "passord" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Delta" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Status ble opprettet" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Feil ved lagring av status" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Dokumentasjon" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Støtt %(site_name)s på %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrms kildekode er fritt tilgjengelig. Du kan bidra eller rapportere problemer på GitHub." @@ -3013,6 +3029,43 @@ msgstr "Legg til lesedatoer for \"%(title)s\"" msgid "Report" msgstr "Rapport" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultat fra" @@ -3046,8 +3099,9 @@ msgstr "Søketype" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Medlemmer" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Akseptert dato" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-post" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "Er du sikker på at du vil slette %(username)ssin konto msgid "Your password:" msgstr "Passordet ditt:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Tilbake til medlemmer" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Medlemmer: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Brukernavn" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Lagt til dato" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Sist aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Ekstern instans" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Ikke angitt" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 6ca75c4db9b5ada99f48b342c3be40dd2877a95c..8d254d4d0b765804b8315236374c4e4ff7ba66c7 100644 GIT binary patch delta 23848 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 K+vOt|J-Gl*p0k4h diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index 4b5ce5865..3d0ad255b 100644 --- a/locale/pt_BR/LC_MESSAGES/django.po +++ b/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 20:49\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 21:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Um usuário com este nome já existe" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Este domínio está bloqueado. Entre em contato com a administração se você acha que isso é um engano." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "Este link e tipo de arquivo já foram adicionados ao livro. Se não estiverem visíveis, o domínio ainda está em processo de análise." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Já existe um usuário com este endereço de e-mail." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Um dia" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Uma semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Um mês" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Não expira" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "A data de término da leitura não pode ser anterior a de início." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Um usuário com este nome já existe" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Já existe um usuário com este endereço de e-mail." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Este domínio está bloqueado. Entre em contato com a administração se você acha que isso é um engano." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "Este link e tipo de arquivo já foram adicionados ao livro. Se não estiverem visíveis, o domínio ainda está em processo de análise." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordem de inserção" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título do livro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Avaliação" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Organizar por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Crescente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Decrescente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "A data de término da leitura não pode ser anterior a de início." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erro ao carregar livro" @@ -187,7 +187,7 @@ msgstr "%(value)s não é um remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s não é um nome de usuário válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuário" @@ -245,7 +245,7 @@ msgstr "Disponível para empréstimo" msgid "Approved" msgstr "Aprovado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Resenhas" @@ -399,7 +399,7 @@ msgstr "Moderadores/as e administradores/as de %(site_name)s mantêm o site func msgid "Moderator" msgstr "Moderador/a" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -533,7 +533,7 @@ msgstr "A leitura mais curta do ano…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver registro ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregar informações" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver na OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver no Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Editado pela última vez por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadados" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separe com vírgulas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chave Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Salvar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Para carregar informações nos conectaremos a %(source_name)s%(count)s editions" msgstr "%(count)s edições" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Você colocou esta edição na estante em:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está em sua estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Andamento da sua leitura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Adicionar registro de leitura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Você ainda não registrou sua leitura." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Suas resenhas" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Seus comentários" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Suas citações" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Assuntos" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Adicionar capa" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Enviar capa:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Carregar capa do endereço:" @@ -975,110 +981,114 @@ msgstr "É uma nova obra" msgid "Back" msgstr "Voltar" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número na série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Assuntos:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicação" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editora:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Data da primeira publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autores/as" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Remover %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor/a de %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Adicionar autores/as:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Adicionar autor/a" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Fulana" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Adicionar outro/a autor/a" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Capa" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propriedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalhes do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores do livro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1168,7 +1178,7 @@ msgstr "Domínio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Publicação" @@ -1177,7 +1187,7 @@ msgstr "Publicação" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Ações" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Comunidade" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Usuários locais" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Diretório" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensagens diretas com %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensagens diretas" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Atualizações" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Seus livros" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Entrar" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Entrar" @@ -2185,7 +2197,7 @@ msgstr "Entrar" msgid "Success! Email address confirmed." msgstr "Endereço de e-mail confirmado com sucesso." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Usuário:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Senha:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueceu sua senha?" @@ -2230,19 +2242,23 @@ msgstr "Busca %(site_name)s" msgid "Search for a book, user, or list" msgstr "Pesquisar livro, usuário ou lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Escanear código de barras" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menu de navegação principal" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Novidades" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configurações" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Configurações" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Sair" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificações" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "senha" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Registrar" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Publicação feita com sucesso" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erro ao publicar" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentação" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoie a instância %(site_name)s: %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código-fonte da BookWyrm está disponível gratuitamente. Você pode contribuir ou reportar problemas no GitHub." @@ -3013,6 +3029,45 @@ msgstr "Adicionar datas de leitura de \"%(title)s\"" msgid "Report" msgstr "Denunciar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Escanear código de barras\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "Solicitando a câmera..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "Dê acesso à câmera para escanearmos o código de barras do livro." + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "Não conseguimos acessar a câmera" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Escaneando..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "Alinhe o código de barras do livro com a câmera." + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN escaneado" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Pesquisando livro:" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3046,8 +3101,9 @@ msgstr "Tipo de pesquisa" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Usuários" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Data de aceitação" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-mail" @@ -3932,7 +3989,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "Adicione o nome do arquivo utilizando o formulário abaixo para deixá-lo disponível na interface do sistema." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Adicionar tema" @@ -3940,28 +3997,24 @@ msgstr "Adicionar tema" msgid "Unable to save theme" msgstr "Não foi possível salvar o tema" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Nenhum arquivo de tema encontrado" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nome do tema" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Arquivo do tema" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Temas disponíveis" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "Arquivo" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Excluir tema" @@ -3979,43 +4032,39 @@ msgstr "Você tem certeza que quer excluir a conta de %(username)s%(instance_name)s" msgstr "Usuários: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de usuário" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Data de inclusão" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Última atividade" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instância remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Ativo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inativo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Não definido" @@ -4347,7 +4396,7 @@ msgstr "Incluir alerta de spoiler" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "Avisos de spoiler/conteúdo:" +msgstr "Alerta de spoiler/conteúdo:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index d943b0f6c1cfbde56d1ccb7ab5d70b864c5f4d81..0fab79b41eb517bcc3bb3087805f64501f378bcc 100644 GIT binary patch delta 19539 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\n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Já existe um utilizador com este E-Mail." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Um Dia" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Uma Semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Um Mês" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Não Expira" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} utilizações" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Já existe um utilizador com este E-Mail." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "" + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordem da Lista" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título do livro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Classificação" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordenar Por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erro ao carregar o livro" @@ -187,7 +187,7 @@ msgstr "%(value)s não é um remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s não é um nome de utilizador válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de utilizador" @@ -245,7 +245,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Criticas" @@ -399,7 +399,7 @@ msgstr "" msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -533,7 +533,7 @@ msgstr "A sua menor leitura este ano…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver registro do ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregar dados" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver na OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver no Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Última edição por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadados" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separe vários valores com vírgulas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chave da Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID do Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Salvar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Carregar os dados irá conectar a %(source_name)s e ver msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Editar Livro" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Clica para adicionar capa" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Não foi possível carregar a capa" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Clica para ampliar" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s crítica)" msgstr[1] "(%(review_count)s criticas)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Adicionar uma descrição" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrição:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s edições" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Tu arquivaste esta edição em:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está na tua prateleira %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "A tua atividade de leitura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Adicionar datas de leitura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Não tem nenhuma atividade de leitura para este livro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "As tuas criticas" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Os teus comentários" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "As tuas citações" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Temas/Áreas" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Adicionar uma capa" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Carregar uma capa:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Carregar capa através de um Url:" @@ -975,110 +981,114 @@ msgstr "Este é um novo trabalho" msgid "Back" msgstr "Voltar" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Séries:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número da série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicação" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editora:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Primeira data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autor(es/as)" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Remover %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor do %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Adicionar Autor(es/as):" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Adicionar Autor(a)" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Joana Sem-nome" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Adicionar outro autor(a)" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Capa" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propriedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalhes do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores de Livros" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "ID da Openlibrary:" @@ -1166,7 +1176,7 @@ msgstr "Domínio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Estado" @@ -1175,7 +1185,7 @@ msgstr "Estado" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Acções" @@ -1319,16 +1329,18 @@ msgid "Community" msgstr "Comunidade" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Utilizadores locais" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Diretório" @@ -1448,7 +1460,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensagens Diretas com %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensagens Diretas" @@ -1622,7 +1634,7 @@ msgid "Updates" msgstr "Atualizações" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Os teus Livros" @@ -2174,7 +2186,7 @@ msgid "Login" msgstr "Login" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Iniciar sessão" @@ -2183,7 +2195,7 @@ msgstr "Iniciar sessão" msgid "Success! Email address confirmed." msgstr "Sucesso! O teu E-Mail está confirmado." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2191,12 +2203,12 @@ msgstr "Nome de utilizador:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Palavra-passe:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueces-te a tua palavra-passe?" @@ -2228,19 +2240,23 @@ msgstr "%(site_name)s pesquisa" msgid "Search for a book, user, or list" msgstr "Procurar por um livro, utilizador, ou lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menu principal" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configurações" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2248,42 +2264,42 @@ msgstr "Configurações" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Terminar sessão" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificações" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "palavra-passe" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Junta-te" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Estado publicado com sucesso" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erro ao publicar estado" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentação" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoia %(site_name)s em %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código de fonte do BookWyrm está disponível gratuitamente. E também podes contribuir ou reportar problemas no GitHub." @@ -3011,6 +3027,43 @@ msgstr "" msgid "Report" msgstr "Denunciar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3044,8 +3097,9 @@ msgstr "Tipo de pesquisa" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Utilizadores" @@ -3512,6 +3566,7 @@ msgid "Date accepted" msgstr "Data de aceitação" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-Mail" @@ -3930,7 +3985,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3938,28 +3993,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3977,43 +4028,39 @@ msgstr "Tens a certeza que desejas excluir a conta do %(username)s%(instance_name)s" msgstr "Utilizadores: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de utilizador" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Data de Adição" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Última atividade" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Domínio remoto" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Ativo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inativo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Não definido" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index d540a049d16db15db4469482f05fbdfed044b8b1..30c6c3e808692e4128204743cf4ed3f88f9d3528 100644 GIT binary patch delta 22183 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 delta 22249 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 PFD0=kFLCpc4_i|KW(8jc diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 691eb7ccb..bdd182c81 100644 --- a/locale/sv_SE/LC_MESSAGES/django.po +++ b/locale/sv_SE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:51\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:17\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "En användare med det användarnamnet existerar redan" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Den här domänen är blockerad. Vänligen kontakta din administratör om du tror att det här är felaktigt." - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "Denna länk med filtyp har redan lagts till för denna bok. Om den inte är synlig så är domänen fortfarande väntande." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "En användare med den här e-postadressen existerar redan." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "En dag" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "En vecka" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "En månad" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Slutar inte gälla" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} använder" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Obegränsad" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Slutdatum för läsning kan inte vara före startdatum." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "En användare med det användarnamnet existerar redan" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "En användare med den här e-postadressen existerar redan." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Den här domänen är blockerad. Vänligen kontakta din administratör om du tror att det här är felaktigt." + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "Denna länk med filtyp har redan lagts till för denna bok. Om den inte är synlig så är domänen fortfarande väntande." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Listordning" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Bokens titel" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Betyg" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Sortera efter" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Stigande" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Fallande" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Slutdatum för läsning kan inte vara före startdatum." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Fel uppstod vid inläsning av boken" @@ -187,7 +187,7 @@ msgstr "%(value)s är inte ett giltigt remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s är inte ett giltigt användarnamn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "användarnamn" @@ -245,7 +245,7 @@ msgstr "Tillgänglig för lån" msgid "Approved" msgstr "Godkänd" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Recensioner" @@ -399,7 +399,7 @@ msgstr "%(site_name)s's moderatorer och administratörer håller hemsidan uppe o msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administratör" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Programvaruversion:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Det kortast lästa det här året…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Visa ISNI-samling" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Ladda data" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Visa i OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Visa i Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Redigerades senast av:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadata" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Namn:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separera flertalet värden med kommatecken." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Nyckel för Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventarie-ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Spara" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Spara" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Att ladda in data kommer att ansluta till %(source_name)s%(count)s editions" msgstr "%(count)s utgåvor" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Du har lagt den här versionen i hylla:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annorlunda utgåva av den här boken finns i din %(shelf_name)s hylla." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Din läsningsaktivitet" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Lägg till läsdatum" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Du har ingen läsaktivitet för den här boken." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Dina recensioner" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Dina kommentarer" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Dina citationer" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Ämnen" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Platser" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -868,11 +874,11 @@ msgstr "Platser" msgid "Lists" msgstr "Listor" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Lägg till i listan" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC-nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Lägg till omslag" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Ladda upp omslag:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Ladda omslag från url:" @@ -975,110 +981,114 @@ msgstr "Det här är ett ny verk" msgid "Back" msgstr "Bakåt" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Undertext:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serier:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Serienummer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Språk:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicering" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Utgivare:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Första publiceringsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Publiceringsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Ta bort %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Författarsida för %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Lägg till författare:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Lägg till författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Jane Doe" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Lägg till en annan författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Omslag" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Fysiska egenskaper" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Formatets detaljer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Sidor:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Bok-identifierare" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary-ID:" @@ -1168,7 +1178,7 @@ msgstr "Domän" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Status" @@ -1177,7 +1187,7 @@ msgstr "Status" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Åtgärder" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Gemenskap" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Lokala användare" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Federerad gemenskap" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Mapp" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citerade %(username)s" msgstr "Direktmeddelanden med %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Direktmeddelanden" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Uppdateringar" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Dina böcker" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Inloggning" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Logga in" @@ -2185,7 +2197,7 @@ msgstr "Logga in" msgid "Success! Email address confirmed." msgstr "Lyckades! E-postadressen bekräftades." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Användarnamn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Lösenord:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Glömt ditt lösenord?" @@ -2230,19 +2242,23 @@ msgstr "%(site_name)s sök" msgid "Search for a book, user, or list" msgstr "Sök efter en bok, användare eller lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Huvudsaklig navigeringsmeny" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Flöde" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Inställningar" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Inställningar" msgid "Invites" msgstr "Inbjudningar" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Logga ut" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Aviseringar" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "lösenord" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Gå med" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Statusen har publicerats" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Fel uppstod när statusen skulle publiceras" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Dokumentation" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Stötta %(site_name)s på %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm's källkod är fritt tillgängligt. Du kan bidra eller rapportera problem på GitHub." @@ -3013,6 +3029,43 @@ msgstr "Lägg till läs-datum för \"%(title)s\"" msgid "Report" msgstr "Rapport" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultat från" @@ -3046,8 +3099,9 @@ msgstr "Typ av sökning" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Användare" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Datum för godkännande" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-postadress" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "Är du säker på att du vill ta bort %(username)ss kon msgid "Your password:" msgstr "Ditt lösenord:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Tillbaka till användarna" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Användare: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Användarnamn" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Lades till datum" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Senast aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Fjärrinstans" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Inte inställd" diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index b4b67c957..10b8825d0 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-14 00:10\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "使用此用户名的用户已存在" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "此域名已被屏蔽。如果您认为这是一个错误,请联系您的管理员。" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "此文件类型的链接已经被添加到这本书。如果不可见,域名仍在等待处理中。" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "已经存在使用该邮箱的用户。" - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "一天" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "一周" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "一个月" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "永不失效" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} 次使用" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "阅读完成日期不能早于开始日期。" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "使用此用户名的用户已存在" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "已经存在使用该邮箱的用户。" + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "此域名已被屏蔽。如果您认为这是一个错误,请联系您的管理员。" + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "此文件类型的链接已经被添加到这本书。如果不可见,域名仍在等待处理中。" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "列表顺序" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "书名" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "评价" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "排序方式" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "升序" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "降序" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "阅读完成日期不能早于开始日期。" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "加载书籍时出错" @@ -187,7 +187,7 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的用户名" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "用户名" @@ -245,7 +245,7 @@ msgstr "可借阅" msgid "Approved" msgstr "已通过" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "书评" @@ -399,7 +399,7 @@ msgstr "%(site_name)s 的仲裁员和管理员负责维持站点运行, 执行 msgid "Moderator" msgstr "仲裁员" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "管理员" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "软件版本:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "关于 %(site_name)s" @@ -531,7 +531,7 @@ msgstr "TA 今年阅读最短的…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -614,18 +614,18 @@ msgstr "查看 ISNI 记录" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "加载数据" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 查看" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "在 Inventaire 查看" @@ -662,7 +662,7 @@ msgid "Last edited by:" msgstr "最后编辑人:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "元数据" @@ -674,8 +674,9 @@ msgid "Name:" msgstr "名称:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "请用英文逗号(,)分隔多个值。" @@ -704,7 +705,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -721,7 +722,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -743,7 +744,7 @@ msgstr "保存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -755,6 +756,7 @@ msgstr "保存" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -775,86 +777,90 @@ msgstr "加载数据会连接到 %(source_name)s 并检查这 msgid "Confirm" msgstr "确认" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "编辑书目" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "点击添加封面" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "加载封面失败" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "点击放大" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s 则书评)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "添加描述" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s 个版本" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "此版本已在你的书架上:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本书的 另一个版本 在你的 %(shelf_name)s 书架上。" -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "你的阅读活动" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "添加阅读日期" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "你还没有任何这本书的阅读活动。" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "你的书评" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "你的评论" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "主题" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "地点" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -863,11 +869,11 @@ msgstr "地点" msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "添加到列表" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -881,12 +887,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -895,12 +901,12 @@ msgid "Add cover" msgstr "添加封面" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "上传封面:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "从网址加载封面:" @@ -970,110 +976,114 @@ msgstr "这是一个新的作品。" msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "标题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "副标题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "系列编号:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "语言:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "出版" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "初版时间:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "出版时间:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "移除 %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "%(name)s 的作者页面" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "添加作者:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "添加作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "张三" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "添加另一作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "实体性质" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "装订细节:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "页数:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "书目标识号" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1163,7 +1173,7 @@ msgstr "域名" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "状态" @@ -1172,7 +1182,7 @@ msgstr "状态" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "动作" @@ -1316,16 +1326,18 @@ msgid "Community" msgstr "社区" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "本地用户" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "跨站社区" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "目录" @@ -1443,7 +1455,7 @@ msgstr "%(username)s 引用了 %(username)s" msgstr "与 %(username)s 私信" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "私信" @@ -1617,7 +1629,7 @@ msgid "Updates" msgstr "更新" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "你的书目" @@ -2165,7 +2177,7 @@ msgid "Login" msgstr "登录" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登录" @@ -2174,7 +2186,7 @@ msgstr "登录" msgid "Success! Email address confirmed." msgstr "成功!邮箱地址已确认。" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2182,12 +2194,12 @@ msgstr "用户名:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密码:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘记了密码?" @@ -2219,19 +2231,23 @@ msgstr "%(site_name)s 搜索" msgid "Search for a book, user, or list" msgstr "搜索书籍、用户或列表" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "主导航菜单" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "动态" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "设置" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2239,42 +2255,42 @@ msgstr "设置" msgid "Invites" msgstr "邀请" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "登出" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "通知" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密码" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "成功发布的状态" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "发布状态时出错" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "文档" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "在 %(support_title)s 上支持 %(site_name)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是开源软件。你可以在 GitHub 贡献或报告问题。" @@ -3002,6 +3018,43 @@ msgstr "添加 “%(title)s” 的阅读日期" msgid "Report" msgstr "报告" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "结果来自" @@ -3035,8 +3088,9 @@ msgstr "搜索类型" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "用户" @@ -3499,6 +3553,7 @@ msgid "Date accepted" msgstr "接受日期" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "邮箱" @@ -3917,7 +3972,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "使用下面的表格添加文件名以便在应用程序接口中可用。" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "添加主题" @@ -3925,28 +3980,24 @@ msgstr "添加主题" msgid "Unable to save theme" msgstr "无法保存主题" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "没有检测到可用的主题文件" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "主题名称" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "主题文件名" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "可用的主题" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "文件" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "删除主题" @@ -3964,43 +4015,39 @@ msgstr "你确定要删除 %(username)s 的帐号吗?此操 msgid "Your password:" msgstr "你的密码:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "回到用户" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "用户: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "用户名" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "添加日期:" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "最后或缺" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "移除服务器" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "活跃" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "停用" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "未设置" diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 7e25b4b92..717a604e8 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:52\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "已經存在使用該郵箱的使用者。" - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "一天" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "一週" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "一個月" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "永不失效" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "已經存在使用該郵箱的使用者。" + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "" + +#: bookwyrm/forms/links.py:46 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "列表順序" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "書名" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "評價" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "排序方式" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "升序" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "降序" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "" @@ -187,7 +187,7 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的使用者名稱" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "使用者名稱" @@ -245,7 +245,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "書評" @@ -399,7 +399,7 @@ msgstr "" msgid "Moderator" msgstr "" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "管理員" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "關於 %(site_name)s" @@ -531,7 +531,7 @@ msgstr "" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -614,18 +614,18 @@ msgstr "" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 檢視" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "在 Inventaire 檢視" @@ -662,7 +662,7 @@ msgid "Last edited by:" msgstr "最後編輯者:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "元資料" @@ -674,8 +674,9 @@ msgid "Name:" msgstr "名稱:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "請用逗號(,)分隔多個值。" @@ -704,7 +705,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -721,7 +722,7 @@ msgid "ISNI:" msgstr "" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -743,7 +744,7 @@ msgstr "儲存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -755,6 +756,7 @@ msgstr "儲存" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -775,86 +777,90 @@ msgstr "" msgid "Confirm" msgstr "確認" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "編輯書目" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "載入封面失敗" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s 則書評)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "新增描述" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s 個版本" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本書的 另一個版本 在你的 %(shelf_name)s 書架上。" -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "你的閱讀活動" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "新增閱讀日期" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "你還未閱讀這本書。" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "你的書評" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "你的評論" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "主題" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "地點" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -863,11 +869,11 @@ msgstr "地點" msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "新增到列表" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -881,12 +887,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC 號:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -895,12 +901,12 @@ msgid "Add cover" msgstr "新增封面" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "上載封面:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "從網址載入封面:" @@ -970,110 +976,114 @@ msgstr "這是一個新的作品。" msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "標題:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "副標題:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "系列編號:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "語言:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "初版時間:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "出版時間:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "新增作者:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "實體性質" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "頁數:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "書目標識號" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1161,7 +1171,7 @@ msgstr "" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "狀態" @@ -1170,7 +1180,7 @@ msgstr "狀態" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "動作" @@ -1314,16 +1324,18 @@ msgid "Community" msgstr "社群" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "本地使用者" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "跨站社群" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "目錄" @@ -1441,7 +1453,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:4 #: bookwyrm/templates/discover/discover.html:10 -#: bookwyrm/templates/layout.html:78 +#: bookwyrm/templates/layout.html:86 msgid "Discover" msgstr "" @@ -1564,7 +1576,7 @@ msgstr "重置你在 %(site_name)s 的密碼" msgid "%(site_name)s home page" msgstr "" -#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234 +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:242 msgid "Contact site admin" msgstr "聯絡網站管理員" @@ -1578,7 +1590,7 @@ msgid "Direct Messages with %(username)s" msgstr "與 %(username)s 私信" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "私信" @@ -1615,7 +1627,7 @@ msgid "Updates" msgstr "更新" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "你的書目" @@ -2163,7 +2175,7 @@ msgid "Login" msgstr "登入" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登入" @@ -2172,7 +2184,7 @@ msgstr "登入" msgid "Success! Email address confirmed." msgstr "" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2180,12 +2192,12 @@ msgstr "使用者名稱:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密碼:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘記了密碼?" @@ -2217,19 +2229,23 @@ msgstr "" msgid "Search for a book, user, or list" msgstr "" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "主導航選單" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "動態" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "設定" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2237,42 +2253,42 @@ msgstr "設定" msgid "Invites" msgstr "邀請" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "登出" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "通知" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密碼" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "文件:" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "在 %(support_title)s 上支援 %(site_name)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是開源軟體。你可以在 GitHub 貢獻或報告問題。" @@ -3000,6 +3016,43 @@ msgstr "" msgid "Report" msgstr "舉報" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "" @@ -3033,8 +3086,9 @@ msgstr "搜尋類別" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "使用者" @@ -3497,6 +3551,7 @@ msgid "Date accepted" msgstr "接受日期" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "郵箱" @@ -3915,7 +3970,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3923,28 +3978,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3962,43 +4013,39 @@ msgstr "" msgid "Your password:" msgstr "" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "回到使用者" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "使用者: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "使用者名稱" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "新增日期:" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "最後活躍" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "移除伺服器" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "活躍" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "停用" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "未設定"