forked from mirrors/bookwyrm
Compare commits
463 commits
main
...
production
Author | SHA1 | Date | |
---|---|---|---|
|
14e73d18dd | ||
|
02a315be00 | ||
|
3a8aff938b | ||
|
e915335932 | ||
|
b1f3253aa7 | ||
|
12a5eaba3e | ||
|
dc0dede105 | ||
|
05cf3ce344 | ||
|
3ad09308b5 | ||
|
c10c14b2c9 | ||
|
f64a909751 | ||
|
f27fe05008 | ||
|
4308137390 | ||
|
588d2da2c6 | ||
|
c1c0eed92c | ||
|
bb89766de0 | ||
|
e2197b3e7d | ||
|
4a0e1bdd46 | ||
|
67bb154008 | ||
|
6f9488f7a8 | ||
|
35e27a4443 | ||
|
3ebdd432ec | ||
|
a54a8b7573 | ||
|
91e8a9ac19 | ||
|
394f6fea87 | ||
|
4baba480c5 | ||
|
64b5a18d7b | ||
|
dfba63f977 | ||
|
8de5a44181 | ||
|
3e78164039 | ||
|
abfd094337 | ||
|
0e8fffe001 | ||
|
0f1757b278 | ||
|
f1381341b4 | ||
|
6bf9fe7295 | ||
|
657d7b04c1 | ||
|
0a6c14dc8a | ||
|
771435168b | ||
|
36dbf64b12 | ||
|
75726460d7 | ||
|
d04345ec08 | ||
|
bf573a0871 | ||
|
43ca5f466c | ||
|
47be375de3 | ||
|
cc1496cf8f | ||
|
dd16ccd093 | ||
|
4a81786236 | ||
|
b46ec147da | ||
|
589a743cfb | ||
|
2dd39517c3 | ||
|
4fad83e910 | ||
|
56c6ee8879 | ||
|
3d036386f9 | ||
|
53754546c2 | ||
|
6a7c38003d | ||
|
584da682ee | ||
|
c102106dc2 | ||
|
9fb7280366 | ||
|
26482232c9 | ||
|
1dc5467969 | ||
|
83964f4e2b | ||
|
320ac617cb | ||
|
7ab8209046 | ||
|
cbfa99a95b | ||
|
2fccb8ef83 | ||
|
49bef9a7c5 | ||
|
2b07e9c485 | ||
|
c32e5b78ac | ||
|
637600763b | ||
|
17d4b60275 | ||
|
55aa26d2ba | ||
|
a806264497 | ||
|
d650585858 | ||
|
4416ce5069 | ||
|
f5f861ce25 | ||
|
5b3ff0cf82 | ||
|
40bec83833 | ||
|
3d7f73d73c | ||
|
7cb7063da5 | ||
|
93e1beda6e | ||
|
8b4f93dd4e | ||
|
82513197fd | ||
|
2c5265a117 | ||
|
8b42d58caf | ||
|
e8c1ca68d1 | ||
|
638352ba26 | ||
|
5cc4f9d381 | ||
|
2e9574d53c | ||
|
879a410808 | ||
|
d44a900e0c | ||
|
cd9acef30a | ||
|
1c48605418 | ||
|
4ca0834b43 | ||
|
2a5012470b | ||
|
07c190d717 | ||
|
bdf617d005 | ||
|
b53d45a19a | ||
|
4c73e53b9a | ||
|
c52689c4b8 | ||
|
620a22bde0 | ||
|
58b88ef71e | ||
|
25a7ab7b84 | ||
|
eff6591727 | ||
|
db5ec248ef | ||
|
d62a4e7aa0 | ||
|
ab06180e41 | ||
|
02ea4020ea | ||
|
17294abc13 | ||
|
327a616779 | ||
|
9a1ca982c8 | ||
|
382d98a2e0 | ||
|
1bc09485ee | ||
|
b15744cc37 | ||
|
62b62b5057 | ||
|
7cb377da6f | ||
|
9b1a9ec1d4 | ||
|
8aa920e357 | ||
|
34e45f3113 | ||
|
e9f60f93b2 | ||
|
1b987542a4 | ||
|
57396499ff | ||
|
755a6569c6 | ||
|
7744b9a117 | ||
|
697924ebc6 | ||
|
cfc6528d0c | ||
|
5d19d33a01 | ||
|
620d3ab804 | ||
|
2d7047b833 | ||
|
c03db63bb3 | ||
|
b5c0c0b52c | ||
|
75ca011f92 | ||
|
074a9113e6 | ||
|
b2bd655a00 | ||
|
3fb2584c03 | ||
|
78edfa142e | ||
|
4515cec7d2 | ||
|
4c5f5d90ba | ||
|
5e88e893c7 | ||
|
2022b3a035 | ||
|
8f50f8758c | ||
|
276bded337 | ||
|
9aa1201cbe | ||
|
7284a4efad | ||
|
ed6d35ef72 | ||
|
8dc8ea2f59 | ||
|
fad1b8db94 | ||
|
642ebec5ff | ||
|
b6b4e36e94 | ||
|
48c78a9d0e | ||
|
0f419d2b06 | ||
|
1d6f30c2df | ||
|
b0751d0555 | ||
|
376adc0a9a | ||
|
6bad4abd63 | ||
|
a8dbecde57 | ||
|
470fe576a1 | ||
|
638bc17724 | ||
|
8c3b170812 | ||
|
47b5f8c4f8 | ||
|
fee03191e8 | ||
|
847c4b49b4 | ||
|
5ce86d7b52 | ||
|
e363d1af11 | ||
|
c105490178 | ||
|
3d1f4e3452 | ||
|
fe0def3de8 | ||
|
cc9c6ce76c | ||
|
8f73cd9d89 | ||
|
c7443c9749 | ||
|
9bf79bf9b9 | ||
|
870cf3b60c | ||
|
375385ea6c | ||
|
c0fc0431e7 | ||
|
036463c8d9 | ||
|
29044517a1 | ||
|
b0a8d6c9fb | ||
|
8534e49f96 | ||
|
c4e66d44c9 | ||
|
fd0e4c6e13 | ||
|
7e3627f787 | ||
|
c3f938d500 | ||
|
90021ab0e4 | ||
|
65333b258b | ||
|
8086b9bca5 | ||
|
730b6fabc4 | ||
|
802d28b4a7 | ||
|
5f9e80ac1d | ||
|
832a9494b1 | ||
|
5ba6d8321f | ||
|
8bb815d5b3 | ||
|
1e71cf980c | ||
|
30a67a0221 | ||
|
9302aa6ce4 | ||
|
238862a4cf | ||
|
bad39aef55 | ||
|
83078cd424 | ||
|
892d338adc | ||
|
e8124806b1 | ||
|
f508b4eb33 | ||
|
0ff7c84a14 | ||
|
4fc230ec8b | ||
|
5ed4dfdb63 | ||
|
b3e369cdba | ||
|
4cc2eccaa4 | ||
|
7aff486a59 | ||
|
d80623d88d | ||
|
8761357905 | ||
|
3d2a56090c | ||
|
d7a662a39a | ||
|
b30fab0597 | ||
|
72f3aff024 | ||
|
92d58411b9 | ||
|
834bc08f34 | ||
|
09ae418881 | ||
|
b54979d39c | ||
|
85f1c38ba6 | ||
|
238e88c9dc | ||
|
8a1bfc5ffc | ||
|
1a939ed913 | ||
|
9d26c0e824 | ||
|
107d56c494 | ||
|
9ad369203f | ||
|
37c5c4979f | ||
|
5f783e4fd1 | ||
|
d54286b571 | ||
|
64e721fb0b | ||
|
4ee738ae52 | ||
|
3795d682aa | ||
|
c33eacaf3d | ||
|
e35befb6a2 | ||
|
411dd1b14d | ||
|
8a0db114d8 | ||
|
a3d5d352a7 | ||
|
a8052c2dd0 | ||
|
c50edc9d3f | ||
|
d55dafd9be | ||
|
a5aab26986 | ||
|
406c94354f | ||
|
afa831d140 | ||
|
01f598a951 | ||
|
32cd7ec32d | ||
|
5e6b9e44c9 | ||
|
fd91a79558 | ||
|
877c90b087 | ||
|
af92e3e9a4 | ||
|
d77eb5381d | ||
|
9189ae2f2d | ||
|
79fc286ef8 | ||
|
211bf318c4 | ||
|
7439adb8e6 | ||
|
17b289e6e2 | ||
|
145ea053cb | ||
|
7730c9f9a7 | ||
|
bc1a782541 | ||
|
0abd4e7fc8 | ||
|
fae72977b6 | ||
|
18557af41a | ||
|
e01581c28d | ||
|
78467190a6 | ||
|
b8695ae3b7 | ||
|
6f37a43d33 | ||
|
34fb1d2526 | ||
|
3cac69cd2c | ||
|
f546dfb005 | ||
|
c3a750f5da | ||
|
4b44ce691e | ||
|
9dbd1c674c | ||
|
80893dd5fd | ||
|
4ca76ec58d | ||
|
e3350e58d0 | ||
|
8b9528ae95 | ||
|
a26bf2859b | ||
|
94ef9cdd3e | ||
|
127881f56a | ||
|
8e4db60f46 | ||
|
8277c9e42e | ||
|
af72488cd9 | ||
|
f97efc2f86 | ||
|
d72dc842bd | ||
|
e37bb809e0 | ||
|
eca1a87294 | ||
|
97697ce5d5 | ||
|
c9f7ab6389 | ||
|
bb8cac021b | ||
|
94d18f6c24 | ||
|
5f1694a7b0 | ||
|
08cf9b5b40 | ||
|
8586f0fe75 | ||
|
a868e6c6fd | ||
|
fd4b2adb8b | ||
|
52905a3668 | ||
|
d202bd1d1d | ||
|
42ba3753d6 | ||
|
52cf9c67b9 | ||
|
e8b89eee73 | ||
|
a04511ccf7 | ||
|
fd3c6d1d21 | ||
|
6a14529893 | ||
|
36088554e8 | ||
|
59cc5c112f | ||
|
b0f78e6d0b | ||
|
28160137d0 | ||
|
4bf61e0ef0 | ||
|
f6366e1c4a | ||
|
593d5d309a | ||
|
84b525f83e | ||
|
015d45ef99 | ||
|
6c7fcb0dd1 | ||
|
6f6ca40ce7 | ||
|
c770b369d2 | ||
|
88879207b9 | ||
|
8ac2315cc6 | ||
|
e5283f9576 | ||
|
6ecda991d9 | ||
|
cabb486cb8 | ||
|
a1428a6030 | ||
|
489ac29761 | ||
|
df4def6cef | ||
|
e36ddb3f9b | ||
|
396cb30c3a | ||
|
98f35929b4 | ||
|
888987f19d | ||
|
ac80df7ee0 | ||
|
70bdac3706 | ||
|
355b2fad35 | ||
|
f107e3d499 | ||
|
5d7bd6a92b | ||
|
a2c7bffec9 | ||
|
d41c1b7213 | ||
|
f9da72d957 | ||
|
6105a6921b | ||
|
a0b0edbc3e | ||
|
a3966aa807 | ||
|
a3768b52a6 | ||
|
7e7f80d31e | ||
|
9c5444ad7a | ||
|
657dff7e95 | ||
|
bfdfb846da | ||
|
00c8fab365 | ||
|
e4001aba0b | ||
|
6545141bcf | ||
|
7ef29bb99e | ||
|
d9d5bc4e31 | ||
|
7eae4cdebb | ||
|
1eb979f05d | ||
|
28a7156f36 | ||
|
802d12421b | ||
|
41d9fe9d9d | ||
|
78d358a916 | ||
|
6d4335e05b | ||
|
5e0cb746d4 | ||
|
c7d6273b3b | ||
|
5abba57bfe | ||
|
12dbd47207 | ||
|
8156f1905d | ||
|
14e0102694 | ||
|
aafc9654c1 | ||
|
97f050c68e | ||
|
5c24bb6243 | ||
|
08cf668233 | ||
|
0a75c33de4 | ||
|
a29a5dbde9 | ||
|
636de3ae54 | ||
|
0f49436475 | ||
|
79dca312fb | ||
|
c69fdf7bb6 | ||
|
2719332e82 | ||
|
5b397c42f6 | ||
|
2635d109ed | ||
|
34ccf60868 | ||
|
d3192fb1bb | ||
|
042cfe2dfc | ||
|
42d50d15f8 | ||
|
2d21a31c13 | ||
|
77db2e183d | ||
|
255261dc3d | ||
|
44f764a34a | ||
|
b910be99c3 | ||
|
f7769db99b | ||
|
b36cf5a7b8 | ||
|
c5b48f521a | ||
|
0cd9f81431 | ||
|
ad6b2315ab | ||
|
4c8583bfdb | ||
|
175eab01f7 | ||
|
d5cc1d2f02 | ||
|
4171829626 | ||
|
f3576d59d7 | ||
|
e5b850299c | ||
|
d417f1e09d | ||
|
cb124e9ba4 | ||
|
567ea40f52 | ||
|
8f595b6a35 | ||
|
e9ed457012 | ||
|
5cfdc75c5f | ||
|
0eacee02ac | ||
|
dac3c9353d | ||
|
da24241b78 | ||
|
2d96c8a35a | ||
|
9ac94543b9 | ||
|
00752232ff | ||
|
9db851f2d4 | ||
|
4424acc5c2 | ||
|
eb1e4fd24c | ||
|
abd96717da | ||
|
29e5c67f83 | ||
|
0574e36602 | ||
|
b20de604d3 | ||
|
de95b60b0b | ||
|
bc62ed231f | ||
|
c80d63d184 | ||
|
46d9a444fd | ||
|
6dd83d490f | ||
|
5782961e58 | ||
|
573bdfd56b | ||
|
8dc350e8a1 | ||
|
44b299b28f | ||
|
4dc53c56d5 | ||
|
5a051d669f | ||
|
ecca49f70a | ||
|
004a3e5e56 | ||
|
1a61c6eb07 | ||
|
ea672c74e2 | ||
|
2823eca70d | ||
|
88de4ff046 | ||
|
c577c91912 | ||
|
dd8f91a044 | ||
|
de66d77f4b | ||
|
f6026f5ed8 | ||
|
17ea59e655 | ||
|
6b667aa575 | ||
|
5e2667c297 | ||
|
7db77c690e | ||
|
c7b2d7a4b9 | ||
|
bfef6f2d8a | ||
|
875b473711 | ||
|
2b75fd1f14 | ||
|
d6a166d9db | ||
|
8d21cfa707 | ||
|
7da705f87e | ||
|
7af3afe24b | ||
|
3cf2c4d1b0 | ||
|
6d6a16daf3 | ||
|
0a34cf8821 | ||
|
d19405f379 | ||
|
59d0164911 | ||
|
f23e10f8f7 | ||
|
19f9b75c6b | ||
|
9c68b6d430 | ||
|
d3987756eb | ||
|
687ff5a6d7 | ||
|
8b061d63a8 | ||
|
6826386ea3 | ||
|
b02a70b484 | ||
|
c5bcde0ee4 | ||
|
be1a26d32b | ||
|
54b924a4e2 | ||
|
439feac110 | ||
|
7dd1deb438 | ||
|
a9a40e4d69 | ||
|
5446a5b238 | ||
|
4b32948fd3 | ||
|
4b993fb5d6 |
55 changed files with 1220 additions and 708 deletions
43
.github/ISSUE_TEMPLATE/bug_report.md
vendored
43
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: 'bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Instance**
|
||||
On which BookWyrm instance did you encounter this problem.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
---
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
3
.github/workflows/pylint.yml
vendored
3
.github/workflows/pylint.yml
vendored
|
@ -21,7 +21,8 @@ jobs:
|
|||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pylint
|
||||
- name: Analysing the code with pylint
|
||||
run: |
|
||||
pylint bookwyrm/
|
||||
pylint bookwyrm/ --ignore=migrations --disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401,R0801
|
||||
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
[MAIN]
|
||||
ignore=migrations
|
||||
load-plugins=pylint.extensions.no_self_use
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401,R0801,C3001
|
|
@ -6,7 +6,5 @@ RUN mkdir /app /app/static /app/images
|
|||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apt-get update && apt-get install -y gettext libgettextpo-dev tidy && apt-get clean
|
||||
|
||||
COPY requirements.txt /app/
|
||||
RUN pip install -r requirements.txt --no-cache-dir
|
||||
|
|
|
@ -153,17 +153,12 @@ class Connector(AbstractConnector):
|
|||
return f"{self.covers_url}/b/id/{image_name}"
|
||||
|
||||
def parse_search_data(self, data, min_confidence):
|
||||
for idx, search_result in enumerate(data.get("docs")):
|
||||
for search_result in data.get("docs"):
|
||||
# build the remote id from the openlibrary key
|
||||
key = self.books_url + search_result["key"]
|
||||
author = search_result.get("author_name") or ["Unknown"]
|
||||
cover_blob = search_result.get("cover_i")
|
||||
cover = self.get_cover_url([cover_blob], size="M") if cover_blob else None
|
||||
|
||||
# OL doesn't provide confidence, but it does sort by an internal ranking, so
|
||||
# this confidence value is relative to the list position
|
||||
confidence = 1 / (idx + 1)
|
||||
|
||||
yield SearchResult(
|
||||
title=search_result.get("title"),
|
||||
key=key,
|
||||
|
@ -171,7 +166,6 @@ class Connector(AbstractConnector):
|
|||
connector=self,
|
||||
year=search_result.get("first_publish_year"),
|
||||
cover=cover,
|
||||
confidence=confidence,
|
||||
)
|
||||
|
||||
def parse_isbn_search_data(self, data):
|
||||
|
|
|
@ -56,17 +56,12 @@ class Command(BaseCommand):
|
|||
self.stdout.write(" OK 🖼")
|
||||
|
||||
# Books
|
||||
book_ids = (
|
||||
models.Book.objects.select_subclasses()
|
||||
.filter()
|
||||
.values_list("id", flat=True)
|
||||
)
|
||||
|
||||
books = models.Book.objects.select_subclasses().filter()
|
||||
self.stdout.write(
|
||||
" → Book preview images ({}): ".format(len(book_ids)), ending=""
|
||||
" → Book preview images ({}): ".format(len(books)), ending=""
|
||||
)
|
||||
for book_id in book_ids:
|
||||
preview_images.generate_edition_preview_image_task.delay(book_id)
|
||||
for book in books:
|
||||
preview_images.generate_edition_preview_image_task.delay(book.id)
|
||||
self.stdout.write(".", ending="")
|
||||
self.stdout.write(" OK 🖼")
|
||||
|
||||
|
|
|
@ -303,17 +303,10 @@ class Comment(BookStatus):
|
|||
@property
|
||||
def pure_content(self):
|
||||
"""indicate the book in question for mastodon (or w/e) users"""
|
||||
if self.progress_mode == "PG" and self.progress and (self.progress > 0):
|
||||
return_value = (
|
||||
f'{self.content}<p>(comment on <a href="{self.book.remote_id}">'
|
||||
f'"{self.book.title}"</a>, page {self.progress})</p>'
|
||||
)
|
||||
else:
|
||||
return_value = (
|
||||
f'{self.content}<p>(comment on <a href="{self.book.remote_id}">'
|
||||
f'"{self.book.title}"</a>)</p>'
|
||||
)
|
||||
return return_value
|
||||
return (
|
||||
f'{self.content}<p>(comment on <a href="{self.book.remote_id}">'
|
||||
f'"{self.book.title}"</a>)</p>'
|
||||
)
|
||||
|
||||
activity_serializer = activitypub.Comment
|
||||
|
||||
|
@ -339,17 +332,10 @@ class Quotation(BookStatus):
|
|||
"""indicate the book in question for mastodon (or w/e) users"""
|
||||
quote = re.sub(r"^<p>", '<p>"', self.quote)
|
||||
quote = re.sub(r"</p>$", '"</p>', quote)
|
||||
if self.position_mode == "PG" and self.position and (self.position > 0):
|
||||
return_value = (
|
||||
f'{quote} <p>-- <a href="{self.book.remote_id}">'
|
||||
f'"{self.book.title}"</a>, page {self.position}</p>{self.content}'
|
||||
)
|
||||
else:
|
||||
return_value = (
|
||||
f'{quote} <p>-- <a href="{self.book.remote_id}">'
|
||||
f'"{self.book.title}"</a></p>{self.content}'
|
||||
)
|
||||
return return_value
|
||||
return (
|
||||
f'{quote} <p>-- <a href="{self.book.remote_id}">'
|
||||
f'"{self.book.title}"</a></p>{self.content}'
|
||||
)
|
||||
|
||||
activity_serializer = activitypub.Quotation
|
||||
|
||||
|
|
|
@ -191,6 +191,10 @@ STATICFILES_FINDERS = [
|
|||
SASS_PROCESSOR_INCLUDE_FILE_PATTERN = r"^.+\.[s]{0,1}(?:a|c)ss$"
|
||||
SASS_PROCESSOR_ENABLED = True
|
||||
|
||||
SASS_PROCESSOR_INCLUDE_DIRS = [
|
||||
os.path.join(BASE_DIR, ".css-config-sample"),
|
||||
]
|
||||
|
||||
# minify css is production but not dev
|
||||
if not DEBUG:
|
||||
SASS_OUTPUT_STYLE = "compressed"
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="column is-clipped">
|
||||
<div class="column">
|
||||
{% block about_content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% load layout %}
|
||||
{% load sass_tags %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
{% load sass_tags %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="{% get_lang %}">
|
||||
|
|
|
@ -112,9 +112,6 @@
|
|||
{% with full=status.content|safe no_trim=status.content_warning itemprop="reviewBody" %}
|
||||
{% include 'snippets/trimmed_text.html' %}
|
||||
{% endwith %}
|
||||
{% if status.progress %}
|
||||
<div class="is-small is-italic has-text-right mr-3">{% trans "page" %} {{ status.progress }}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if status.attachments.exists %}
|
||||
|
|
|
@ -211,7 +211,7 @@ class Openlibrary(TestCase):
|
|||
status=200,
|
||||
)
|
||||
with patch(
|
||||
"bookwyrm.connectors.openlibrary.Connector.get_authors_from_data"
|
||||
"bookwyrm.connectors.openlibrary.Connector." "get_authors_from_data"
|
||||
) as mock:
|
||||
mock.return_value = []
|
||||
result = self.connector.create_edition_from_data(work, self.edition_data)
|
||||
|
|
|
@ -195,7 +195,7 @@ class ImportJob(TestCase):
|
|||
) as search:
|
||||
search.return_value = result
|
||||
with patch(
|
||||
"bookwyrm.connectors.openlibrary.Connector.get_authors_from_data"
|
||||
"bookwyrm.connectors.openlibrary.Connector." "get_authors_from_data"
|
||||
):
|
||||
book = item.get_book_from_identifier()
|
||||
|
||||
|
|
|
@ -281,7 +281,7 @@ http://www.fish.com/"""
|
|||
result = views.status.to_markdown(text)
|
||||
self.assertEqual(
|
||||
result,
|
||||
'<p><em>hi</em> and <a href="http://fish.com">fish.com</a> is rad</p>',
|
||||
'<p><em>hi</em> and <a href="http://fish.com">fish.com</a> ' "is rad</p>",
|
||||
)
|
||||
|
||||
def test_to_markdown_detect_url(self, *_):
|
||||
|
@ -297,7 +297,7 @@ http://www.fish.com/"""
|
|||
"""this is mostly handled in other places, but nonetheless"""
|
||||
text = "[hi](http://fish.com) is <marquee>rad</marquee>"
|
||||
result = views.status.to_markdown(text)
|
||||
self.assertEqual(result, '<p><a href="http://fish.com">hi</a> is rad</p>')
|
||||
self.assertEqual(result, '<p><a href="http://fish.com">hi</a> ' "is rad</p>")
|
||||
|
||||
def test_delete_status(self, mock, *_):
|
||||
"""marks a status as deleted"""
|
||||
|
|
68
bw-dev
68
bw-dev
|
@ -12,11 +12,8 @@ trap showerr EXIT
|
|||
source .env
|
||||
trap - EXIT
|
||||
|
||||
function clean {
|
||||
docker-compose stop
|
||||
docker-compose rm -f
|
||||
}
|
||||
|
||||
# show commands as they're executed
|
||||
set -x
|
||||
function runweb {
|
||||
docker-compose run --rm web "$@"
|
||||
}
|
||||
|
@ -64,27 +61,9 @@ case "$CMD" in
|
|||
up)
|
||||
docker-compose up --build "$@"
|
||||
;;
|
||||
service_ports_web)
|
||||
docker-compose run --rm --service-ports web
|
||||
;;
|
||||
initdb)
|
||||
initdb "@"
|
||||
;;
|
||||
resetdb)
|
||||
clean
|
||||
# Start just the DB so no one else is using it
|
||||
docker-compose up --build -d db
|
||||
rundb dropdb -U ${POSTGRES_USER} ${POSTGRES_DB}
|
||||
rundb createdb -U ${POSTGRES_USER} ${POSTGRES_DB}
|
||||
# Now start up web so we can run the migrations
|
||||
docker-compose up --build -d web
|
||||
migrate
|
||||
initdb
|
||||
clean
|
||||
;;
|
||||
makemigrations)
|
||||
runweb python manage.py makemigrations "$@"
|
||||
;;
|
||||
migrate)
|
||||
migrate "$@"
|
||||
;;
|
||||
|
@ -100,37 +79,12 @@ case "$CMD" in
|
|||
restart_celery)
|
||||
docker-compose restart celery_worker
|
||||
;;
|
||||
pytest)
|
||||
runweb pytest --no-cov-on-fail "$@"
|
||||
;;
|
||||
collectstatic)
|
||||
runweb python manage.py collectstatic --no-input
|
||||
;;
|
||||
makemessages)
|
||||
runweb django-admin makemessages --no-wrap --ignore=venv -l en_US $@
|
||||
;;
|
||||
compilemessages)
|
||||
runweb django-admin compilemessages --ignore venv $@
|
||||
;;
|
||||
update_locales)
|
||||
git fetch origin l10n_main:l10n_main
|
||||
git checkout l10n_main locale/de_DE
|
||||
git checkout l10n_main locale/es_ES
|
||||
git checkout l10n_main locale/fi_FI
|
||||
git checkout l10n_main locale/fr_FR
|
||||
git checkout l10n_main locale/gl_ES
|
||||
git checkout l10n_main locale/it_IT
|
||||
git checkout l10n_main locale/lt_LT
|
||||
git checkout l10n_main locale/no_NO
|
||||
git checkout l10n_main locale/pt_PT
|
||||
git checkout l10n_main locale/pt_BR
|
||||
git checkout l10n_main locale/ro_RO
|
||||
git checkout l10n_main locale/sv_SE
|
||||
git checkout l10n_main locale/zh_Hans
|
||||
git checkout l10n_main locale/zh_Hant
|
||||
runweb django-admin makemessages --no-wrap --ignore=venv -l en_US $@
|
||||
runweb django-admin compilemessages --ignore venv
|
||||
;;
|
||||
build)
|
||||
docker-compose build
|
||||
;;
|
||||
|
@ -140,10 +94,6 @@ case "$CMD" in
|
|||
black)
|
||||
docker-compose run --rm dev-tools black celerywyrm bookwyrm
|
||||
;;
|
||||
pylint)
|
||||
# pylint depends on having the app dependencies in place, so we run it in the web container
|
||||
runweb pylint bookwyrm/
|
||||
;;
|
||||
prettier)
|
||||
docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js
|
||||
;;
|
||||
|
@ -153,7 +103,6 @@ case "$CMD" in
|
|||
--config dev-tools/.stylelintrc.js
|
||||
;;
|
||||
formatters)
|
||||
runweb pylint bookwyrm/
|
||||
docker-compose run --rm dev-tools black celerywyrm bookwyrm
|
||||
docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js
|
||||
docker-compose run --rm dev-tools npx stylelint \
|
||||
|
@ -236,28 +185,17 @@ case "$CMD" in
|
|||
echo "Unrecognised command. Try:"
|
||||
echo " setup"
|
||||
echo " up [container]"
|
||||
echo " service_ports_web"
|
||||
echo " initdb"
|
||||
echo " resetdb"
|
||||
echo " makemigrations [migration]"
|
||||
echo " migrate [migration]"
|
||||
echo " bash"
|
||||
echo " shell"
|
||||
echo " dbshell"
|
||||
echo " restart_celery"
|
||||
echo " pytest [path]"
|
||||
echo " collectstatic"
|
||||
echo " makemessages"
|
||||
echo " compilemessages [locale]"
|
||||
echo " update_locales"
|
||||
echo " compilemessages"
|
||||
echo " build"
|
||||
echo " clean"
|
||||
echo " black"
|
||||
echo " prettier"
|
||||
echo " stylelint"
|
||||
echo " formatters"
|
||||
echo " compilescss"
|
||||
echo " collectstatic_watch"
|
||||
echo " populate_streams [--stream=<stream name>]"
|
||||
echo " populate_lists_streams"
|
||||
echo " populate_suggestions"
|
||||
|
|
|
@ -5,26 +5,40 @@ services:
|
|||
image: nginx:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 1333:80
|
||||
- 80:80
|
||||
- 443:443
|
||||
depends_on:
|
||||
- web
|
||||
networks:
|
||||
- main
|
||||
volumes:
|
||||
- ./nginx:/etc/nginx/conf.d
|
||||
- ./certbot/conf:/etc/nginx/ssl
|
||||
- ./certbot/data:/var/www/certbot
|
||||
- static_volume:/app/static
|
||||
- media_volume:/app/images
|
||||
certbot:
|
||||
image: certbot/certbot:latest
|
||||
command: certonly --webroot --webroot-path=/var/www/certbot --email ${EMAIL} --agree-tos --no-eff-email -d ${DOMAIN} -d www.${DOMAIN}
|
||||
#command: renew --webroot --webroot-path /var/www/certbot
|
||||
volumes:
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/logs:/var/log/letsencrypt
|
||||
- ./certbot/data:/var/www/certbot
|
||||
db:
|
||||
image: postgres
|
||||
build: postgres-docker
|
||||
env_file: .env
|
||||
entrypoint: /bookwyrm-entrypoint.sh
|
||||
command: cron postgres
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
- backups:/backups
|
||||
networks:
|
||||
- main
|
||||
web:
|
||||
build: .
|
||||
env_file: .env
|
||||
command: python manage.py runserver 0.0.0.0:8000
|
||||
command: gunicorn bookwyrm.wsgi:application --bind 0.0.0.0:8000
|
||||
volumes:
|
||||
- .:/app
|
||||
- static_volume:/app/static
|
||||
|
@ -105,6 +119,7 @@ services:
|
|||
- .:/app
|
||||
volumes:
|
||||
pgdata:
|
||||
backups:
|
||||
static_volume:
|
||||
media_volume:
|
||||
redis_broker_data:
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-30 13:02\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Gefahr"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Automatisch generierter Report"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Selbstlöschung"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Moderator*in suspendieren"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Moderator*in löschen"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Domainsperrung"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Speichern"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Das Laden von Daten wird eine Verbindung zu <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "„%(book_title)s“ bearbeiten"
|
|||
msgid "Add Book"
|
||||
msgstr "Buch hinzufügen"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Buchinfo bestätigen"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Ist „%(name)s“ einer dieser Autor*innen?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autor*in von "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Weitere Informationen auf isni.org finden"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Neue*r Autor*in"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Als neue*r Autor*in erstellen: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Ist das eine Ausgabe eines vorhandenen Werkes?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Dies ist ein neues Werk."
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Bücher importieren"
|
|||
msgid "Data source:"
|
||||
msgstr "Datenquelle:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Du kannst deine Goodreads-Daten von der <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import / Export-Seite</a> deines Goodreads-Kontos downloaden."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Datei:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Besprechungen einschließen"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Datenschutzeinstellung für importierte Besprechungen:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importieren"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Zuletzt importiert"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Keine aktuellen Importe"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Datei überschreitet die maximale Größe von 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Keine gültige CSV-Datei"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-31 23:50+0000\n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
@ -47,10 +47,6 @@ msgstr ""
|
|||
msgid "Reading finish date cannot be before start date."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms/forms.py:59
|
||||
msgid "Reading stopped date cannot be before start date."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms/landing.py:32
|
||||
msgid "User with this username already exists"
|
||||
msgstr ""
|
||||
|
@ -75,8 +71,8 @@ msgstr ""
|
|||
msgid "Book Title"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:156
|
||||
#: bookwyrm/templates/shelf/shelf.html:188
|
||||
#: 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 ""
|
||||
|
@ -1080,7 +1076,7 @@ msgid "Add Another Author"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:220
|
||||
#: bookwyrm/templates/shelf/shelf.html:147
|
||||
#: bookwyrm/templates/shelf/shelf.html:146
|
||||
msgid "Cover"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1714,13 +1710,13 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/get_started/book_preview.html:10
|
||||
#: bookwyrm/templates/shelf/shelf.html:86 bookwyrm/templates/user/user.html:33
|
||||
#: bookwyrm/templatetags/shelf_tags.py:48
|
||||
#: bookwyrm/templatetags/shelf_tags.py:46
|
||||
msgid "To Read"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/book_preview.html:11
|
||||
#: bookwyrm/templates/shelf/shelf.html:87 bookwyrm/templates/user/user.html:34
|
||||
#: bookwyrm/templatetags/shelf_tags.py:50
|
||||
#: bookwyrm/templatetags/shelf_tags.py:48
|
||||
msgid "Currently Reading"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1729,15 +1725,10 @@ msgstr ""
|
|||
#: bookwyrm/templates/snippets/shelf_selector.html:47
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
|
||||
#: bookwyrm/templates/user/user.html:35 bookwyrm/templatetags/shelf_tags.py:52
|
||||
#: bookwyrm/templates/user/user.html:35 bookwyrm/templatetags/shelf_tags.py:50
|
||||
msgid "Read"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/book_preview.html:13
|
||||
#: bookwyrm/templates/shelf/shelf.html:89 bookwyrm/templates/user/user.html:36
|
||||
msgid "Stopped Reading"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:6
|
||||
msgid "What are you reading?"
|
||||
msgstr ""
|
||||
|
@ -2065,8 +2056,8 @@ msgid "Row"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/import/import_status.html:103
|
||||
#: bookwyrm/templates/shelf/shelf.html:148
|
||||
#: bookwyrm/templates/shelf/shelf.html:170
|
||||
#: bookwyrm/templates/shelf/shelf.html:147
|
||||
#: bookwyrm/templates/shelf/shelf.html:169
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2079,8 +2070,8 @@ msgid "Openlibrary key"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/import/import_status.html:114
|
||||
#: bookwyrm/templates/shelf/shelf.html:149
|
||||
#: bookwyrm/templates/shelf/shelf.html:173
|
||||
#: bookwyrm/templates/shelf/shelf.html:148
|
||||
#: bookwyrm/templates/shelf/shelf.html:172
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2998,11 +2989,6 @@ msgstr ""
|
|||
msgid "Start \"%(book_title)s\""
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/reading_progress/stop.html:5
|
||||
#, python-format
|
||||
msgid "Stop Reading \"%(book_title)s\""
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/reading_progress/want.html:5
|
||||
#, python-format
|
||||
msgid "Want to Read \"%(book_title)s\""
|
||||
|
@ -3027,7 +3013,6 @@ msgstr ""
|
|||
#: bookwyrm/templates/readthrough/readthrough_modal.html:38
|
||||
#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
|
||||
#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
|
||||
#: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:24
|
||||
msgid "Started reading"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3036,7 +3021,7 @@ msgstr ""
|
|||
msgid "Progress"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_form.html:25
|
||||
#: bookwyrm/templates/readthrough/readthrough_form.html:24
|
||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:63
|
||||
#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
|
||||
msgid "Finished reading"
|
||||
|
@ -3050,27 +3035,23 @@ msgstr ""
|
|||
msgid "finished"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:16
|
||||
msgid "stopped"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:27
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:25
|
||||
msgid "Show all updates"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:43
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:41
|
||||
msgid "Delete this progress update"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:55
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:53
|
||||
msgid "started"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:62
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:60
|
||||
msgid "Edit read dates"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:70
|
||||
#: bookwyrm/templates/readthrough/readthrough_list.html:68
|
||||
msgid "Delete these read dates"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4378,51 +4359,46 @@ msgid "User profile"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:39
|
||||
#: bookwyrm/templatetags/shelf_tags.py:46 bookwyrm/views/shelf/shelf.py:53
|
||||
#: bookwyrm/templatetags/shelf_tags.py:44 bookwyrm/views/shelf/shelf.py:53
|
||||
msgid "All books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:97
|
||||
#: bookwyrm/templates/shelf/shelf.html:96
|
||||
#, python-format
|
||||
msgid "%(formatted_count)s book"
|
||||
msgid_plural "%(formatted_count)s books"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:104
|
||||
#: bookwyrm/templates/shelf/shelf.html:103
|
||||
#, python-format
|
||||
msgid "(showing %(start)s-%(end)s)"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:116
|
||||
#: bookwyrm/templates/shelf/shelf.html:115
|
||||
msgid "Edit shelf"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:124
|
||||
#: bookwyrm/templates/shelf/shelf.html:123
|
||||
msgid "Delete shelf"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:152
|
||||
#: bookwyrm/templates/shelf/shelf.html:178
|
||||
#: bookwyrm/templates/shelf/shelf.html:151
|
||||
#: bookwyrm/templates/shelf/shelf.html:177
|
||||
msgid "Shelved"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:153
|
||||
#: bookwyrm/templates/shelf/shelf.html:181
|
||||
#: bookwyrm/templates/shelf/shelf.html:152
|
||||
#: bookwyrm/templates/shelf/shelf.html:180
|
||||
msgid "Started"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:154
|
||||
#: bookwyrm/templates/shelf/shelf.html:184
|
||||
#: bookwyrm/templates/shelf/shelf.html:153
|
||||
#: bookwyrm/templates/shelf/shelf.html:183
|
||||
msgid "Finished"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:154
|
||||
#: bookwyrm/templates/shelf/shelf.html:184
|
||||
msgid "Until"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/shelf/shelf.html:210
|
||||
#: bookwyrm/templates/shelf/shelf.html:209
|
||||
msgid "This shelf is empty."
|
||||
msgstr ""
|
||||
|
||||
|
@ -4752,7 +4728,7 @@ msgid "(Optional)"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:6
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:61
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:54
|
||||
msgid "Update progress"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4761,17 +4737,6 @@ msgstr ""
|
|||
msgid "Start \"<em>%(book_title)s</em>\""
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:6
|
||||
#, python-format
|
||||
msgid "Stop Reading \"<em>%(book_title)s</em>\""
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:32
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:54
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
|
||||
msgid "Stopped reading"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
|
||||
#, python-format
|
||||
msgid "Want to Read \"<em>%(book_title)s</em>\""
|
||||
|
@ -4819,23 +4784,23 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:39
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:33
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
|
||||
msgid "Start reading"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:61
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:38
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:55
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:54
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
|
||||
msgid "Want to read"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:82
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:73
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:75
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:66
|
||||
#, python-format
|
||||
msgid "Remove from %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:95
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:88
|
||||
msgid "Remove from"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4843,12 +4808,7 @@ msgstr ""
|
|||
msgid "More shelves"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:48
|
||||
msgid "Stop reading"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:40
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:31
|
||||
msgid "Finish reading"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4943,16 +4903,6 @@ msgstr ""
|
|||
msgid "reviewed <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/stopped_reading.html:10
|
||||
#, python-format
|
||||
msgid "stopped reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/stopped_reading.html:17
|
||||
#, python-format
|
||||
msgid "stopped reading <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/to_read.html:10
|
||||
#, python-format
|
||||
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||
|
@ -5093,29 +5043,29 @@ msgstr ""
|
|||
msgid "Edit profile"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/user.html:38
|
||||
#: bookwyrm/templates/user/user.html:37
|
||||
#, python-format
|
||||
msgid "View all %(size)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/user.html:52
|
||||
#: bookwyrm/templates/user/user.html:51
|
||||
msgid "View all books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/user.html:59
|
||||
#: bookwyrm/templates/user/user.html:58
|
||||
#, python-format
|
||||
msgid "%(current_year)s Reading Goal"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/user.html:66
|
||||
#: bookwyrm/templates/user/user.html:65
|
||||
msgid "User Activity"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/user.html:70
|
||||
#: bookwyrm/templates/user/user.html:69
|
||||
msgid "RSS feed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/user.html:81
|
||||
#: bookwyrm/templates/user/user.html:80
|
||||
msgid "No activities yet!"
|
||||
msgstr ""
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-30 10:04\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Cuidado"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Informe generado automáticamente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Auto-eliminación"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Suspensión de moderador"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Eliminación de moderador"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Bloqueo de dominio"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Guardar"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "La carga de datos se conectará a <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Editar \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "Agregar libro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Confirmar información de libro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "¿Es \"%(name)s\" uno de estos autores?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autor/a de "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Más información en isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Este es un autor nuevo"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Creando un autor nuevo: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "¿Es esta una edición de una obra ya existente?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Esta es una obra nueva"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Volver"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importar libros"
|
|||
msgid "Data source:"
|
||||
msgstr "Fuente de datos:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Puedes descargar tus datos de Goodreads desde la <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">página de importación/exportación</a> de tu cuenta de Goodreads."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Archivo de datos:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Incluir reseñas"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Configuración de privacidad para las reseñas importadas:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importaciones recientes"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "No hay ninguna importación reciente"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Archivo excede el tamaño máximo: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "No un archivo csv válido"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-05-07 14:54\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Language: fi\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Vaara"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Automaattisesti luotu raportti"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Odottaa"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Itse poistettu"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Moderaattorin estämä"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Moderaattorin poistama"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Verkkotunnuksen esto"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Tallenna"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Tietoja ladattaessa muodostetaan yhteys lähteeseen <strong>%(source_name)s</strong> ja sieltä haetaan metatietoja, joita ei vielä ole täällä. Olemassa olevia metatietoja ei korvata uusilla."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Muokkaa teosta ”%(book_title)s”"
|
|||
msgid "Add Book"
|
||||
msgstr "Lisää kirja"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Vahvista kirjan tiedot"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Onko ”%(name)s” joku seuraavista tekijöistä?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Tekijänä teoksessa "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Lisätietoja osoitteessa isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Uusi tekijä"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Luodaan uusi tekijä: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Onko tämä aiemmin lisätyn teoksen laitos?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Uusi teos"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Takaisin"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Tuo kirjoja"
|
|||
msgid "Data source:"
|
||||
msgstr "Tietolähde:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Goodreads-tiedot voi ladata Goodreads-käyttäjätilin <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export-sivun</a> kautta."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Datatiedosto:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Myös arviot"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Tuotavien arvioiden yksityisyysvalinta:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Tuo"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Viimeksi tuotu"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Ei viimeaikaisia tuonteja"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Tiedosto on enimmäiskokoa 10 Mt suurempi"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Epäkelpo csv-tiedosto"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-09 08:36\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Danger"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Rapport généré automatiquement"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Auto-suppression"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Suspension du modérateur"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Suppression du modérateur"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Blocage de domaine"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI :"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Enregistrer"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Le chargement des données se connectera à <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Modifier « %(book_title)s »"
|
|||
msgid "Add Book"
|
||||
msgstr "Ajouter un livre"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Confirmer les informations de ce livre"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Est-ce que \"%(name)s\" fait partie de ces auteurs ou autrices ?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Auteur ou autrice de "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Trouver plus d’informations sur isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Il s’agit d’un nouvel auteur ou d’une nouvelle autrice."
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Création d’un nouvel auteur/autrice : %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Est‑ce l’édition d’un ouvrage existant ?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Il s’agit d’un nouvel ouvrage."
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importer des livres"
|
|||
msgid "Data source:"
|
||||
msgstr "Source de données :"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Vous pouvez télécharger vos données Goodreads depuis la page <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export</a> de votre compte Goodreads."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Fichier de données :"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Importer les critiques"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Confidentialité des critiques importées :"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importations récentes"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Aucune importation récente"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Ce fichier dépasse la taille limite : 10 Mo"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s (%(subtitle)s)"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Fichier CSV non valide"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-09 14:02\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Galician\n"
|
||||
"Language: gl\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Perigo"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Denuncia creada automáticamente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Pendente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Auto eliminación"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Suspendido pola moderación"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Eliminado pola moderación"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Bloqueo de dominio"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Gardar"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Ao cargar os datos vas conectar con <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Editar \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "Engadir libro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Confirma info do libro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "É \"%(name)s\" un destas autoras?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autora de "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Atopa máis información en isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Esta é unha nova autora"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Creando nova autora: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "É esta a edición dun traballo existente?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Este é un novo traballo"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Atrás"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importar libros"
|
|||
msgid "Data source:"
|
||||
msgstr "Fonte de datos:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Podes descargar os teus datos de Goodreads desde a <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">páxina de Exportación/Importación</a> da túa conta Goodreads."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Ficheiro de datos:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Incluír recensións"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Axuste de privacidade para recensións importadas:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importacións recentes"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Sen importacións recentes"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "O ficheiro supera o tamaño máximo: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Non é un ficheiro csv válido"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-20 22:49\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Attenzione"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Rapporto generato automaticamente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "In attesa"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Eliminazione automatica"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Sospensione del moderatore"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Cancellazione del moderatore"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Blocco del dominio"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Salva"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Il caricamento dei dati si collegherà a <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Modifica \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "Aggiungi libro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Conferma informazioni sul libro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "È \"%(name)s\" uno di questi autori?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autore di "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Trova maggiori informazioni su isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Questo è un nuovo autore"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Creazione di un nuovo autore: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "È un'edizione di un'opera esistente?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Si tratta di un nuovo lavoro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importa libri"
|
|||
msgid "Data source:"
|
||||
msgstr "Sorgenti dati:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Puoi scaricare i tuoi dati Goodreads dalla pagina <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">\"Importa/Esporta\"</a> del tuo account Goodreads."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Dati file:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Includi recensioni"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Impostazione della privacy per le recensioni importate:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importa"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importazioni recenti"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Nessuna importazione recente"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Il file supera la dimensione massima: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Non è un file di csv valido"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-10 07:54\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Language: lt\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Pavojus"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Automatiškai sugeneruota ataskaita"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Laukiama"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Išsitrina savaime"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Moderatorius nutraukė"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Moderatorius ištrynė"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Blokuoti pagal domeną"
|
||||
|
||||
|
@ -742,7 +742,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -765,8 +765,8 @@ msgstr "Išsaugoti"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -788,7 +788,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Duomenų įkėlimas prisijungs prie <strong>%(source_name)s</strong> ir patikrins ar nėra naujos informacijos. Esantys metaduomenys nebus perrašomi."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -961,42 +961,42 @@ msgstr "Redaguoti „%(book_title)s“"
|
|||
msgid "Add Book"
|
||||
msgstr "Pridėti knygą"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Patvirtinti knygos informaciją"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Ar \"%(name)s\" yra vienas iš šių autorių?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autorius "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Daugiau informacijos isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Tai naujas autorius"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Kuriamas naujas autorius: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Ar tai egzistuojančio darbo leidimas?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Tai naujas darbas"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Atgal"
|
||||
|
@ -1990,33 +1990,33 @@ msgstr "Importuoti knygas"
|
|||
msgid "Data source:"
|
||||
msgstr "Duomenų šaltinis:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Galite atsisiųsti savo „Goodreads“ duomenis iš <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Importavimo ir eksportavimo puslapio</a>, esančio jūsų „Goodreads“ paskyroje."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Duomenų failas:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Įtraukti atsiliepimus"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Privatumo nustatymai svarbiems atsiliepimams:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importuoti"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Pastaruoju metu importuota"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Pastaruoju metu neimportuota"
|
||||
|
||||
|
@ -5164,7 +5164,7 @@ msgstr "Failas viršijo maksimalų dydį: 10 MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Netinkamas csv failas"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-08 21:50\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Language: no\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr ""
|
|||
msgid "Automatically generated report"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Avventer"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Selvsletting"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Moderatør suspensjon"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Moderatør sletting"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Domeneblokkering"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Lagre"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Laster inn data kobler til <strong>%(source_name)s</strong> og finner metadata om denne forfatteren som enda ikke finnes her. Eksisterende metadata vil ikke bli overskrevet."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Rediger \"%(book_title)s"
|
|||
msgid "Add Book"
|
||||
msgstr "Legg til bok"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Bekreft bokinformasjon"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Er \"%(name)s\" en av disse forfatterne?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Forfatter av "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Finn mer informasjon på isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Dette er en ny forfatter"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Oppretter en ny forfatter: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Er dette en utgave av et eksisterende verk?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Dette er et nytt verk"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Tilbake"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importer bøker"
|
|||
msgid "Data source:"
|
||||
msgstr "Datakilde:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Du kan laste ned Goodread-dataene dine fra <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export sida</a> på Goodread-kontoen din."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Datafil:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Inkluder anmeldelser"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Personverninnstilling for importerte anmeldelser:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importér"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Nylig importer"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Ingen nylige importer"
|
||||
|
||||
|
@ -5112,7 +5112,7 @@ msgstr "Filen overskrider maksimal størrelse: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Ikke en gyldig csv-fil"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-08 23:12\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Perigo"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Relatório gerado automaticamente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Pendente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Autoexclusão"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Suspensão de moderador"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Exclusão de moderador"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Bloqueio de domínio"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Salvar"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Para carregar informações nos conectaremos a <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Editar \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "Adicionar livro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Confirmar informações do livro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "\"%(name)s\" é uma das pessoas citadas abaixo?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autor/a de "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Conheça mais em isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "É um/a novo/a autor/a"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Criando um/a novo/a autor/a: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "É uma edição de uma obra já registrada?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "É uma nova obra"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Voltar"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importar livros"
|
|||
msgid "Data source:"
|
||||
msgstr "Fonte dos dados:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Você pode baixar seus dados do Goodreads na <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">página de Importar/Exportar</a> da sua conta."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Arquivo de dados:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Incluir resenhas"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Configurações de privacidade para resenhas importadas:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importações recentes"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Nenhuma importação recente"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Arquivo excede o tamanho máximo: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Não é um arquivo csv válido"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-05-06 23:27\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Language: pt\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Perigo"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Relatório gerado automaticamente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Pendente"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Auto-exclusão"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Suspensão do moderador"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Exclusão do moderador"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Bloqueio de domínio"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Salvar"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Carregar os dados irá conectar a <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Editar \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "Adicionar um Livro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Confirmar informações do livro"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "\"%(name)s\" é um destes autores?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autor de "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Podes encontrar mais informações em isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Este é um novo autor"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Criar um novo autor: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Esta é uma edição de um trabalho existente?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Este é um novo trabalho"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Voltar"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importar livros"
|
|||
msgid "Data source:"
|
||||
msgstr "Origem dos dados:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Podes fazer download dos teus dados do Goodreads na <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Importar/Exportar página</a> da tua conta do Goodreads."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Ficheiro de dados:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Incluir criticas"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Configuração de privacidade para criticas importadas:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importações recentes"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Nenhuma importação recente"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Ficheiro excede o tamanho máximo: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Não é um ficheiro csv válido"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-05-16 21:13\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Romanian\n"
|
||||
"Language: ro\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Pericol"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Raport generat automat"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "În așteptare"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Ștergere automată"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Suspendat de moderator"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Șters de moderator"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Blocat de domeniu"
|
||||
|
||||
|
@ -738,7 +738,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -761,8 +761,8 @@ msgstr "Salvați"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -784,7 +784,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Încărcatul de date se va conecta la <strong>%(source_name)s</strong> și verifica orice metadate despre autor care nu sunt prezente aici. Metadatele existente nu vor fi suprascrise."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -955,42 +955,42 @@ msgstr "Editați „%(book_title)s”"
|
|||
msgid "Add Book"
|
||||
msgstr "Adăugați carte"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Confirmați informațiile cărții"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Este „%(name)s” unul dintre acești autori?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Autor al "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Aflați mai multe la isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Acesta este un autor nou"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Creați un autor nou: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Este această o ediție a unei opere existente?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Aceasta este o operă nouă"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Înapoi"
|
||||
|
@ -1980,33 +1980,33 @@ msgstr "Importați cărți"
|
|||
msgid "Data source:"
|
||||
msgstr "Sursa de date:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Puteți descărca datele dvs. GoodReads de pe <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">pagina Import/Export</a> a contului dvs. GoodReads."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Fișierul de date:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Includeți recenzii"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Setare de confidențialitate pentru recenziile importate:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importați"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Importuri recente"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Niciun import recent"
|
||||
|
||||
|
@ -5139,7 +5139,7 @@ msgstr "Fișierul depășește dimensiuneaz maximă: 10Mo"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Nu este un fișier csv valid"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-08 21:50\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: sv\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "Observera"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "Automatiskt genererad rapport"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "Pågående"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "Självborttagning"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "Moderator-avstängning"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "Borttagning av moderator"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "Domänblockering"
|
||||
|
||||
|
@ -734,7 +734,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -757,8 +757,8 @@ msgstr "Spara"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -780,7 +780,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "Att ladda in data kommer att ansluta till <strong>%(source_name)s</strong> 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:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -949,42 +949,42 @@ msgstr "Redigera \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "Lägg till bok"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "Bekräfta bokens info"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "Är \"%(name)s\" en utav dessa författare?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "Författare av "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "Hitta mer information på isni.org"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "Det här är en ny författare"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Skapar en ny författare: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "Är det här en version av ett redan befintligt verk?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "Det här är ett nytt verk"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "Bakåt"
|
||||
|
@ -1970,33 +1970,33 @@ msgstr "Importera böcker"
|
|||
msgid "Data source:"
|
||||
msgstr "Datakälla:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "Du kan ladda ner Goodreads-data från <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export-sidan</a> på ditt Goodreads-konto."
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "Datafil:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "Inkludera recensioner"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "Integritetsinställning för importerade recensioner:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "Importera"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "Senaste importer"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "Ingen importering nyligen"
|
||||
|
||||
|
@ -5114,7 +5114,7 @@ msgstr "Filen överskrider maximal storlek: 10 MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "Inte en giltig csv-fil"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-29 14:20\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr "危险"
|
|||
msgid "Automatically generated report"
|
||||
msgstr "自动生成的举报"
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr "待处理"
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr "自我删除"
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr "仲裁员停用"
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr "仲裁员删除"
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr "域名屏蔽"
|
||||
|
||||
|
@ -730,7 +730,7 @@ msgstr "ISNI:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -753,8 +753,8 @@ msgstr "保存"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -776,7 +776,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr "加载数据会连接到 <strong>%(source_name)s</strong> 并检查这里还没有记录的与作者相关的元数据。现存的元数据不会被覆盖。"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -943,42 +943,42 @@ msgstr "编辑《%(book_title)s》"
|
|||
msgid "Add Book"
|
||||
msgstr "添加书目"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "确认书目信息"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr "“%(name)s” 是这些作者之一吗?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr "所著书有 "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr "在 isni.org 查找更多信息"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "这是一位新的作者"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "正在创建新的作者: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "这是已存在的作品的一个版本吗?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "这是一个新的作品。"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "返回"
|
||||
|
@ -1960,33 +1960,33 @@ msgstr "导入书目"
|
|||
msgid "Data source:"
|
||||
msgstr "数据来源:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr "您可以从 <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> 下载或导出您的 Goodread 数据。"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "数据文件:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "纳入书评"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "导入书评的隐私设定"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "导入"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "最近的导入"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "无最近的导入"
|
||||
|
||||
|
@ -5089,7 +5089,7 @@ msgstr "文件超过了最大大小: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s:%(subtitle)s"
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "不是有效的 csv 文件"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-23 21:04+0000\n"
|
||||
"PO-Revision-Date: 2022-05-24 01:06\n"
|
||||
"POT-Creation-Date: 2022-04-08 21:00+0000\n"
|
||||
"PO-Revision-Date: 2022-04-08 21:50\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh\n"
|
||||
|
@ -121,25 +121,25 @@ msgstr ""
|
|||
msgid "Automatically generated report"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/base_model.py:18 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
|
||||
#: bookwyrm/templates/import/import_status.html:200
|
||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:19
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
#: bookwyrm/models/base_model.py:18
|
||||
msgid "Self deletion"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
#: bookwyrm/models/base_model.py:19
|
||||
msgid "Moderator suspension"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
#: bookwyrm/models/base_model.py:20
|
||||
msgid "Moderator deletion"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/base_model.py:22
|
||||
#: bookwyrm/models/base_model.py:21
|
||||
msgid "Domain block"
|
||||
msgstr ""
|
||||
|
||||
|
@ -730,7 +730,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:202
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:135
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:127
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||
#: bookwyrm/templates/groups/form.html:32
|
||||
|
@ -753,8 +753,8 @@ msgstr "儲存"
|
|||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/book.html:203
|
||||
#: bookwyrm/templates/book/cover_add_modal.html:33
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:137
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:140
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:129
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:132
|
||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
|
||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
|
@ -776,7 +776,7 @@ msgid "Loading data will connect to <strong>%(source_name)s</strong> and check f
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:24
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:122
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:114
|
||||
#: bookwyrm/templates/book/sync_modal.html:24
|
||||
#: bookwyrm/templates/groups/members.html:29
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
|
@ -943,42 +943,42 @@ msgstr "編輯 \"%(book_title)s\""
|
|||
msgid "Add Book"
|
||||
msgstr "新增書目"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:54
|
||||
msgid "Confirm Book Info"
|
||||
msgstr "確認書目資料"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:70
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" one of these authors?"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:81
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:73
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Author of "
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:83
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:75
|
||||
msgid "Find more information at isni.org"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:85
|
||||
msgid "This is a new author"
|
||||
msgstr "這是一位新的作者"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:100
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:92
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "正在建立新的作者: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:99
|
||||
msgid "Is this an edition of an existing work?"
|
||||
msgstr "這是已存在的作品的另一個版本嗎?"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:115
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:107
|
||||
msgid "This is a new work"
|
||||
msgstr "這是一個新的作品。"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:124
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:116
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
msgstr "返回"
|
||||
|
@ -1960,33 +1960,33 @@ msgstr "匯入書目"
|
|||
msgid "Data source:"
|
||||
msgstr "資料來源:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:42
|
||||
#: bookwyrm/templates/import/import.html:39
|
||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/import/import.html:47
|
||||
#: bookwyrm/templates/import/import.html:44
|
||||
msgid "Data file:"
|
||||
msgstr "資料檔案:"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:55
|
||||
#: bookwyrm/templates/import/import.html:52
|
||||
msgid "Include reviews"
|
||||
msgstr "納入書評"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:60
|
||||
#: bookwyrm/templates/import/import.html:57
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
msgstr "匯入書評的隱私設定"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:66
|
||||
#: bookwyrm/templates/import/import.html:63
|
||||
#: bookwyrm/templates/preferences/layout.html:31
|
||||
#: bookwyrm/templates/settings/federation/instance_blocklist.html:76
|
||||
msgid "Import"
|
||||
msgstr "匯入"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:71
|
||||
#: bookwyrm/templates/import/import.html:68
|
||||
msgid "Recent Imports"
|
||||
msgstr "最近的匯入"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:73
|
||||
#: bookwyrm/templates/import/import.html:70
|
||||
msgid "No recent imports"
|
||||
msgstr "無最近的匯入"
|
||||
|
||||
|
@ -5087,7 +5087,7 @@ msgstr "檔案超過了最大大小: 10MB"
|
|||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/views/imports/import_data.py:70
|
||||
#: bookwyrm/views/imports/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "不是有效的 csv 檔案"
|
||||
|
||||
|
|
|
@ -5,20 +5,70 @@ upstream web {
|
|||
}
|
||||
|
||||
server {
|
||||
listen [::]:80;
|
||||
listen 80;
|
||||
|
||||
location / {
|
||||
proxy_pass http://web;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $host;
|
||||
proxy_redirect off;
|
||||
server_name your-domain.com www.your-domain.com;
|
||||
|
||||
location ~ /.well-known/acme-challenge {
|
||||
allow all;
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
location /images/ {
|
||||
alias /app/images/;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
alias /app/static/;
|
||||
}
|
||||
# redirect http to https
|
||||
# return 301 https://your-domain.com$request_uri;
|
||||
# }
|
||||
#
|
||||
# server {
|
||||
# listen [::]:443 ssl http2;
|
||||
# listen 443 ssl http2;
|
||||
#
|
||||
# server_name your-domain.com;
|
||||
#
|
||||
# # SSL code
|
||||
# ssl_certificate /etc/nginx/ssl/live/your-domain.com/fullchain.pem;
|
||||
# ssl_certificate_key /etc/nginx/ssl/live/your-domain.com/privkey.pem;
|
||||
#
|
||||
# location ~ /.well-known/acme-challenge {
|
||||
# allow all;
|
||||
# root /var/www/certbot;
|
||||
# }
|
||||
#
|
||||
# location / {
|
||||
# proxy_pass http://web;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# proxy_set_header Host $host;
|
||||
# proxy_redirect off;
|
||||
# }
|
||||
#
|
||||
# location /images/ {
|
||||
# alias /app/images/;
|
||||
# }
|
||||
#
|
||||
# location /static/ {
|
||||
# alias /app/static/;
|
||||
# }
|
||||
}
|
||||
|
||||
# Reverse-Proxy server
|
||||
# server {
|
||||
# listen [::]:8001;
|
||||
# listen 8001;
|
||||
|
||||
# server_name your-domain.com www.your-domain.com;
|
||||
|
||||
# location / {
|
||||
# proxy_pass http://web;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# proxy_set_header Host $host;
|
||||
# proxy_redirect off;
|
||||
# }
|
||||
|
||||
# location /images/ {
|
||||
# alias /app/images/;
|
||||
# }
|
||||
|
||||
# location /static/ {
|
||||
# alias /app/static/;
|
||||
# }
|
||||
# }
|
20
postgres-docker/Dockerfile
Normal file
20
postgres-docker/Dockerfile
Normal file
|
@ -0,0 +1,20 @@
|
|||
FROM postgres:13.0
|
||||
|
||||
# crontab
|
||||
RUN mkdir /backups
|
||||
COPY ./backup.sh /backups
|
||||
COPY ./weed.sh /backups
|
||||
COPY ./cronfile /etc/cron.d/cronfile
|
||||
RUN apt-get update && apt-get -y --no-install-recommends install cron
|
||||
RUN chmod 0644 /etc/cron.d/cronfile
|
||||
RUN crontab /etc/cron.d/cronfile
|
||||
RUN touch /var/log/cron.log
|
||||
|
||||
# The postgres image's entrypoint expects the docker command to only contain flags to
|
||||
# pass postgres. It runs the entrypoint twice, the second times as the postgres user.
|
||||
# We need to start the cron service the first time it runs, when it's still being run
|
||||
# as the root user. We're going to add a check that looks at the first argument and
|
||||
# if it's 'cron', starts the service and then removes that argument.
|
||||
RUN awk '$0 ~ /^\t_main "\$@"$/ { print "\tif [[ $1 == cron ]]; then\n\t\tservice cron start\n\t\tshift\n\tfi" }{ print }' docker-entrypoint.sh > bookwyrm-entrypoint.sh
|
||||
RUN chown postgres /bookwyrm-entrypoint.sh
|
||||
RUN chmod u=rwx,go=r /bookwyrm-entrypoint.sh
|
7
postgres-docker/backup.sh
Executable file
7
postgres-docker/backup.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
if [ -z "$POSTGRES_DB" ]; then
|
||||
echo "Database not specified, defaulting to bookwyrm"
|
||||
fi
|
||||
BACKUP_DB=${POSTGRES_DB:-bookwyrm}
|
||||
filename=backup_${BACKUP_DB}_$(date +%F)
|
||||
pg_dump -U $BACKUP_DB > /backups/$filename.sql
|
5
postgres-docker/cronfile
Normal file
5
postgres-docker/cronfile
Normal file
|
@ -0,0 +1,5 @@
|
|||
0 0 * * * /backups/backup.sh
|
||||
# If uncommented, this script will weed the backups directory. It will keep the 14
|
||||
# most-recent backups, then one backup/week for the next four backups, then one
|
||||
# backup/month after that.
|
||||
# 0 1 * * * /backups/weed.sh -d 14 -w 4 -m -1 /backups
|
8
postgres-docker/tests/Dockerfile
Normal file
8
postgres-docker/tests/Dockerfile
Normal file
|
@ -0,0 +1,8 @@
|
|||
FROM postgres:latest
|
||||
|
||||
RUN apt update && apt install -y shellcheck
|
||||
|
||||
COPY ./tests/testing-entrypoint.sh /testing-entrypoint.sh
|
||||
RUN chmod u+rx,go=r /testing-entrypoint.sh
|
||||
COPY ./weed.sh /weed.sh
|
||||
RUN chmod u+rx,go=r /weed.sh
|
9
postgres-docker/tests/docker-compose.yaml
Normal file
9
postgres-docker/tests/docker-compose.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
weeding:
|
||||
build:
|
||||
# We need to build from the parent directory so we can access weed.sh
|
||||
context: ..
|
||||
dockerfile: ./tests/Dockerfile
|
||||
entrypoint: /testing-entrypoint.sh
|
426
postgres-docker/tests/testing-entrypoint.sh
Normal file
426
postgres-docker/tests/testing-entrypoint.sh
Normal file
|
@ -0,0 +1,426 @@
|
|||
#!/usr/bin/env bash
|
||||
# These tests are written to run in their own container, using the same image as the
|
||||
# actual postgres service. To run: `docker-compose up --build`
|
||||
set -euo pipefail
|
||||
|
||||
source /weed.sh
|
||||
|
||||
ERROR_COUNT=0
|
||||
FAILURE_COUNT=0
|
||||
|
||||
# compare two sorted files
|
||||
function compare_files {
|
||||
local expected="$1"
|
||||
local actual="$2"
|
||||
|
||||
declare -a missing
|
||||
local missing_index=0
|
||||
declare -a extra
|
||||
local extra_index=0
|
||||
|
||||
old_ifs="$IFS"
|
||||
IFS=$'\n'
|
||||
for line in $(diff --suppress-common-lines "$expected" "$actual"); do
|
||||
if [[ $line =~ ^\< ]]; then
|
||||
missing[missing_index]=${line:1}
|
||||
missing_index=$((missing_index + 1))
|
||||
elif [[ $line =~ ^\> ]]; then
|
||||
extra[extra_index]=${line:1}
|
||||
extra_index=$((extra_index + 1))
|
||||
fi
|
||||
done
|
||||
IFS="$old_ifs"
|
||||
|
||||
if [[ $((missing_index + extra_index)) -gt 0 ]]; then
|
||||
echo 'fail'
|
||||
|
||||
if [[ missing_index -gt 0 ]]; then
|
||||
echo -e "\\t$missing_index missing files:"
|
||||
|
||||
for index in $(seq 0 $((missing_index - 1))); do
|
||||
echo -e "\\t\\t${missing[index]}"
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ extra_index -gt 0 ]]; then
|
||||
echo -e "\\t$extra_index extra files:"
|
||||
|
||||
for index in $(seq 0 $((extra_index - 1))); do
|
||||
echo -e "\\t\\t${extra[index]}"
|
||||
done
|
||||
fi
|
||||
|
||||
FAILURE_COUNT=$((FAILURE_COUNT + 1))
|
||||
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# This is a wrapper function that handles creating a directory with test files in it,
|
||||
# running weed_directory (as the function, as a dry run, then finally actually-deleting
|
||||
# files), marking the test as failed/errored as necessary, then cleaning up after
|
||||
# itself. the first three arguments passed are the thresholds to pass into
|
||||
# weed_directory. The remaining arguments are names of files to create for the test.
|
||||
# Bash isn't great at passing arrays so instead of separately passing in a list of
|
||||
# expected results, flag the files you expect to be deleted by prepending "DELETE:"
|
||||
# to the path.
|
||||
function perform_test {
|
||||
echo "${FUNCNAME[1]}" | sed 's/^test_\(.*\)$/\1/' | tr '_\n' ' :'
|
||||
echo -en '\t'
|
||||
|
||||
local daily_threshold="$1"
|
||||
shift
|
||||
local weekly_threshold="$1"
|
||||
shift
|
||||
local monthly_threshold="$1"
|
||||
shift
|
||||
|
||||
# We might as well name the files we're using for running tests in as inflamatory a
|
||||
# way as possible to increase the chances that bad filtering by weed_directory
|
||||
# results in tests failing.
|
||||
local expected="/testing/expected/backup__2020-02-02.sql"
|
||||
local actual="/testing/backup__2020-02-02.sql.actual"
|
||||
local remaining="/testing/remainbackup__2020-02-02.sql"
|
||||
local temp="/testing/backup__2020-TE-MP.sql"
|
||||
|
||||
# create test files
|
||||
mkdir -p /testing/expected
|
||||
if [[ -e "$expected" ]]; then
|
||||
rm "$expected"
|
||||
fi
|
||||
touch "$expected"
|
||||
echo -e "$expected\\n$actual\\n$remaining\\n$temp" > "$remaining"
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
if [[ "$1" =~ ^DELETE: ]]; then
|
||||
path="/testing/${1:7}"
|
||||
echo "$path" >> "$expected"
|
||||
else
|
||||
path="/testing/$1"
|
||||
echo "$path" >> "$remaining"
|
||||
fi
|
||||
|
||||
directory=$(dirname "$path")
|
||||
mkdir -p "$directory"
|
||||
touch "$path"
|
||||
|
||||
shift
|
||||
done
|
||||
# We don't make any promise about the order files will be listed in by
|
||||
# weed_directory (it is currently reverse-chronological). We should sort the output
|
||||
# and the expected file instead of forcing tests to list files in that order (or
|
||||
# causing tests to fail if weed_directory's order changes)
|
||||
sort "$expected" > "$temp"
|
||||
mv "$temp" "$expected"
|
||||
sort "$remaining" > "$temp"
|
||||
mv "$temp" "$remaining"
|
||||
|
||||
# Part one: call the function directly
|
||||
set +e
|
||||
(
|
||||
weed_directory \
|
||||
"/testing" \
|
||||
"$daily_threshold" \
|
||||
"$weekly_threshold" \
|
||||
"$monthly_threshold" \
|
||||
2> "$temp" \
|
||||
| sort > "$actual"
|
||||
)
|
||||
local result="$?"
|
||||
set -e
|
||||
|
||||
if [[ "$result" -ne 0 ]]; then
|
||||
echo 'error'
|
||||
ERROR_COUNT=$((ERROR_COUNT + 1))
|
||||
if [[ -s "$temp" ]]; then
|
||||
echo 'stderr:'
|
||||
cat "$temp"
|
||||
fi
|
||||
else
|
||||
set +e
|
||||
compare_files "$expected" "$actual"
|
||||
result="$?"
|
||||
set -e
|
||||
|
||||
if [[ "$result" -eq 0 ]]; then
|
||||
# Part two: as a script with the dry-run flag (-l)
|
||||
set +e
|
||||
(
|
||||
"/weed.sh" \
|
||||
"-d" "$daily_threshold" \
|
||||
"-w" "$weekly_threshold" \
|
||||
"-m" "$monthly_threshold" \
|
||||
"-l" \
|
||||
"/testing" \
|
||||
2> "$temp" \
|
||||
| sort > "$actual"
|
||||
)
|
||||
local result="$?"
|
||||
set -e
|
||||
|
||||
if [[ "$result" -ne 0 ]]; then
|
||||
echo 'error'
|
||||
ERROR_COUNT=$((ERROR_COUNT + 1))
|
||||
if [[ -s "$temp" ]]; then
|
||||
echo 'stderr:'
|
||||
cat "$temp"
|
||||
fi
|
||||
else
|
||||
set +e
|
||||
compare_files "$expected" "$actual"
|
||||
result="$?"
|
||||
set -e
|
||||
|
||||
if [[ "$result" -eq 0 ]]; then
|
||||
# Part three: let's try actually deleting files
|
||||
set +e
|
||||
(
|
||||
"/weed.sh" \
|
||||
"-d" "$daily_threshold" \
|
||||
"-w" "$weekly_threshold" \
|
||||
"-m" "$monthly_threshold" \
|
||||
"/testing" \
|
||||
2> "$temp"
|
||||
)
|
||||
local result="$?"
|
||||
set -e
|
||||
|
||||
if [[ "$result" -ne 0 ]]; then
|
||||
echo 'error'
|
||||
ERROR_COUNT=$((ERROR_COUNT + 1))
|
||||
if [[ -s "$temp" ]]; then
|
||||
echo 'stderr:'
|
||||
cat "$temp"
|
||||
fi
|
||||
else
|
||||
find /testing -type f | sort > "$actual"
|
||||
|
||||
set +e
|
||||
compare_files "$remaining" "$actual"
|
||||
result="$?"
|
||||
set -e
|
||||
|
||||
if [[ "$result" -eq 0 ]]; then
|
||||
echo 'pass'
|
||||
elif [[ -s "$temp" ]]; then
|
||||
echo 'stderr:'
|
||||
cat "$temp"
|
||||
fi
|
||||
fi
|
||||
elif [[ -s "$temp" ]]; then
|
||||
echo 'stderr:'
|
||||
cat "$temp"
|
||||
fi
|
||||
fi
|
||||
elif [[ -s "$temp" ]]; then
|
||||
echo 'stderr:'
|
||||
cat "$temp"
|
||||
fi
|
||||
fi
|
||||
rm -rf /testing
|
||||
}
|
||||
|
||||
# actual tests
|
||||
function test_shellcheck {
|
||||
echo -en 'running shellcheck on scripts:\t'
|
||||
shellcheck /weed.sh
|
||||
# Test the tests too! Writing bash is hard
|
||||
shellcheck -x /testing-entrypoint.sh
|
||||
echo 'pass'
|
||||
}
|
||||
|
||||
function test_empty_directory {
|
||||
perform_test 1 2 3
|
||||
}
|
||||
|
||||
function test_single_file {
|
||||
perform_test 1 2 3 "backup__2021-02-02.sql"
|
||||
}
|
||||
|
||||
function test_keep_everything {
|
||||
perform_test -1 0 0 "backup__2021-02-02.sql" "backup__2021-02-01.sql" "backup__2021-01-31.sql"
|
||||
}
|
||||
|
||||
function test_keep_one {
|
||||
perform_test 1 0 0 "backup__2021-02-02.sql" "DELETE:backup__2021-02-01.sql" "DELETE:backup__2021-01-31.sql"
|
||||
}
|
||||
|
||||
function test_weekly {
|
||||
# weed.sh follows ISO 8601 and uses %W for day of week, so Monday is the first day
|
||||
# of the week.
|
||||
# backup__2021-03-08.sql: Monday (keep)
|
||||
# backup__2021-03-07.sql: Sunday (keep)
|
||||
# backup__2021-02-28.sql: Sunday (keep)
|
||||
# backup__2021-02-22.sql: Monday (delete)
|
||||
# backup__2021-02-20.sql: Saturday (keep)
|
||||
# backup__2021-02-16.sql: Tuesday (delete)
|
||||
# backup__2021-02-15.sql: Monday (delete)
|
||||
# backup__2021-02-14.sql: Sunday (keep)
|
||||
# backup__2020-02-14.sql: Sunday (same week of year) (keep)
|
||||
perform_test 0 -1 0 \
|
||||
"backup__2021-03-08.sql" \
|
||||
"backup__2021-03-07.sql" \
|
||||
"backup__2021-02-28.sql" \
|
||||
"DELETE:backup__2021-02-22.sql" \
|
||||
"backup__2021-02-20.sql" \
|
||||
"DELETE:backup__2021-02-16.sql" \
|
||||
"DELETE:backup__2021-02-15.sql" \
|
||||
"backup__2021-02-14.sql" \
|
||||
"backup__2020-02-14.sql"
|
||||
}
|
||||
|
||||
function test_monthly {
|
||||
perform_test 1 0 -1 \
|
||||
"backup__2021-03-08.sql" \
|
||||
"DELETE:backup__2021-03-07.sql" \
|
||||
"backup__2021-02-28.sql" \
|
||||
"DELETE:backup__2021-02-22.sql" \
|
||||
"DELETE:backup__2021-02-20.sql" \
|
||||
"DELETE:backup__2021-02-16.sql" \
|
||||
"DELETE:backup__2021-02-15.sql" \
|
||||
"DELETE:backup__2021-02-14.sql" \
|
||||
"backup__2021-01-14.sql" \
|
||||
"backup__2020-01-13.sql"
|
||||
}
|
||||
|
||||
function test_annual {
|
||||
perform_test 0 0 0 \
|
||||
"backup__2021-03-08.sql" \
|
||||
"DELETE:backup__2021-03-07.sql" \
|
||||
"DELETE:backup__2021-02-28.sql" \
|
||||
"DELETE:backup__2021-02-22.sql" \
|
||||
"DELETE:backup__2021-02-20.sql" \
|
||||
"DELETE:backup__2021-02-16.sql" \
|
||||
"DELETE:backup__2021-02-15.sql" \
|
||||
"DELETE:backup__2021-02-14.sql" \
|
||||
"DELETE:backup__2021-01-14.sql" \
|
||||
"backup__2020-01-13.sql" \
|
||||
"backup__2019-12-31.sql" \
|
||||
"DELETE:backup__2019-01-13.sql"
|
||||
}
|
||||
|
||||
# Will not pass while maxdepth is set to 1.
|
||||
function skip_test_sort_order {
|
||||
perform_test 0 0 1 \
|
||||
"a/backup__2021-03-08.sql" \
|
||||
"DELETE:b/backup__2021-03-07.sql" \
|
||||
"DELETE:a/backup__2021-02-28.sql" \
|
||||
"DELETE:b/backup__2021-02-22.sql" \
|
||||
"DELETE:a/backup__2021-02-20.sql" \
|
||||
"DELETE:b/backup__2021-02-16.sql" \
|
||||
"DELETE:a/backup__2021-02-15.sql" \
|
||||
"DELETE:b/backup__2021-02-14.sql" \
|
||||
"DELETE:a/backup__2021-01-14.sql" \
|
||||
"b/backup__2020-01-13.sql" \
|
||||
"a/backup__2019-12-31.sql" \
|
||||
"DELETE:b/backup__2019-01-13.sql"
|
||||
}
|
||||
|
||||
function test_ignore_subdirectories {
|
||||
perform_test 0 0 0 "a/backup__2021-03-08.sql" "backup__2021-03-07.sql"
|
||||
}
|
||||
|
||||
function test_standard {
|
||||
perform_test 14 4 1 \
|
||||
"backup__2021-03-08.sql" \
|
||||
"backup__2021-03-07.sql" \
|
||||
"backup__2021-03-06.sql" \
|
||||
"backup__2021-03-05.sql" \
|
||||
"backup__2021-03-04.sql" \
|
||||
"backup__2021-03-03.sql" \
|
||||
"backup__2021-03-02.sql" \
|
||||
"backup__2021-03-01.sql" \
|
||||
"backup__2021-02-28.sql" \
|
||||
"backup__2021-02-27.sql" \
|
||||
"backup__2021-02-26.sql" \
|
||||
"backup__2021-02-25.sql" \
|
||||
"backup__2021-02-24.sql" \
|
||||
"backup__2021-02-23.sql" \
|
||||
"DELETE:backup__2021-02-22.sql" \
|
||||
"backup__2021-02-21.sql" \
|
||||
"DELETE:backup__2021-02-20.sql" \
|
||||
"DELETE:backup__2021-02-19.sql" \
|
||||
"DELETE:backup__2021-02-18.sql" \
|
||||
"DELETE:backup__2021-02-17.sql" \
|
||||
"DELETE:backup__2021-02-16.sql" \
|
||||
"DELETE:backup__2021-02-15.sql" \
|
||||
"backup__2021-02-14.sql" \
|
||||
"DELETE:backup__2021-02-13.sql" \
|
||||
"DELETE:backup__2021-02-12.sql" \
|
||||
"DELETE:backup__2021-02-11.sql" \
|
||||
"DELETE:backup__2021-02-10.sql" \
|
||||
"DELETE:backup__2021-02-09.sql" \
|
||||
"DELETE:backup__2021-02-08.sql" \
|
||||
"backup__2021-02-07.sql" \
|
||||
"DELETE:backup__2021-02-06.sql" \
|
||||
"DELETE:backup__2021-02-05.sql" \
|
||||
"DELETE:backup__2021-02-04.sql" \
|
||||
"DELETE:backup__2021-02-03.sql" \
|
||||
"DELETE:backup__2021-02-02.sql" \
|
||||
"DELETE:backup__2021-02-01.sql" \
|
||||
"backup__2021-01-31.sql" \
|
||||
"DELETE:backup__2021-01-30.sql" \
|
||||
"DELETE:backup__2021-01-29.sql" \
|
||||
"DELETE:backup__2021-01-28.sql" \
|
||||
"DELETE:backup__2021-01-27.sql" \
|
||||
"DELETE:backup__2021-01-26.sql" \
|
||||
"DELETE:backup__2021-01-25.sql" \
|
||||
"DELETE:backup__2021-01-24.sql" \
|
||||
"DELETE:backup__2021-01-23.sql" \
|
||||
"DELETE:backup__2021-01-22.sql" \
|
||||
"DELETE:backup__2021-01-21.sql" \
|
||||
"DELETE:backup__2021-01-20.sql" \
|
||||
"DELETE:backup__2021-01-19.sql" \
|
||||
"DELETE:backup__2021-01-18.sql" \
|
||||
"DELETE:backup__2021-01-17.sql" \
|
||||
"DELETE:backup__2021-01-16.sql" \
|
||||
"DELETE:backup__2021-01-15.sql" \
|
||||
"DELETE:backup__2021-01-14.sql" \
|
||||
"DELETE:backup__2021-01-13.sql" \
|
||||
"DELETE:backup__2021-01-12.sql" \
|
||||
"DELETE:backup__2021-01-11.sql" \
|
||||
"DELETE:backup__2021-01-10.sql" \
|
||||
"DELETE:backup__2021-01-09.sql" \
|
||||
"DELETE:backup__2021-01-08.sql" \
|
||||
"DELETE:backup__2021-01-07.sql" \
|
||||
"DELETE:backup__2021-01-06.sql" \
|
||||
"DELETE:backup__2021-01-05.sql" \
|
||||
"DELETE:backup__2021-01-04.sql" \
|
||||
"DELETE:backup__2021-01-03.sql" \
|
||||
"DELETE:backup__2021-01-02.sql" \
|
||||
"DELETE:backup__2021-01-01.sql" \
|
||||
"backup__2020-12-31.sql"
|
||||
}
|
||||
|
||||
function tests {
|
||||
# Run all functions named test_... in this file in definition order
|
||||
count=0
|
||||
while read -r test; do
|
||||
eval "$test"
|
||||
count=$((count + 1))
|
||||
done < <(awk '$1 == "function" && $2 ~ "^test_" {print $2}' "${BASH_SOURCE[0]}")
|
||||
|
||||
echo "------------------"
|
||||
echo "$((count - ERROR_COUNT - FAILURE_COUNT))/$count tests passed"
|
||||
if [[ $((FAILURE_COUNT + ERROR_COUNT)) -gt 0 ]]; then
|
||||
if [[ "$ERROR_COUNT" -gt 0 ]]; then
|
||||
echo "$ERROR_COUNT tests errored"
|
||||
fi
|
||||
|
||||
if [[ "$FAILURE_COUNT" -gt 0 ]]; then
|
||||
echo "$FAILURE_COUNT tests failed"
|
||||
fi
|
||||
echo 'failure'
|
||||
else
|
||||
echo 'success'
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "${BASH_SOURCE[0]}" -ef "$0" ]; then
|
||||
trap 'echo -e "\\terror (in ${FUNCNAME[1]} ${BASH_SOURCE[1]}:${BASH_LINENO[1]})\naborting"' EXIT
|
||||
tests
|
||||
trap - EXIT
|
||||
|
||||
if [[ $((FAILURE_COUNT + ERROR_COUNT)) -gt 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
185
postgres-docker/weed.sh
Executable file
185
postgres-docker/weed.sh
Executable file
|
@ -0,0 +1,185 @@
|
|||
#!/usr/bin/env bash
|
||||
# Weed old backups. See HELP for details.
|
||||
# Tests for this script can be found in:
|
||||
# bookwyrm/postgres-docker/tests/testing-entrypoint.sh
|
||||
set -euo pipefail
|
||||
|
||||
DAILY_THRESHOLD=14
|
||||
WEEKLY_THRESHOLD=4
|
||||
MONTHLY_THRESHOLD=-1
|
||||
|
||||
HELP="\
|
||||
NAME
|
||||
|
||||
weed -- remove old backups from the backups directory
|
||||
|
||||
SYNOPSIS
|
||||
|
||||
weed.sh [-d threshold] [-w threshold] [-m threshold] [-l] backup_directory
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
Reduce the number of backups by only keeping a certain number of daily backups before \
|
||||
reducing the frequency to weekly, monthly, and then finaly annually.
|
||||
|
||||
For each threshold, setting it to 0 will skip that frequency (e.g., setting weekly to \
|
||||
0 will mean backups go directly from daily to monthly), and setting it to -1 will \
|
||||
never reduce backups to a lower frequency (e.g., setting weekly to -1 will mean \
|
||||
backups never are reduced to monthly backups).
|
||||
|
||||
-d threshold: Store this many daily backups before switching to weekly \
|
||||
(default $DAILY_THRESHOLD)
|
||||
|
||||
-w threshold: Store this many weekly backups before switching to monthly \
|
||||
(default $WEEKLY_THRESHOLD)
|
||||
|
||||
-m threshold: Store this many monthly backups before switching to annual \
|
||||
(default $MONTHLY_THRESHOLD)
|
||||
|
||||
-l: Dry run. List the files that would be deleted.
|
||||
"
|
||||
|
||||
# fail <message>
|
||||
# Write a message to stderr then exit
|
||||
function fail {
|
||||
echo -e "weed: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# parse_threshold <hopefully-a-number>
|
||||
# Thresholds should be a non-negative number (or -1 for no threshold)
|
||||
function parse_threshold {
|
||||
if [[ ! $1 =~ ^-?[0-9]+$ || $1 -lt -1 ]]; then
|
||||
fail "Invalid threshold: $1"
|
||||
fi
|
||||
|
||||
echo "$1"
|
||||
}
|
||||
|
||||
# weed_directory <directory> <daily_threshold> <weekly_threshold> <monthly_threshold>
|
||||
# List files to be deleted
|
||||
function weed_directory {
|
||||
local directory=$1
|
||||
local daily_threshold=$2
|
||||
local weekly_threshold=$3
|
||||
local monthly_threshold=$4
|
||||
|
||||
local count=0
|
||||
local thresholds=("$daily_threshold" "$weekly_threshold" "$monthly_threshold" -1)
|
||||
local date_formats=("%Y %m %d" "%Y %W" "%Y %m" "%Y")
|
||||
local index=0
|
||||
local last_date=""
|
||||
local last_format=""
|
||||
local date=""
|
||||
|
||||
# We would like to loop through all the backup files in the backup directory in
|
||||
# reverse-chronological order. Bookwyrm backup files are named such that
|
||||
# chronological and lexical order match. So we should be safe to find all backup
|
||||
# files and reverse sort them. We should be terrified of deleting a backup an
|
||||
# instance maintainer wants to keep, so we will be extra cautious. We're ignoring
|
||||
# any subdirectories in case someone moves an important backup into a meaningfully
|
||||
# named folder. We are also prepending the date to the path before sorting so that
|
||||
# the ordering would be correct even if we were allowed to find backup files in
|
||||
# subdirectories where chronological and lexical order don't match.
|
||||
for date_file in $(
|
||||
find "$directory" \
|
||||
-maxdepth 1 \
|
||||
-name 'backup__[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\.sql' \
|
||||
| sed 's/\(^.*backup__\([0-9-]*\)\.sql$\)/\2\1/' \
|
||||
| sort --reverse
|
||||
); do
|
||||
date="${date_file:0:10}"
|
||||
file="${date_file:10}"
|
||||
date="${date_file:0:10}"
|
||||
file="${date_file:10}"
|
||||
|
||||
# We can't fall off the end because we set annual backups to unlimited. It seems
|
||||
# unlikely that instance maintainers would have enough concern about the space
|
||||
# one backup/year takes to warrant supporting a cutoff.
|
||||
while [[ ${thresholds[index]} -ne -1 && $count -ge ${thresholds[index]} ]]; do
|
||||
index=$((index + 1))
|
||||
last_format=""
|
||||
count=0
|
||||
done
|
||||
|
||||
if [[ -z "$last_date" ]]; then
|
||||
count=$((count + 1))
|
||||
last_date=$date
|
||||
last_format=""
|
||||
else
|
||||
if [[ -z "$last_format" ]]; then
|
||||
last_format=$(date --date="$last_date" +"${date_formats[index]}")
|
||||
fi
|
||||
|
||||
format=$(date --date="$date" +"${date_formats[index]}")
|
||||
|
||||
if [[ "$format" == "$last_format" ]]; then
|
||||
echo "$file"
|
||||
else
|
||||
count=$((count + 1))
|
||||
last_date="$date"
|
||||
last_format="$format"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function main(){
|
||||
local daily_threshold=$DAILY_THRESHOLD
|
||||
local weekly_threshold=$WEEKLY_THRESHOLD
|
||||
local monthly_threshold=$MONTHLY_THRESHOLD
|
||||
local dry_run=""
|
||||
|
||||
while getopts "hd:w:m:l" OPTION; do
|
||||
case "$OPTION" in
|
||||
h)
|
||||
echo "$HELP";
|
||||
exit
|
||||
;;
|
||||
d)
|
||||
daily_threshold=$(parse_threshold "$OPTARG")
|
||||
;;
|
||||
w)
|
||||
weekly_threshold=$(parse_threshold "$OPTARG")
|
||||
;;
|
||||
m)
|
||||
monthly_threshold=$(parse_threshold "$OPTARG")
|
||||
;;
|
||||
l)
|
||||
dry_run="true"
|
||||
;;
|
||||
:)
|
||||
fail "Missing argument for '$OPTARG'. To see help run: weed.sh -h"
|
||||
;;
|
||||
?)
|
||||
fail "Unknown option '$OPTION'. To see help run: weed.sh -h"
|
||||
esac
|
||||
done
|
||||
shift "$((OPTIND - 1))"
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
fail "expected a single argument, directory"
|
||||
fi
|
||||
|
||||
local count=0
|
||||
for file in $(weed_directory "$1" "$daily_threshold" "$weekly_threshold" "$monthly_threshold"); do
|
||||
count=$((count + 1))
|
||||
if [[ -n "$dry_run" ]]; then
|
||||
echo "$file"
|
||||
else
|
||||
echo "deleting $file" >&2
|
||||
rm "$file"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -n "$dry_run" ]]; then
|
||||
optional_words="would be "
|
||||
else
|
||||
optional_words=""
|
||||
fi
|
||||
echo -e "$count files ${optional_words}deleted" >&2
|
||||
}
|
||||
|
||||
if [ "${BASH_SOURCE[0]}" -ef "$0" ]; then
|
||||
main "$@"
|
||||
fi
|
|
@ -9,8 +9,10 @@ django-model-utils==4.0.0
|
|||
django-sass-processor==1.0.1
|
||||
environs==9.3.4
|
||||
flower==1.0.0
|
||||
gunicorn==20.0.4
|
||||
libsass==0.21.0
|
||||
Markdown==3.3.3
|
||||
packaging==21.3
|
||||
Pillow>=9.0.0
|
||||
psycopg2==2.8.4
|
||||
pycryptodome==3.9.4
|
||||
|
@ -27,12 +29,3 @@ opentelemetry-sdk==1.8.0
|
|||
opentelemetry-exporter-otlp-proto-grpc==1.8.0
|
||||
opentelemetry-instrumentation-django==0.27b0
|
||||
opentelemetry-instrumentation-celery==0.27b0
|
||||
|
||||
# Dev
|
||||
pytest-django==4.1.0
|
||||
pytest==6.1.2
|
||||
pytest-cov==2.10.1
|
||||
pytest-env==0.6.2
|
||||
pytest-xdist==2.3.0
|
||||
pytidylib==0.3.2
|
||||
pylint==2.14.0
|
||||
|
|
Loading…
Reference in a new issue