Skip to content

Commit 83de179

Browse files
committed
Improve an error message a bit
1 parent 657af69 commit 83de179

12 files changed

Lines changed: 359 additions & 328 deletions

File tree

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Change log
1111
- Added a ``reverse_passthru_lazy`` helper.
1212
- Made ``RegionRenderer`` check the API of renderers upon registration.
1313
- Added Django 4.2a1 to the matrix.
14+
- Improved the 'page type exists already' wording a bit.
1415

1516

1617
`4.0`_ (2022-09-28)

feincms3/applications.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,9 @@ def clean_fields(self, exclude=None):
555555
fields.extend(type.get("required_fields", ()))
556556
raise ValidationError(
557557
{
558-
field: _("This exact app already exists.")
558+
field: _(
559+
'The page type "{page_type}" with the specified configuration exists already.'
560+
).format(page_type=type.title)
559561
for field in fields
560562
if field not in exclude
561563
}
-97 Bytes
Binary file not shown.

feincms3/locale/de/LC_MESSAGES/django.po

Lines changed: 74 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ msgid ""
99
msgstr ""
1010
"Project-Id-Version: feincms\n"
1111
"Report-Msgid-Bugs-To: \n"
12-
"POT-Creation-Date: 2021-03-16 10:34+0100\n"
12+
"POT-Creation-Date: 2023-02-02 17:10+0100\n"
1313
"PO-Revision-Date: 2020-12-04 09:43+0000\n"
1414
"Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n"
1515
"Language-Team: German <https://hosted.weblate.org/projects/feincms3/feincms3/"
@@ -21,139 +21,139 @@ msgstr ""
2121
"Plural-Forms: nplurals=2; plural=n != 1;\n"
2222
"X-Generator: Weblate 4.4-dev\n"
2323

24-
#: admin.py:97 pages.py:60
24+
#: admin.py:98 pages.py:69
2525
msgid "title"
2626
msgstr "Titel"
2727

28-
#: admin.py:111
28+
#: admin.py:112
2929
msgid "move"
3030
msgstr "verschieben"
3131

32-
#: admin.py:137
32+
#: admin.py:138
3333
#, python-format
3434
msgid "Move %s"
3535
msgstr "%s verschieben"
3636

37-
#: admin.py:142
37+
#: admin.py:143
3838
#, python-format
3939
msgid "Clone %s"
4040
msgstr "%s klonen"
4141

42-
#: admin.py:211
42+
#: admin.py:212
4343
msgid "New location"
4444
msgstr "Neuer Ort"
4545

46-
#: admin.py:219
46+
#: admin.py:220
4747
msgid ""
4848
"Moving isn't possible because there are no valid targets. Maybe you selected "
4949
"the only root node?"
5050
msgstr ""
5151
"Verschieben ist nicht möglich weil es keine gültigen Zielorte gibt. "
5252
"Vielleicht den einzigen Wurzelknoten gewählt?"
5353

54-
#: admin.py:265 admin.py:276 admin.py:286
54+
#: admin.py:266 admin.py:277 admin.py:287
5555
msgid "move here"
5656
msgstr "hierhin verschieben"
5757

58-
#: admin.py:344
58+
#: admin.py:345
5959
#, python-format
6060
msgid "The node %(node)s has been moved to the new position."
6161
msgstr "%(node)s wurde zur neuen Position verschoben."
6262

63-
#: admin.py:362
63+
#: admin.py:363
6464
msgid "target"
6565
msgstr "Ziel"
6666

67-
#: admin.py:372
67+
#: admin.py:373
6868
msgid "Replace target's content"
6969
msgstr "Inhalt des Ziels ersetzen"
7070

71-
#: admin.py:374
71+
#: admin.py:375
7272
#, python-format
7373
msgid "Affects the following models: %s."
7474
msgstr "Betrifft die folgenden Inhalte: %s."
7575

76-
#: admin.py:396
76+
#: admin.py:397
7777
#, python-format
7878
msgid "Current: \"%s\""
7979
msgstr "Aktuell: „%s“"
8080

81-
#: admin.py:406
81+
#: admin.py:407
8282
msgid "Cannot clone node to itself."
8383
msgstr "Kann Knoten nicht zu sich selbst klonen."
8484

85-
#: admin.py:429
85+
#: admin.py:430
8686
#, python-format
8787
msgid "Updated fields of %(node)s: %(fields)s"
8888
msgstr "Aktualisierte Felder von %(node)s: %(fields)s"
8989

90-
#: admin.py:453
90+
#: admin.py:454
9191
#, python-format
9292
msgid "Replaced the content of %(target)s with the contents of %(source)s."
9393
msgstr "Ersetzte den Inhalt von %(target)s mit dem Inhalt von %(source)s."
9494

95-
#: admin.py:482
95+
#: admin.py:481
9696
msgid "subtree"
9797
msgstr "Unterbaum"
9898

99-
#: applications.py:389
99+
#: applications.py:492
100100
msgid "page type"
101101
msgstr "Seitentyp"
102102

103-
#: applications.py:436
103+
#: applications.py:536
104104
#, python-format
105105
msgid "This field is required for the page type \"%s\"."
106106
msgstr "Dieses Feld wird für den Seitentyp \"%s\" benötigt."
107107

108-
#: applications.py:460
109-
msgid "This exact app already exists."
110-
msgstr "Diese exakte Anwendung existiert bereits."
108+
#: applications.py:558
109+
#, python-brace-format
110+
msgid ""
111+
"The page type \"{page_type}\" with the specified configuration exists "
112+
"already."
113+
msgstr ""
114+
"Der Seitentyp \"{page_type}\" mit der spezifizierten Konfiguration existiert "
115+
"schon."
111116

112-
#: mixins.py:18
117+
#: mixins.py:20
113118
msgid "menu"
114119
msgstr "Menü"
115120

116-
#: mixins.py:51 plugins/snippet.py:32
121+
#: mixins.py:72 plugins/snippet.py:33
117122
msgid "template"
118123
msgstr "Vorlage"
119124

120-
#: mixins.py:97
125+
#: mixins.py:123
121126
msgid "language"
122127
msgstr "Sprache"
123128

124-
#: mixins.py:127
129+
#: mixins.py:153
125130
msgid "translation of"
126131
msgstr "Übersetzung von"
127132

128-
#: mixins.py:168
133+
#: mixins.py:214
129134
msgid ""
130135
"Objects in the primary language cannot be the translation of another object."
131136
msgstr ""
132137
"Objekte in der primären Sprache können nicht eine Übersetzung eines anderen "
133138
"Objektes sein."
134139

135-
#: mixins.py:181
136-
msgid "Objects may only be the translation of objects in the primary language."
137-
msgstr ""
138-
"Objekte können nur Übersetzungen sein von Objekten in der primären Sprache."
139-
140-
#: mixins.py:194
140+
#: mixins.py:228
141141
msgid "Redirect to URL"
142142
msgstr "Weiterleiten zu URL"
143143

144-
#: mixins.py:201
144+
#: mixins.py:236
145145
msgid "Redirect to page"
146146
msgstr "Weiterleiten zu Seite"
147147

148-
#: mixins.py:224
148+
#: mixins.py:259
149149
msgid "Only set one redirect value."
150150
msgstr "Bitte nur einen Weiterleitungs-Wert setzen."
151151

152-
#: mixins.py:232
152+
#: mixins.py:267
153153
msgid "Cannot redirect to self."
154154
msgstr "Kann nicht zu sich selbst weiterleiten."
155155

156-
#: mixins.py:243
156+
#: mixins.py:278
157157
#, python-format
158158
msgid ""
159159
"Do not chain redirects. The selected page \"%(title)s\" redirects to "
@@ -162,7 +162,7 @@ msgstr ""
162162
"Die gewählte Seite „%(title)s“ leitet schon weiter auf „%(path)s“ weiter, "
163163
"bitte Verkettungen von Weiterleitungen vermeiden."
164164

165-
#: mixins.py:260
165+
#: mixins.py:295
166166
#, python-format
167167
msgid ""
168168
"Do not chain redirects. The following pages already redirect to this page: "
@@ -171,23 +171,23 @@ msgstr ""
171171
"Verkettung von Weiterleitungen nicht erlaubt. Die folgenden Seiten leiten "
172172
"schon auf diese Seite weiter: %(pages)s"
173173

174-
#: pages.py:59
174+
#: pages.py:68
175175
msgid "is active"
176176
msgstr "ist aktiv"
177177

178-
#: pages.py:61
178+
#: pages.py:70
179179
msgid "slug"
180180
msgstr "Slug"
181181

182-
#: pages.py:68
182+
#: pages.py:77
183183
msgid "Position is expected to be greater than zero."
184184
msgstr "Position sollte grösser als Null sein."
185185

186-
#: pages.py:75
186+
#: pages.py:84
187187
msgid "path"
188188
msgstr "Pfad"
189189

190-
#: pages.py:80
190+
#: pages.py:89
191191
msgid ""
192192
"Automatically generated by concatenating the parent's path and the slug "
193193
"unless the path is defined manually."
@@ -196,52 +196,52 @@ msgstr ""
196196
"übergeordneten Seite und des Slugs, ausser wenn der Pfad manuell definiert "
197197
"wird."
198198

199-
#: pages.py:86
199+
#: pages.py:95
200200
msgid "Path must start and end with a slash (/)."
201201
msgstr "Pfad muss mit einem Slash (/) starten und enden."
202202

203-
#: pages.py:90
203+
#: pages.py:99
204204
msgid "manually define the path"
205205
msgstr "Pfad manuell definieren"
206206

207-
#: pages.py:97
207+
#: pages.py:106
208208
msgid "page"
209209
msgstr "Seite"
210210

211-
#: pages.py:98
211+
#: pages.py:107
212212
msgid "pages"
213213
msgstr "Seiten"
214214

215-
#: pages.py:140
215+
#: pages.py:149
216216
msgid "Static paths cannot be empty. Did you mean '/'?"
217217
msgstr "Statische Pfade können nicht leer sein. Meinten Sie „/“?"
218218

219-
#: pages.py:160
219+
#: pages.py:171
220220
#, python-format
221221
msgid "The page %(page)s's new path %(path)s would not be unique."
222222
msgstr "Der Pfad %(path)s der Seite %(page)s würde nicht eindeutig sein."
223223

224-
#: plugins/external.py:108
224+
#: plugins/external.py:113
225225
msgid "URL"
226226
msgstr "URL"
227227

228-
#: plugins/external.py:110 plugins/image.py:40
228+
#: plugins/external.py:115 plugins/image.py:42
229229
msgid "alternative text"
230230
msgstr "alternativer Text"
231231

232-
#: plugins/external.py:111 plugins/image.py:41
232+
#: plugins/external.py:116 plugins/image.py:43
233233
msgid "Describe the contents, e.g. for screenreaders."
234234
msgstr "Beschreibung der Bildinhalte, zB für Screenreader."
235235

236-
#: plugins/external.py:115 plugins/image.py:45
236+
#: plugins/external.py:120 plugins/image.py:47
237237
msgid "caption"
238238
msgstr "Legende"
239239

240-
#: plugins/external.py:119
240+
#: plugins/external.py:124
241241
msgid "external content"
242242
msgstr "externer Inhalt"
243243

244-
#: plugins/external.py:135
244+
#: plugins/external.py:158
245245
msgid "Unable to fetch HTML for this URL, sorry!"
246246
msgstr "Kann das HTML für diese URL nicht laden, tut mir leid!"
247247

@@ -253,46 +253,55 @@ msgstr ""
253253
"Der Inhalt wird direkt in die Seite eingefügt. Es ist SEHR wichtig, dass das "
254254
"HTML gültig ist!"
255255

256-
#: plugins/image.py:24 plugins/image.py:49
256+
#: plugins/image.py:26 plugins/image.py:51
257257
msgid "image"
258258
msgstr "Bild"
259259

260-
#: plugins/image.py:33
260+
#: plugins/image.py:35
261261
msgid "image width"
262262
msgstr "Bildbreite"
263263

264-
#: plugins/image.py:36
264+
#: plugins/image.py:38
265265
msgid "image height"
266266
msgstr "Bildhöhe"
267267

268-
#: plugins/image.py:38
268+
#: plugins/image.py:40
269269
msgid "primary point of interest"
270270
msgstr "Fokuspunkt"
271271

272-
#: plugins/image.py:50
272+
#: plugins/image.py:52
273273
msgid "images"
274274
msgstr "Bilder"
275275

276-
#: plugins/richtext.py:30
276+
#: plugins/old_richtext.py:40 plugins/richtext.py:20
277277
msgid "text"
278278
msgstr "Text"
279279

280-
#: plugins/richtext.py:34
280+
#: plugins/old_richtext.py:44 plugins/richtext.py:24
281281
msgid "rich text"
282282
msgstr "Text"
283283

284-
#: plugins/richtext.py:35
284+
#: plugins/old_richtext.py:45 plugins/richtext.py:25
285285
msgid "rich texts"
286286
msgstr "Texte"
287287

288-
#: plugins/snippet.py:39
288+
#: plugins/snippet.py:37
289289
msgid "predefined snippet"
290290
msgstr "vordefinierter Baustein"
291291

292-
#: plugins/snippet.py:40
292+
#: plugins/snippet.py:38
293293
msgid "predefined snippets"
294294
msgstr "vordefinierte Bausteine"
295295

296+
#~ msgid "This exact app already exists."
297+
#~ msgstr "Diese exakte Anwendung existiert bereits."
298+
299+
#~ msgid ""
300+
#~ "Objects may only be the translation of objects in the primary language."
301+
#~ msgstr ""
302+
#~ "Objekte können nur Übersetzungen sein von Objekten in der primären "
303+
#~ "Sprache."
304+
296305
#~ msgid "Generated automatically if 'static path' is unset."
297306
#~ msgstr "Automatisch generiert falls „statischer Pfad“ nicht gesetzt ist."
298307

0 commit comments

Comments
 (0)