wbnews 1.49.10__tar.gz → 1.59.6rc0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/.gitignore +0 -1
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/PKG-INFO +1 -2
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/pyproject.toml +0 -1
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/filters/news.py +3 -1
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/handlers/news.py +7 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/parsers/emails/news.py +0 -9
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/parsers/emails/utils.py +2 -2
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/parsers/rss/news.py +0 -7
- wbnews-1.59.6rc0/wbnews/locale/de/LC_MESSAGES/django.mo +0 -0
- wbnews-1.59.6rc0/wbnews/locale/de/LC_MESSAGES/django.po +166 -0
- wbnews-1.59.6rc0/wbnews/locale/de/LC_MESSAGES/django.po.translated +173 -0
- wbnews-1.59.6rc0/wbnews/locale/en/LC_MESSAGES/django.mo +0 -0
- wbnews-1.59.6rc0/wbnews/locale/en/LC_MESSAGES/django.po +159 -0
- wbnews-1.59.6rc0/wbnews/locale/fr/LC_MESSAGES/django.mo +0 -0
- wbnews-1.59.6rc0/wbnews/locale/fr/LC_MESSAGES/django.po +162 -0
- wbnews-1.59.6rc0/wbnews/migrations/0014_newsrelationship_unique_news_relationship.py +27 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/models/llm/cleaned_news.py +26 -23
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/models/news.py +4 -2
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/models/relationships.py +3 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tasks.py +2 -1
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/parsers/test_emails.py +6 -6
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/test_models.py +22 -12
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/utils.py +1 -1
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/display.py +2 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/endpoints.py +3 -10
- wbnews-1.49.10/wbnews/locale/de/LC_MESSAGES/django.po +0 -112
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/.coveragerc +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/admin.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/apps.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/factories.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/filters/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/fixtures/wbnews.yaml +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/backends/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/backends/news.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/handlers/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/parsers/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/parsers/emails/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/import_export/parsers/rss/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0001_initial_squashed_0005_alter_news_import_source.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0006_alter_news_language.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0007_auto_20240103_0955.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0008_alter_news_language.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0009_newsrelationship_analysis_newsrelationship_sentiment.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0010_newsrelationship_important.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0011_newsrelationship_content_object_repr.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0012_alter_news_unique_together_news_identifier_and_more.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/0013_alter_news_datetime.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/migrations/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/models/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/models/sources.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/models/utils.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/serializers.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/signals.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/conftest.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/parsers/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/test_utils.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/tests/tests.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/urls.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/__init__.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/buttons.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/menu.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/titles.py +0 -0
- {wbnews-1.49.10 → wbnews-1.59.6rc0}/wbnews/viewsets/views.py +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wbnews
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.59.6rc0
|
|
4
4
|
Summary: A workbench module for managing news.
|
|
5
5
|
Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
|
|
6
6
|
Requires-Dist: feedparser==6.*
|
|
7
|
-
Requires-Dist: langdetect==1.*
|
|
8
7
|
Requires-Dist: wbcore
|
|
@@ -4,7 +4,7 @@ from wbnews.models import News, NewsRelationship, NewsSource
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class NewsFilterSet(wb_filters.FilterSet):
|
|
7
|
-
datetime = wb_filters.DateTimeRangeFilter(
|
|
7
|
+
datetime = wb_filters.DateTimeRangeFilter()
|
|
8
8
|
|
|
9
9
|
class Meta:
|
|
10
10
|
model = News
|
|
@@ -24,6 +24,8 @@ class NewsRelationshipFilterSet(wb_filters.FilterSet):
|
|
|
24
24
|
label_key=NewsSource.get_representation_label_key(),
|
|
25
25
|
method="filter_source",
|
|
26
26
|
)
|
|
27
|
+
content_type = wb_filters.CharFilter(method="fake_filter", hidden=True)
|
|
28
|
+
object_id = wb_filters.CharFilter(method="fake_filter", hidden=True)
|
|
27
29
|
|
|
28
30
|
def filter_datetime(self, queryset, name, value):
|
|
29
31
|
if value:
|
|
@@ -31,6 +31,13 @@ class NewsImportHandler(ImportExportHandler):
|
|
|
31
31
|
else:
|
|
32
32
|
data["guid"] = data["default_guid"]
|
|
33
33
|
|
|
34
|
+
# constrained fields to the max allowed size
|
|
35
|
+
if "title" in data:
|
|
36
|
+
data["title"] = data["title"][:500]
|
|
37
|
+
|
|
38
|
+
if "link" in data:
|
|
39
|
+
data["link"] = data["link"][:1024]
|
|
40
|
+
|
|
34
41
|
def _get_instance(self, data: Dict[str, Any], history: Optional[models.QuerySet] = None, **kwargs) -> models.Model:
|
|
35
42
|
default_guid = data.pop("default_guid")
|
|
36
43
|
instance = None
|
|
@@ -3,7 +3,6 @@ from contextlib import suppress
|
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
|
|
5
5
|
from django.conf.global_settings import LANGUAGES
|
|
6
|
-
from langdetect import detect, lang_detect_exception
|
|
7
6
|
from wbcore.utils.importlib import import_from_dotted_path
|
|
8
7
|
|
|
9
8
|
from .utils import EmlContentParser
|
|
@@ -37,12 +36,4 @@ def parse(import_source):
|
|
|
37
36
|
"source": parser.source,
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
# Language
|
|
41
|
-
try:
|
|
42
|
-
language = detect(data["description"])
|
|
43
|
-
if language in languages_dict:
|
|
44
|
-
data["language"] = language
|
|
45
|
-
except lang_detect_exception.LangDetectException:
|
|
46
|
-
pass
|
|
47
|
-
|
|
48
39
|
return {"data": [data]}
|
|
@@ -22,10 +22,10 @@ class EmlContentParser:
|
|
|
22
22
|
html = self.get_html(self.message)
|
|
23
23
|
return html.decode(self.encoding) if html else None
|
|
24
24
|
|
|
25
|
-
def get_html(
|
|
25
|
+
def get_html(self, parsed: message.Message) -> bytes | None:
|
|
26
26
|
if parsed.is_multipart():
|
|
27
27
|
for item in parsed.get_payload(): # type:message.Message
|
|
28
|
-
if html :=
|
|
28
|
+
if html := self.get_html(item):
|
|
29
29
|
return html
|
|
30
30
|
elif parsed.get_content_type() == "text/html":
|
|
31
31
|
return parsed.get_payload(decode=True)
|
|
@@ -4,7 +4,6 @@ from time import mktime
|
|
|
4
4
|
|
|
5
5
|
from django.conf.global_settings import LANGUAGES
|
|
6
6
|
from django.utils.html import strip_tags
|
|
7
|
-
from langdetect import detect, lang_detect_exception
|
|
8
7
|
|
|
9
8
|
languages_dict = dict(LANGUAGES)
|
|
10
9
|
|
|
@@ -43,12 +42,6 @@ def parse(import_source):
|
|
|
43
42
|
"link": entry.get("link", None),
|
|
44
43
|
"guid": entry.get("id", None),
|
|
45
44
|
}
|
|
46
|
-
try:
|
|
47
|
-
language = detect(entry["summary"])
|
|
48
|
-
if language in languages_dict:
|
|
49
|
-
res["language"] = language
|
|
50
|
-
except lang_detect_exception.LangDetectException:
|
|
51
|
-
pass
|
|
52
45
|
if published_parsed := entry.get("published_parsed", None):
|
|
53
46
|
updated = datetime.fromtimestamp(mktime(tuple(published_parsed)))
|
|
54
47
|
res["datetime"] = updated.strftime("%Y-%m-%dT%H:%M:%S")
|
|
Binary file
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
5
|
+
#
|
|
6
|
+
# Translators:
|
|
7
|
+
# Kevin Decoster, 2025
|
|
8
|
+
#
|
|
9
|
+
#, fuzzy
|
|
10
|
+
msgid ""
|
|
11
|
+
msgstr ""
|
|
12
|
+
"Project-Id-Version: PACKAGE VERSION\n"
|
|
13
|
+
"Report-Msgid-Bugs-To: \n"
|
|
14
|
+
"POT-Creation-Date: 2025-05-30 11:37+0200\n"
|
|
15
|
+
"PO-Revision-Date: 2025-05-30 09:40+0000\n"
|
|
16
|
+
"Last-Translator: Kevin Decoster, 2025\n"
|
|
17
|
+
"Language-Team: German (https://app.transifex.com/stainly/teams/171242/de/)\n"
|
|
18
|
+
"MIME-Version: 1.0\n"
|
|
19
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
20
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
21
|
+
"Language: de\n"
|
|
22
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
23
|
+
|
|
24
|
+
#: models/news.py:51 viewsets/display.py:54 viewsets/display.py:100
|
|
25
|
+
#: viewsets/display.py:141
|
|
26
|
+
msgid "Datetime"
|
|
27
|
+
msgstr "Zeitpunkt"
|
|
28
|
+
|
|
29
|
+
#: models/news.py:52 serializers.py:21 serializers.py:76
|
|
30
|
+
#: viewsets/display.py:20 viewsets/display.py:55 viewsets/display.py:102
|
|
31
|
+
#: viewsets/display.py:142
|
|
32
|
+
msgid "Title"
|
|
33
|
+
msgstr "Titel"
|
|
34
|
+
|
|
35
|
+
#: models/news.py:54 serializers.py:24 serializers.py:77
|
|
36
|
+
#: viewsets/display.py:23 viewsets/display.py:57 viewsets/display.py:104
|
|
37
|
+
#: viewsets/display.py:143
|
|
38
|
+
msgid "Description"
|
|
39
|
+
msgstr "Beschreibung"
|
|
40
|
+
|
|
41
|
+
#: models/news.py:55 serializers.py:78 viewsets/display.py:56
|
|
42
|
+
#: viewsets/display.py:103
|
|
43
|
+
msgid "Summary"
|
|
44
|
+
msgstr "Zusammenfassung"
|
|
45
|
+
|
|
46
|
+
#: models/news.py:56 viewsets/display.py:60 viewsets/display.py:144
|
|
47
|
+
msgid "Language"
|
|
48
|
+
msgstr "Sprache"
|
|
49
|
+
|
|
50
|
+
#: models/news.py:57
|
|
51
|
+
msgid "Link"
|
|
52
|
+
msgstr "Link"
|
|
53
|
+
|
|
54
|
+
#: models/news.py:61 viewsets/display.py:59 viewsets/display.py:106
|
|
55
|
+
msgid "Source"
|
|
56
|
+
msgstr "Quelle"
|
|
57
|
+
|
|
58
|
+
#: models/news.py:64
|
|
59
|
+
msgid "Mark as duplicate"
|
|
60
|
+
msgstr ""
|
|
61
|
+
|
|
62
|
+
#: models/relationships.py:9
|
|
63
|
+
msgid "Positive"
|
|
64
|
+
msgstr ""
|
|
65
|
+
|
|
66
|
+
#: models/relationships.py:10
|
|
67
|
+
msgid "Slightly Positive"
|
|
68
|
+
msgstr ""
|
|
69
|
+
|
|
70
|
+
#: models/relationships.py:11
|
|
71
|
+
msgid "Slightly Negative"
|
|
72
|
+
msgstr ""
|
|
73
|
+
|
|
74
|
+
#: models/relationships.py:12
|
|
75
|
+
msgid "Negative"
|
|
76
|
+
msgstr ""
|
|
77
|
+
|
|
78
|
+
#: serializers.py:22
|
|
79
|
+
msgid "Identifier"
|
|
80
|
+
msgstr "Identifikator"
|
|
81
|
+
|
|
82
|
+
#: serializers.py:25 viewsets/display.py:22
|
|
83
|
+
msgid "Author"
|
|
84
|
+
msgstr "Autor*in"
|
|
85
|
+
|
|
86
|
+
#: serializers.py:26
|
|
87
|
+
msgid "Updated"
|
|
88
|
+
msgstr "Geändert"
|
|
89
|
+
|
|
90
|
+
#: serializers.py:79
|
|
91
|
+
msgid "Date"
|
|
92
|
+
msgstr ""
|
|
93
|
+
|
|
94
|
+
#: serializers.py:92 viewsets/menu.py:6 viewsets/titles.py:24
|
|
95
|
+
msgid "News"
|
|
96
|
+
msgstr "Neuigkeiten"
|
|
97
|
+
|
|
98
|
+
#: viewsets/buttons.py:14
|
|
99
|
+
msgid "Open News"
|
|
100
|
+
msgstr "Neuigkeiten Öffnen"
|
|
101
|
+
|
|
102
|
+
#: viewsets/buttons.py:21 viewsets/buttons.py:22 viewsets/buttons.py:24
|
|
103
|
+
msgid "Reset relationships"
|
|
104
|
+
msgstr ""
|
|
105
|
+
|
|
106
|
+
#: viewsets/display.py:21
|
|
107
|
+
msgid "RSS feed"
|
|
108
|
+
msgstr "RSS Feed"
|
|
109
|
+
|
|
110
|
+
#: viewsets/display.py:24
|
|
111
|
+
msgid "Last Update"
|
|
112
|
+
msgstr "Letztes Aktualisierung"
|
|
113
|
+
|
|
114
|
+
#: viewsets/display.py:61
|
|
115
|
+
msgid "Image"
|
|
116
|
+
msgstr "Bild"
|
|
117
|
+
|
|
118
|
+
#: viewsets/display.py:93
|
|
119
|
+
msgid "Linked Object"
|
|
120
|
+
msgstr ""
|
|
121
|
+
|
|
122
|
+
#: viewsets/display.py:101
|
|
123
|
+
msgid "Analysis"
|
|
124
|
+
msgstr ""
|
|
125
|
+
|
|
126
|
+
#: viewsets/display.py:105
|
|
127
|
+
msgid "Important"
|
|
128
|
+
msgstr ""
|
|
129
|
+
|
|
130
|
+
#: viewsets/menu.py:11
|
|
131
|
+
msgid "News Relationships"
|
|
132
|
+
msgstr ""
|
|
133
|
+
|
|
134
|
+
#: viewsets/menu.py:17 viewsets/titles.py:9
|
|
135
|
+
msgid "Sources"
|
|
136
|
+
msgstr "Quellen"
|
|
137
|
+
|
|
138
|
+
#: viewsets/menu.py:23
|
|
139
|
+
msgid "Create Source"
|
|
140
|
+
msgstr "Quelle Erstellen"
|
|
141
|
+
|
|
142
|
+
#: viewsets/titles.py:13
|
|
143
|
+
#, python-brace-format
|
|
144
|
+
msgid "Source: {source}"
|
|
145
|
+
msgstr "Quelle: {source}"
|
|
146
|
+
|
|
147
|
+
#: viewsets/titles.py:14
|
|
148
|
+
msgid "News Source"
|
|
149
|
+
msgstr ""
|
|
150
|
+
|
|
151
|
+
#: viewsets/titles.py:19
|
|
152
|
+
msgid "News Flow"
|
|
153
|
+
msgstr "Nachrichtenfluss"
|
|
154
|
+
|
|
155
|
+
#: viewsets/titles.py:30
|
|
156
|
+
#, python-brace-format
|
|
157
|
+
msgid "News from {source}"
|
|
158
|
+
msgstr "Neuigkeiten von {source}"
|
|
159
|
+
|
|
160
|
+
#: viewsets/titles.py:36
|
|
161
|
+
msgid "News Article for {}"
|
|
162
|
+
msgstr ""
|
|
163
|
+
|
|
164
|
+
#: viewsets/titles.py:37 viewsets/titles.py:44
|
|
165
|
+
msgid "News Article"
|
|
166
|
+
msgstr ""
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
5
|
+
#
|
|
6
|
+
msgid ""
|
|
7
|
+
msgstr ""
|
|
8
|
+
"Project-Id-Version: \n"
|
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
|
10
|
+
"POT-Creation-Date: 2025-05-29 13:33+0200\n"
|
|
11
|
+
"PO-Revision-Date: 2022-10-17 14:51+0200\n"
|
|
12
|
+
"Last-Translator: \n"
|
|
13
|
+
"Language-Team: \n"
|
|
14
|
+
"Language: de\n"
|
|
15
|
+
"MIME-Version: 1.0\n"
|
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
18
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
19
|
+
"X-Generator: Poedit 3.1.1\n"
|
|
20
|
+
|
|
21
|
+
#: wbnews/models/news.py:51 wbnews/viewsets/display.py:54
|
|
22
|
+
#: wbnews/viewsets/display.py:100 wbnews/viewsets/display.py:141
|
|
23
|
+
msgid "Datetime"
|
|
24
|
+
msgstr "Zeitpunkt"
|
|
25
|
+
|
|
26
|
+
#: wbnews/models/news.py:52 wbnews/serializers.py:21 wbnews/serializers.py:76
|
|
27
|
+
#: wbnews/viewsets/display.py:20 wbnews/viewsets/display.py:55
|
|
28
|
+
#: wbnews/viewsets/display.py:102 wbnews/viewsets/display.py:142
|
|
29
|
+
msgid "Title"
|
|
30
|
+
msgstr "Titel"
|
|
31
|
+
|
|
32
|
+
#: wbnews/models/news.py:54 wbnews/serializers.py:24 wbnews/serializers.py:77
|
|
33
|
+
#: wbnews/viewsets/display.py:23 wbnews/viewsets/display.py:57
|
|
34
|
+
#: wbnews/viewsets/display.py:104 wbnews/viewsets/display.py:143
|
|
35
|
+
msgid "Description"
|
|
36
|
+
msgstr "Beschreibung"
|
|
37
|
+
|
|
38
|
+
#: wbnews/models/news.py:55 wbnews/serializers.py:78
|
|
39
|
+
#: wbnews/viewsets/display.py:56 wbnews/viewsets/display.py:103
|
|
40
|
+
msgid "Summary"
|
|
41
|
+
msgstr "Zusammenfassung"
|
|
42
|
+
|
|
43
|
+
#: wbnews/models/news.py:56 wbnews/viewsets/display.py:60
|
|
44
|
+
#: wbnews/viewsets/display.py:144
|
|
45
|
+
msgid "Language"
|
|
46
|
+
msgstr "Sprache"
|
|
47
|
+
|
|
48
|
+
#: wbnews/models/news.py:57
|
|
49
|
+
msgid "Link"
|
|
50
|
+
msgstr "Link"
|
|
51
|
+
|
|
52
|
+
#: wbnews/models/news.py:61 wbnews/viewsets/display.py:59
|
|
53
|
+
#: wbnews/viewsets/display.py:106
|
|
54
|
+
msgid "Source"
|
|
55
|
+
msgstr "Quelle"
|
|
56
|
+
|
|
57
|
+
#: wbnews/models/news.py:64
|
|
58
|
+
msgid "Mark as duplicate"
|
|
59
|
+
msgstr ""
|
|
60
|
+
|
|
61
|
+
#: wbnews/models/relationships.py:9
|
|
62
|
+
msgid "Positive"
|
|
63
|
+
msgstr ""
|
|
64
|
+
|
|
65
|
+
#: wbnews/models/relationships.py:10
|
|
66
|
+
msgid "Slightly Positive"
|
|
67
|
+
msgstr ""
|
|
68
|
+
|
|
69
|
+
#: wbnews/models/relationships.py:11
|
|
70
|
+
msgid "Slightly Negative"
|
|
71
|
+
msgstr ""
|
|
72
|
+
|
|
73
|
+
#: wbnews/models/relationships.py:12
|
|
74
|
+
msgid "Negative"
|
|
75
|
+
msgstr ""
|
|
76
|
+
|
|
77
|
+
#: wbnews/serializers.py:22
|
|
78
|
+
msgid "Identifier"
|
|
79
|
+
msgstr "Identifikator"
|
|
80
|
+
|
|
81
|
+
#: wbnews/serializers.py:25 wbnews/viewsets/display.py:22
|
|
82
|
+
msgid "Author"
|
|
83
|
+
msgstr "Autor*in"
|
|
84
|
+
|
|
85
|
+
#: wbnews/serializers.py:26
|
|
86
|
+
msgid "Updated"
|
|
87
|
+
msgstr "Geändert"
|
|
88
|
+
|
|
89
|
+
#: wbnews/serializers.py:79
|
|
90
|
+
#, fuzzy
|
|
91
|
+
#| msgid "Datetime"
|
|
92
|
+
msgid "Date"
|
|
93
|
+
msgstr "Zeitpunkt"
|
|
94
|
+
|
|
95
|
+
#: wbnews/serializers.py:92 wbnews/viewsets/menu.py:6
|
|
96
|
+
#: wbnews/viewsets/titles.py:24 wbnews_config/menu.py:5
|
|
97
|
+
msgid "News"
|
|
98
|
+
msgstr "Neuigkeiten"
|
|
99
|
+
|
|
100
|
+
#: wbnews/viewsets/buttons.py:14
|
|
101
|
+
msgid "Open News"
|
|
102
|
+
msgstr "Neuigkeiten Öffnen"
|
|
103
|
+
|
|
104
|
+
#: wbnews/viewsets/buttons.py:21 wbnews/viewsets/buttons.py:22
|
|
105
|
+
#: wbnews/viewsets/buttons.py:24
|
|
106
|
+
msgid "Reset relationships"
|
|
107
|
+
msgstr ""
|
|
108
|
+
|
|
109
|
+
#: wbnews/viewsets/display.py:21
|
|
110
|
+
msgid "RSS feed"
|
|
111
|
+
msgstr "RSS Feed"
|
|
112
|
+
|
|
113
|
+
#: wbnews/viewsets/display.py:24
|
|
114
|
+
msgid "Last Update"
|
|
115
|
+
msgstr "Letztes Aktualisierung"
|
|
116
|
+
|
|
117
|
+
#: wbnews/viewsets/display.py:61
|
|
118
|
+
msgid "Image"
|
|
119
|
+
msgstr "Bild"
|
|
120
|
+
|
|
121
|
+
#: wbnews/viewsets/display.py:93
|
|
122
|
+
msgid "Linked Object"
|
|
123
|
+
msgstr ""
|
|
124
|
+
|
|
125
|
+
#: wbnews/viewsets/display.py:101
|
|
126
|
+
msgid "Analysis"
|
|
127
|
+
msgstr ""
|
|
128
|
+
|
|
129
|
+
#: wbnews/viewsets/display.py:105
|
|
130
|
+
msgid "Important"
|
|
131
|
+
msgstr ""
|
|
132
|
+
|
|
133
|
+
#: wbnews/viewsets/menu.py:11
|
|
134
|
+
msgid "News Relationships"
|
|
135
|
+
msgstr ""
|
|
136
|
+
|
|
137
|
+
#: wbnews/viewsets/menu.py:17 wbnews/viewsets/titles.py:9
|
|
138
|
+
msgid "Sources"
|
|
139
|
+
msgstr "Quellen"
|
|
140
|
+
|
|
141
|
+
#: wbnews/viewsets/menu.py:23
|
|
142
|
+
msgid "Create Source"
|
|
143
|
+
msgstr "Quelle Erstellen"
|
|
144
|
+
|
|
145
|
+
#: wbnews/viewsets/titles.py:13
|
|
146
|
+
#, python-brace-format
|
|
147
|
+
msgid "Source: {source}"
|
|
148
|
+
msgstr "Quelle: {source}"
|
|
149
|
+
|
|
150
|
+
#: wbnews/viewsets/titles.py:14
|
|
151
|
+
#, fuzzy
|
|
152
|
+
#| msgid "Source"
|
|
153
|
+
msgid "News Source"
|
|
154
|
+
msgstr "Quelle"
|
|
155
|
+
|
|
156
|
+
#: wbnews/viewsets/titles.py:19
|
|
157
|
+
msgid "News Flow"
|
|
158
|
+
msgstr "Nachrichtenfluss"
|
|
159
|
+
|
|
160
|
+
#: wbnews/viewsets/titles.py:30
|
|
161
|
+
#, python-brace-format
|
|
162
|
+
msgid "News from {source}"
|
|
163
|
+
msgstr "Neuigkeiten von {source}"
|
|
164
|
+
|
|
165
|
+
#: wbnews/viewsets/titles.py:36
|
|
166
|
+
msgid "News Article for {}"
|
|
167
|
+
msgstr ""
|
|
168
|
+
|
|
169
|
+
#: wbnews/viewsets/titles.py:37 wbnews/viewsets/titles.py:44
|
|
170
|
+
#, fuzzy
|
|
171
|
+
#| msgid "Source"
|
|
172
|
+
msgid "News Article"
|
|
173
|
+
msgstr "Quelle"
|
|
Binary file
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
5
|
+
#
|
|
6
|
+
msgid ""
|
|
7
|
+
msgstr ""
|
|
8
|
+
"Project-Id-Version: PACKAGE VERSION\n"
|
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
|
10
|
+
"POT-Creation-Date: 2025-05-30 11:37+0200\n"
|
|
11
|
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
12
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
13
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
14
|
+
"Language: \n"
|
|
15
|
+
"MIME-Version: 1.0\n"
|
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
18
|
+
|
|
19
|
+
#: models/news.py:51 viewsets/display.py:54 viewsets/display.py:100
|
|
20
|
+
#: viewsets/display.py:141
|
|
21
|
+
msgid "Datetime"
|
|
22
|
+
msgstr ""
|
|
23
|
+
|
|
24
|
+
#: models/news.py:52 serializers.py:21 serializers.py:76 viewsets/display.py:20
|
|
25
|
+
#: viewsets/display.py:55 viewsets/display.py:102 viewsets/display.py:142
|
|
26
|
+
msgid "Title"
|
|
27
|
+
msgstr ""
|
|
28
|
+
|
|
29
|
+
#: models/news.py:54 serializers.py:24 serializers.py:77 viewsets/display.py:23
|
|
30
|
+
#: viewsets/display.py:57 viewsets/display.py:104 viewsets/display.py:143
|
|
31
|
+
msgid "Description"
|
|
32
|
+
msgstr ""
|
|
33
|
+
|
|
34
|
+
#: models/news.py:55 serializers.py:78 viewsets/display.py:56
|
|
35
|
+
#: viewsets/display.py:103
|
|
36
|
+
msgid "Summary"
|
|
37
|
+
msgstr ""
|
|
38
|
+
|
|
39
|
+
#: models/news.py:56 viewsets/display.py:60 viewsets/display.py:144
|
|
40
|
+
msgid "Language"
|
|
41
|
+
msgstr ""
|
|
42
|
+
|
|
43
|
+
#: models/news.py:57
|
|
44
|
+
msgid "Link"
|
|
45
|
+
msgstr ""
|
|
46
|
+
|
|
47
|
+
#: models/news.py:61 viewsets/display.py:59 viewsets/display.py:106
|
|
48
|
+
msgid "Source"
|
|
49
|
+
msgstr ""
|
|
50
|
+
|
|
51
|
+
#: models/news.py:64
|
|
52
|
+
msgid "Mark as duplicate"
|
|
53
|
+
msgstr ""
|
|
54
|
+
|
|
55
|
+
#: models/relationships.py:9
|
|
56
|
+
msgid "Positive"
|
|
57
|
+
msgstr ""
|
|
58
|
+
|
|
59
|
+
#: models/relationships.py:10
|
|
60
|
+
msgid "Slightly Positive"
|
|
61
|
+
msgstr ""
|
|
62
|
+
|
|
63
|
+
#: models/relationships.py:11
|
|
64
|
+
msgid "Slightly Negative"
|
|
65
|
+
msgstr ""
|
|
66
|
+
|
|
67
|
+
#: models/relationships.py:12
|
|
68
|
+
msgid "Negative"
|
|
69
|
+
msgstr ""
|
|
70
|
+
|
|
71
|
+
#: serializers.py:22
|
|
72
|
+
msgid "Identifier"
|
|
73
|
+
msgstr ""
|
|
74
|
+
|
|
75
|
+
#: serializers.py:25 viewsets/display.py:22
|
|
76
|
+
msgid "Author"
|
|
77
|
+
msgstr ""
|
|
78
|
+
|
|
79
|
+
#: serializers.py:26
|
|
80
|
+
msgid "Updated"
|
|
81
|
+
msgstr ""
|
|
82
|
+
|
|
83
|
+
#: serializers.py:79
|
|
84
|
+
msgid "Date"
|
|
85
|
+
msgstr ""
|
|
86
|
+
|
|
87
|
+
#: serializers.py:92 viewsets/menu.py:6 viewsets/titles.py:24
|
|
88
|
+
msgid "News"
|
|
89
|
+
msgstr ""
|
|
90
|
+
|
|
91
|
+
#: viewsets/buttons.py:14
|
|
92
|
+
msgid "Open News"
|
|
93
|
+
msgstr ""
|
|
94
|
+
|
|
95
|
+
#: viewsets/buttons.py:21 viewsets/buttons.py:22 viewsets/buttons.py:24
|
|
96
|
+
msgid "Reset relationships"
|
|
97
|
+
msgstr ""
|
|
98
|
+
|
|
99
|
+
#: viewsets/display.py:21
|
|
100
|
+
msgid "RSS feed"
|
|
101
|
+
msgstr ""
|
|
102
|
+
|
|
103
|
+
#: viewsets/display.py:24
|
|
104
|
+
msgid "Last Update"
|
|
105
|
+
msgstr ""
|
|
106
|
+
|
|
107
|
+
#: viewsets/display.py:61
|
|
108
|
+
msgid "Image"
|
|
109
|
+
msgstr ""
|
|
110
|
+
|
|
111
|
+
#: viewsets/display.py:93
|
|
112
|
+
msgid "Linked Object"
|
|
113
|
+
msgstr ""
|
|
114
|
+
|
|
115
|
+
#: viewsets/display.py:101
|
|
116
|
+
msgid "Analysis"
|
|
117
|
+
msgstr ""
|
|
118
|
+
|
|
119
|
+
#: viewsets/display.py:105
|
|
120
|
+
msgid "Important"
|
|
121
|
+
msgstr ""
|
|
122
|
+
|
|
123
|
+
#: viewsets/menu.py:11
|
|
124
|
+
msgid "News Relationships"
|
|
125
|
+
msgstr ""
|
|
126
|
+
|
|
127
|
+
#: viewsets/menu.py:17 viewsets/titles.py:9
|
|
128
|
+
msgid "Sources"
|
|
129
|
+
msgstr ""
|
|
130
|
+
|
|
131
|
+
#: viewsets/menu.py:23
|
|
132
|
+
msgid "Create Source"
|
|
133
|
+
msgstr ""
|
|
134
|
+
|
|
135
|
+
#: viewsets/titles.py:13
|
|
136
|
+
#, python-brace-format
|
|
137
|
+
msgid "Source: {source}"
|
|
138
|
+
msgstr ""
|
|
139
|
+
|
|
140
|
+
#: viewsets/titles.py:14
|
|
141
|
+
msgid "News Source"
|
|
142
|
+
msgstr ""
|
|
143
|
+
|
|
144
|
+
#: viewsets/titles.py:19
|
|
145
|
+
msgid "News Flow"
|
|
146
|
+
msgstr ""
|
|
147
|
+
|
|
148
|
+
#: viewsets/titles.py:30
|
|
149
|
+
#, python-brace-format
|
|
150
|
+
msgid "News from {source}"
|
|
151
|
+
msgstr ""
|
|
152
|
+
|
|
153
|
+
#: viewsets/titles.py:36
|
|
154
|
+
msgid "News Article for {}"
|
|
155
|
+
msgstr ""
|
|
156
|
+
|
|
157
|
+
#: viewsets/titles.py:37 viewsets/titles.py:44
|
|
158
|
+
msgid "News Article"
|
|
159
|
+
msgstr ""
|
|
Binary file
|