@cosmicdrift/kumiko-locale-de 0.337.1 → 0.339.0
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.
- package/package.json +2 -2
- package/src/__tests__/en-catalog.ts +51 -0
- package/src/changes.json +12 -0
- package/src/formal.ts +26 -0
- package/src/strings.ts +56 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-locale-de",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.339.0",
|
|
4
4
|
"description": "German UI and mail copy for Kumiko framework screens. Opt in by mounting localeDe() + localeDeClient().",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@cosmicdrift/kumiko-framework": "0.
|
|
31
|
+
"@cosmicdrift/kumiko-framework": "0.339.0"
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"registry": "https://registry.npmjs.org",
|
|
@@ -273,9 +273,49 @@ export const frameworkEnCatalog: Readonly<Record<string, string>> = {
|
|
|
273
273
|
"auth.verifyEmail.successBody": "Thanks! You can sign in now.",
|
|
274
274
|
"auth.verifyEmail.successTitle": "Email verified",
|
|
275
275
|
"auth.verifyEmail.verifying": "Verifying email …",
|
|
276
|
+
"billing-foundation.cancel.back": "Back",
|
|
277
|
+
"billing-foundation.cancel.close": "Close",
|
|
278
|
+
"billing-foundation.cancel.confirmQuestion":
|
|
279
|
+
"Do you want to submit this declaration now? Declaration: {declaration}, type: {kind}.",
|
|
280
|
+
"billing-foundation.cancel.continue": "Continue",
|
|
281
|
+
"billing-foundation.cancel.declaration": "Declaration",
|
|
282
|
+
"billing-foundation.cancel.declaration.termination": "Termination",
|
|
283
|
+
"billing-foundation.cancel.declaration.withdrawal": "Withdrawal",
|
|
284
|
+
"billing-foundation.cancel.effectiveAt": "It takes effect on {date}.",
|
|
285
|
+
"billing-foundation.cancel.effectiveUnknown": "We will confirm the effective date by email.",
|
|
286
|
+
"billing-foundation.cancel.emailConfirmation": "You will receive a confirmation by email.",
|
|
287
|
+
"billing-foundation.cancel.kind": "Type of termination",
|
|
288
|
+
"billing-foundation.cancel.kind.extraordinary": "Extraordinary (for cause)",
|
|
289
|
+
"billing-foundation.cancel.kind.ordinary": "Ordinary",
|
|
290
|
+
"billing-foundation.cancel.open": "Cancel contract here",
|
|
291
|
+
"billing-foundation.cancel.reason": "Reason",
|
|
292
|
+
"billing-foundation.cancel.receivedAt": "We received your declaration on {date}.",
|
|
293
|
+
"billing-foundation.cancel.submit": "Cancel now",
|
|
294
|
+
"billing-foundation.cancel.title": "Cancel contract",
|
|
295
|
+
"billing-foundation.cancel.withdrawalHint":
|
|
296
|
+
"A withdrawal is only possible within the statutory withdrawal period.",
|
|
297
|
+
"billing-foundation.consent.back": "Back",
|
|
298
|
+
"billing-foundation.consent.cancelAnytime":
|
|
299
|
+
"You can cancel at any time, effective at the end of the current period.",
|
|
300
|
+
"billing-foundation.consent.link.privacy": "Privacy policy",
|
|
301
|
+
"billing-foundation.consent.link.terms": "Terms",
|
|
302
|
+
"billing-foundation.consent.link.withdrawal": "Withdrawal policy",
|
|
303
|
+
"billing-foundation.consent.order": "Order with obligation to pay",
|
|
304
|
+
"billing-foundation.consent.renews.day": "Renews every day until cancelled.",
|
|
305
|
+
"billing-foundation.consent.renews.month": "Renews every month until cancelled.",
|
|
306
|
+
"billing-foundation.consent.renews.week": "Renews every week until cancelled.",
|
|
307
|
+
"billing-foundation.consent.renews.year": "Renews every year until cancelled.",
|
|
308
|
+
"billing-foundation.consent.renewsEvery.day": "Renews every {count} days until cancelled.",
|
|
309
|
+
"billing-foundation.consent.renewsEvery.month": "Renews every {count} months until cancelled.",
|
|
310
|
+
"billing-foundation.consent.renewsEvery.week": "Renews every {count} weeks until cancelled.",
|
|
311
|
+
"billing-foundation.consent.renewsEvery.year": "Renews every {count} years until cancelled.",
|
|
312
|
+
"billing-foundation.consent.title": "Review your order",
|
|
276
313
|
"billing-foundation.errors.alreadyOnPlan": "This tenant is already on that plan.",
|
|
277
314
|
"billing-foundation.errors.cancellationScheduled":
|
|
278
315
|
"This subscription is scheduled to end. Reactivate it before switching plans.",
|
|
316
|
+
"billing-foundation.errors.consentRequired": "Confirm both consent boxes before you continue.",
|
|
317
|
+
"billing-foundation.errors.consentTextOutdated":
|
|
318
|
+
"The consent text has changed. Reload the page and confirm again.",
|
|
279
319
|
"billing-foundation.errors.foreignProviderCustomer":
|
|
280
320
|
"This customer account does not belong to your tenant.",
|
|
281
321
|
"billing-foundation.errors.noActiveSubscription":
|
|
@@ -293,6 +333,8 @@ export const frameworkEnCatalog: Readonly<Record<string, string>> = {
|
|
|
293
333
|
"This redirect URL is not allowed for this app.",
|
|
294
334
|
"billing-foundation.errors.subscriptionExists":
|
|
295
335
|
"This tenant already has an active subscription. Switch plans instead.",
|
|
336
|
+
"billing-foundation.errors.termsUnavailable":
|
|
337
|
+
"The terms are temporarily unavailable. Please try again later.",
|
|
296
338
|
"billing-foundation.errors.unknownPrice": "This price is not recognized.",
|
|
297
339
|
"billing-foundation.plans.billingDisabled":
|
|
298
340
|
"Billing is not active yet. Your current plan stays in place.",
|
|
@@ -358,6 +400,9 @@ export const frameworkEnCatalog: Readonly<Record<string, string>> = {
|
|
|
358
400
|
"config.errors.systemOnly": "This value can only be set by the system.",
|
|
359
401
|
"config.errors.unknownExtensionPlugin": "This provider is not available.",
|
|
360
402
|
"config.errors.unknownKey": "Unknown configuration key.",
|
|
403
|
+
"config.secret.channel-telegram.bot-token.hint":
|
|
404
|
+
'Token from @BotFather. Used for every Telegram chat the tenant addresses via route: { telegram: "<chat id>" }.',
|
|
405
|
+
"config.secret.channel-telegram.bot-token.label": "Telegram bot token",
|
|
361
406
|
"config.secret.file-provider-s3.s3-secret-access-key.hint":
|
|
362
407
|
"Private half of the S3 key pair. Hetzner calls it 'Secret Key', AWS calls it 'Secret Access Key'.",
|
|
363
408
|
"config.secret.file-provider-s3.s3-secret-access-key.label": "S3 secret access key",
|
|
@@ -425,6 +470,8 @@ export const frameworkEnCatalog: Readonly<Record<string, string>> = {
|
|
|
425
470
|
"errors.validation.not_multiple_of": "Must be a multiple of {divisor}.",
|
|
426
471
|
"errors.validation.out_of_bounds": "Value out of allowed range.",
|
|
427
472
|
"errors.validation.too_big": "Too big or too long (maximum: {maximum}).",
|
|
473
|
+
"kumiko.boolean.no": "No",
|
|
474
|
+
"kumiko.boolean.yes": "Yes",
|
|
428
475
|
"kumiko.validation.number.min": "Must be at least {minimum}.",
|
|
429
476
|
"kumiko.validation.number.max": "Must be {maximum} or less.",
|
|
430
477
|
"errors.validation.too_small": "Too small or too short (minimum: {minimum}).",
|
|
@@ -641,6 +688,9 @@ export const frameworkEnCatalog: Readonly<Record<string, string>> = {
|
|
|
641
688
|
"kumiko.form.saveChanges": "Save changes",
|
|
642
689
|
"kumiko.form.unsaved.one": "1 unsaved change",
|
|
643
690
|
"kumiko.form.unsaved.other": "{count} unsaved changes",
|
|
691
|
+
"kumiko.lightbox.next": "Next image",
|
|
692
|
+
"kumiko.lightbox.position": "{current} / {total}",
|
|
693
|
+
"kumiko.lightbox.previous": "Previous image",
|
|
644
694
|
"kumiko.list.count.noun": "{count} {noun}",
|
|
645
695
|
"kumiko.list.count.one": "1 entry",
|
|
646
696
|
"kumiko.list.count.other": "{count} entries",
|
|
@@ -654,6 +704,7 @@ export const frameworkEnCatalog: Readonly<Record<string, string>> = {
|
|
|
654
704
|
"Showing the first {count} entries. More are available but not loaded — this list does not paginate.",
|
|
655
705
|
"kumiko.list.row-actions.more": "More actions",
|
|
656
706
|
"kumiko.page-header.actions": "Page actions",
|
|
707
|
+
"kumiko.theme.auto": "Automatic theme",
|
|
657
708
|
"kumiko.theme.dark": "Dark theme",
|
|
658
709
|
"kumiko.theme.light": "Light theme",
|
|
659
710
|
"kumiko.list.row.collapse": "Collapse {title}",
|
package/src/changes.json
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "0.339.0",
|
|
4
|
+
"type": "fix",
|
|
5
|
+
"title": "Billing consent and cancel dialogs use \"du\"",
|
|
6
|
+
"detail": "`billing-foundation.consent.*`, `billing-foundation.cancel.*`, `billing-foundation.errors.consentTextOutdated` and `billing-foundation.errors.termsUnavailable` switch from \"Sie\" to \"du\", matching the `billing-foundation.plans.*` keys. The formal bundle (`address: \"formal\"`) keeps the \"Sie\" wording through `localeDeFormalOverrides`."
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"version": "0.338.0",
|
|
10
|
+
"type": "improvement",
|
|
11
|
+
"title": "German strings for the billing consent and cancel-contract dialogs",
|
|
12
|
+
"detail": "Adds the `billing-foundation.consent.*`, `billing-foundation.cancel.*`, `billing-foundation.errors.consentTextOutdated` and `billing-foundation.errors.termsUnavailable` keys in formal German."
|
|
13
|
+
},
|
|
2
14
|
{
|
|
3
15
|
"version": "0.337.0",
|
|
4
16
|
"type": "fix",
|
package/src/formal.ts
CHANGED
|
@@ -81,6 +81,32 @@ export const localeDeFormalOverrides: Readonly<Record<string, string>> = {
|
|
|
81
81
|
"auth.verifyEmail.errorBody":
|
|
82
82
|
"Der Link ist ungültig oder abgelaufen. Bitte fordern Sie eine neue Bestätigungs-Mail an.",
|
|
83
83
|
"auth.verifyEmail.successBody": "Danke! Sie können sich jetzt anmelden.",
|
|
84
|
+
"billing-foundation.cancel.confirmQuestion":
|
|
85
|
+
"Möchten Sie diese Erklärung jetzt abgeben? Erklärung: {declaration}, Art: {kind}.",
|
|
86
|
+
"billing-foundation.cancel.effectiveUnknown":
|
|
87
|
+
"Den Wirksamkeitszeitpunkt bestätigen wir Ihnen per E-Mail.",
|
|
88
|
+
"billing-foundation.cancel.emailConfirmation": "Sie erhalten eine Bestätigung per E-Mail.",
|
|
89
|
+
"billing-foundation.cancel.receivedAt": "Ihre Erklärung ist am {date} bei uns eingegangen.",
|
|
90
|
+
"billing-foundation.consent.cancelAnytime":
|
|
91
|
+
"Sie können jederzeit zum Ende des laufenden Zeitraums kündigen.",
|
|
92
|
+
"billing-foundation.consent.renews.day": "Verlängert sich täglich, bis Sie kündigen.",
|
|
93
|
+
"billing-foundation.consent.renews.month": "Verlängert sich monatlich, bis Sie kündigen.",
|
|
94
|
+
"billing-foundation.consent.renews.week": "Verlängert sich wöchentlich, bis Sie kündigen.",
|
|
95
|
+
"billing-foundation.consent.renews.year": "Verlängert sich jährlich, bis Sie kündigen.",
|
|
96
|
+
"billing-foundation.consent.renewsEvery.day":
|
|
97
|
+
"Verlängert sich alle {count} Tage, bis Sie kündigen.",
|
|
98
|
+
"billing-foundation.consent.renewsEvery.month":
|
|
99
|
+
"Verlängert sich alle {count} Monate, bis Sie kündigen.",
|
|
100
|
+
"billing-foundation.consent.renewsEvery.week":
|
|
101
|
+
"Verlängert sich alle {count} Wochen, bis Sie kündigen.",
|
|
102
|
+
"billing-foundation.consent.renewsEvery.year":
|
|
103
|
+
"Verlängert sich alle {count} Jahre, bis Sie kündigen.",
|
|
104
|
+
"billing-foundation.errors.consentRequired":
|
|
105
|
+
"Bestätigen Sie beide Zustimmungen, bevor Sie fortfahren.",
|
|
106
|
+
"billing-foundation.errors.consentTextOutdated":
|
|
107
|
+
"Der Zustimmungstext hat sich geändert. Laden Sie die Seite neu und bestätigen Sie erneut.",
|
|
108
|
+
"billing-foundation.errors.termsUnavailable":
|
|
109
|
+
"Die AGB sind vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut.",
|
|
84
110
|
"billing-foundation.plans.billingDisabled":
|
|
85
111
|
"Die Abrechnung ist noch nicht aktiv. Ihr aktueller Tarif bleibt bestehen.",
|
|
86
112
|
"billing-foundation.plans.cancelScheduled": "Ihr Abo endet am {date}.",
|
package/src/strings.ts
CHANGED
|
@@ -286,9 +286,54 @@ export const localeDeBundle: Readonly<Record<string, string>> = {
|
|
|
286
286
|
"auth.verifyEmail.successBody": "Danke! Du kannst dich jetzt anmelden.",
|
|
287
287
|
"auth.verifyEmail.successTitle": "E-Mail bestätigt",
|
|
288
288
|
"auth.verifyEmail.verifying": "E-Mail wird bestätigt …",
|
|
289
|
+
"billing-foundation.cancel.back": "Zurück",
|
|
290
|
+
"billing-foundation.cancel.close": "Schließen",
|
|
291
|
+
"billing-foundation.cancel.confirmQuestion":
|
|
292
|
+
"Möchtest du diese Erklärung jetzt abgeben? Erklärung: {declaration}, Art: {kind}.",
|
|
293
|
+
"billing-foundation.cancel.continue": "Weiter",
|
|
294
|
+
"billing-foundation.cancel.declaration": "Erklärung",
|
|
295
|
+
"billing-foundation.cancel.declaration.termination": "Kündigung",
|
|
296
|
+
"billing-foundation.cancel.declaration.withdrawal": "Widerruf",
|
|
297
|
+
"billing-foundation.cancel.effectiveAt": "Sie wird zum {date} wirksam.",
|
|
298
|
+
"billing-foundation.cancel.effectiveUnknown":
|
|
299
|
+
"Den Wirksamkeitszeitpunkt bestätigen wir dir per E-Mail.",
|
|
300
|
+
"billing-foundation.cancel.emailConfirmation": "Du erhältst eine Bestätigung per E-Mail.",
|
|
301
|
+
"billing-foundation.cancel.kind": "Art der Kündigung",
|
|
302
|
+
"billing-foundation.cancel.kind.extraordinary": "Außerordentlich (aus wichtigem Grund)",
|
|
303
|
+
"billing-foundation.cancel.kind.ordinary": "Ordentlich",
|
|
304
|
+
"billing-foundation.cancel.open": "Vertrag hier kündigen",
|
|
305
|
+
"billing-foundation.cancel.reason": "Begründung",
|
|
306
|
+
"billing-foundation.cancel.receivedAt": "Deine Erklärung ist am {date} bei uns eingegangen.",
|
|
307
|
+
"billing-foundation.cancel.submit": "Jetzt kündigen",
|
|
308
|
+
"billing-foundation.cancel.title": "Vertrag kündigen",
|
|
309
|
+
"billing-foundation.cancel.withdrawalHint":
|
|
310
|
+
"Ein Widerruf ist nur innerhalb der gesetzlichen Widerrufsfrist möglich.",
|
|
311
|
+
"billing-foundation.consent.back": "Zurück",
|
|
312
|
+
"billing-foundation.consent.cancelAnytime":
|
|
313
|
+
"Du kannst jederzeit zum Ende des laufenden Zeitraums kündigen.",
|
|
314
|
+
"billing-foundation.consent.link.privacy": "Datenschutzerklärung",
|
|
315
|
+
"billing-foundation.consent.link.terms": "AGB",
|
|
316
|
+
"billing-foundation.consent.link.withdrawal": "Widerrufsbelehrung",
|
|
317
|
+
"billing-foundation.consent.order": "Zahlungspflichtig bestellen",
|
|
318
|
+
"billing-foundation.consent.renews.day": "Verlängert sich täglich, bis du kündigst.",
|
|
319
|
+
"billing-foundation.consent.renews.month": "Verlängert sich monatlich, bis du kündigst.",
|
|
320
|
+
"billing-foundation.consent.renews.week": "Verlängert sich wöchentlich, bis du kündigst.",
|
|
321
|
+
"billing-foundation.consent.renews.year": "Verlängert sich jährlich, bis du kündigst.",
|
|
322
|
+
"billing-foundation.consent.renewsEvery.day":
|
|
323
|
+
"Verlängert sich alle {count} Tage, bis du kündigst.",
|
|
324
|
+
"billing-foundation.consent.renewsEvery.month":
|
|
325
|
+
"Verlängert sich alle {count} Monate, bis du kündigst.",
|
|
326
|
+
"billing-foundation.consent.renewsEvery.week":
|
|
327
|
+
"Verlängert sich alle {count} Wochen, bis du kündigst.",
|
|
328
|
+
"billing-foundation.consent.renewsEvery.year":
|
|
329
|
+
"Verlängert sich alle {count} Jahre, bis du kündigst.",
|
|
330
|
+
"billing-foundation.consent.title": "Bestellung prüfen",
|
|
289
331
|
"billing-foundation.errors.alreadyOnPlan": "Dieser Mandant ist bereits auf diesem Tarif.",
|
|
290
332
|
"billing-foundation.errors.cancellationScheduled":
|
|
291
333
|
"Dieses Abo endet planmäßig. Es muss vor einem Tarifwechsel reaktiviert werden.",
|
|
334
|
+
"billing-foundation.errors.consentRequired": "Bestätige beide Zustimmungen, bevor du fortfährst.",
|
|
335
|
+
"billing-foundation.errors.consentTextOutdated":
|
|
336
|
+
"Der Zustimmungstext hat sich geändert. Lade die Seite neu und bestätige erneut.",
|
|
292
337
|
"billing-foundation.errors.foreignProviderCustomer":
|
|
293
338
|
"Dieses Kundenkonto gehört nicht zu diesem Mandanten.",
|
|
294
339
|
"billing-foundation.errors.noActiveSubscription":
|
|
@@ -307,6 +352,8 @@ export const localeDeBundle: Readonly<Record<string, string>> = {
|
|
|
307
352
|
"Diese Weiterleitungs-URL ist für diese App nicht erlaubt.",
|
|
308
353
|
"billing-foundation.errors.subscriptionExists":
|
|
309
354
|
"Dieser Mandant hat bereits ein aktives Abo. Wechsle stattdessen den Tarif.",
|
|
355
|
+
"billing-foundation.errors.termsUnavailable":
|
|
356
|
+
"Die AGB sind vorübergehend nicht verfügbar. Bitte versuch es später erneut.",
|
|
310
357
|
"billing-foundation.errors.unknownPrice": "Dieser Preis ist nicht bekannt.",
|
|
311
358
|
"billing-foundation.plans.billingDisabled":
|
|
312
359
|
"Die Abrechnung ist noch nicht aktiv. Dein aktueller Tarif bleibt bestehen.",
|
|
@@ -372,6 +419,9 @@ export const localeDeBundle: Readonly<Record<string, string>> = {
|
|
|
372
419
|
"config.errors.systemOnly": "Dieser Wert lässt sich hier nicht ändern.",
|
|
373
420
|
"config.errors.unknownExtensionPlugin": "Dieser Anbieter ist nicht verfügbar.",
|
|
374
421
|
"config.errors.unknownKey": "Unbekannter Konfigurationsschlüssel.",
|
|
422
|
+
"config.secret.channel-telegram.bot-token.hint":
|
|
423
|
+
'Token von @BotFather. Gilt für jeden Telegram-Chat, den der Mandant per route: { telegram: "<Chat-ID>" } anspricht.',
|
|
424
|
+
"config.secret.channel-telegram.bot-token.label": "Telegram-Bot-Token",
|
|
375
425
|
"config.secret.file-provider-s3.s3-secret-access-key.hint":
|
|
376
426
|
"Privater Teil des S3-Schlüsselpaars. Hetzner nennt ihn „Secret Key“, AWS „Secret Access Key“.",
|
|
377
427
|
"config.secret.file-provider-s3.s3-secret-access-key.label": "S3 Secret Access Key",
|
|
@@ -445,6 +495,8 @@ export const localeDeBundle: Readonly<Record<string, string>> = {
|
|
|
445
495
|
"errors.validation.not_multiple_of": "Muss ein Vielfaches von {divisor} sein.",
|
|
446
496
|
"errors.validation.out_of_bounds": "Wert außerhalb des erlaubten Bereichs.",
|
|
447
497
|
"errors.validation.too_big": "Zu groß oder zu lang. Maximal erlaubt: {maximum}.",
|
|
498
|
+
"kumiko.boolean.no": "Nein",
|
|
499
|
+
"kumiko.boolean.yes": "Ja",
|
|
448
500
|
"kumiko.validation.number.min": "Muss mindestens {minimum} sein.",
|
|
449
501
|
"kumiko.validation.number.max": "Darf höchstens {maximum} sein.",
|
|
450
502
|
"errors.validation.too_small": "Zu klein oder zu kurz. Mindestens erforderlich: {minimum}.",
|
|
@@ -665,6 +717,9 @@ export const localeDeBundle: Readonly<Record<string, string>> = {
|
|
|
665
717
|
"kumiko.form.saveChanges": "Änderungen speichern",
|
|
666
718
|
"kumiko.form.unsaved.one": "1 ungespeicherte Änderung",
|
|
667
719
|
"kumiko.form.unsaved.other": "{count} ungespeicherte Änderungen",
|
|
720
|
+
"kumiko.lightbox.next": "Nächstes Bild",
|
|
721
|
+
"kumiko.lightbox.position": "{current} / {total}",
|
|
722
|
+
"kumiko.lightbox.previous": "Vorheriges Bild",
|
|
668
723
|
"kumiko.list.count.noun": "{count} {noun}",
|
|
669
724
|
"kumiko.list.count.one": "1 Eintrag",
|
|
670
725
|
"kumiko.list.count.other": "{count} Einträge",
|
|
@@ -678,6 +733,7 @@ export const localeDeBundle: Readonly<Record<string, string>> = {
|
|
|
678
733
|
"Zeigt die ersten {count} Einträge. Es gibt weitere, die hier nicht angezeigt werden.",
|
|
679
734
|
"kumiko.list.row-actions.more": "Weitere Aktionen",
|
|
680
735
|
"kumiko.page-header.actions": "Seitenaktionen",
|
|
736
|
+
"kumiko.theme.auto": "Automatisches Design",
|
|
681
737
|
"kumiko.theme.dark": "Dunkles Design",
|
|
682
738
|
"kumiko.theme.light": "Helles Design",
|
|
683
739
|
"kumiko.list.row.collapse": "{title} zuklappen",
|