@eponyme/locale 0.4.0 → 0.5.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/README.md CHANGED
@@ -74,8 +74,8 @@ this package does not know yet, and nothing breaks in the meantime.
74
74
 
75
75
  ## Adding a language
76
76
 
77
- 1. Copy `src/en.json` — the reference catalogue, which Eponyme exposes at
78
- `@karibsen/eponyme/locales/en.json` — to `src/<code>.json`.
77
+ 1. Copy `src/en.json` – the reference catalogue, which Eponyme exposes at
78
+ `@karibsen/eponyme/locales/en.json` – to `src/<code>.json`.
79
79
  2. Translate the values. Never touch the keys.
80
80
  3. Add `src/<code>.ts` with the factory, and its `plural` rule if the language needs one.
81
81
  4. Add the entry to `build.config.ts` and the subpath to `exports` in `package.json`.
@@ -92,7 +92,7 @@ A message with plural forms separates them with `|`, in this order: none, one, m
92
92
  ```
93
93
 
94
94
  `plural` maps a count to one of those three indices. The default is
95
- `count => count === 0 ? 0 : count === 1 ? 1 : 2`, which is what French and Spanish use — what
95
+ `count => count === 0 ? 0 : count === 1 ? 1 : 2`, which is what French and Spanish use – what
96
96
  differs between them is the wording of the zero form (`0 élément`, `0 elementos`), and that lives
97
97
  in the catalogue, not in the rule.
98
98
 
@@ -113,7 +113,7 @@ must stand alone**: a closure over anything outside the function does not surviv
113
113
 
114
114
  ### Placeholders
115
115
 
116
- `{name}` is replaced from the parameters Eponyme passes. Keep every placeholder a message has —
116
+ `{name}` is replaced from the parameters Eponyme passes. Keep every placeholder a message has –
117
117
  one that is dropped shows as literal `{count}` in the interface.
118
118
 
119
119
  ## Licence
package/dist/de.mjs CHANGED
@@ -16,6 +16,10 @@ function requireDe () {
16
16
  "array.counterMin": "{count} Element · min {min} | {count} Element · min {min} | {count} Elemente · min {min}",
17
17
  "array.counterMax": "{count} / {max} Element | {count} / {max} Element | {count} / {max} Elemente",
18
18
  "array.counterMinMax": "{count} / {max} Element · min {min} | {count} / {max} Element · min {min} | {count} / {max} Elemente · min {min}",
19
+ "array.item": "Element {index}",
20
+ "array.search": "Elemente suchen",
21
+ "array.noMatch": "Kein Element entspricht „{query}“.",
22
+ "array.itemHasErrors": "Dieses Element enthält Fehler",
19
23
  "select.search": "Eine Option suchen",
20
24
  "select.searchPlaceholder": "Suchen…",
21
25
  "select.empty": "Keine Optionen gefunden.",
@@ -70,6 +74,11 @@ function requireDe () {
70
74
  "field.videoYoutube": "ein YouTube-Link",
71
75
  "field.videoVimeo": "ein Vimeo-Link",
72
76
  "field.videoUrl": "eine direkte Video-URL",
77
+ "field.imageSource": "Dieses Bild muss {sources} sein.",
78
+ "field.imageSourceAbsolute": "eine Adresse auf einer anderen Website",
79
+ "field.imageSourceRelative": "ein Pfad auf dieser Website",
80
+ "field.imageSourceUpload": "ein hochgeladenes Bild",
81
+ "field.file": "Muss eine HTTP(S)-URL oder eine hochgeladene Datei sein.",
73
82
  "form.body": "Die gesendeten Daten haben nicht das richtige Format.",
74
83
  "action.cancel": "Abbrechen",
75
84
  "action.confirm": "Bestätigen",
@@ -88,9 +97,18 @@ function requireDe () {
88
97
  "action.yes": "Ja",
89
98
  "action.no": "Nein",
90
99
  "action.empty": "—",
100
+ "action.duplicate": "Duplizieren",
91
101
  "accordion.open": "Ordner öffnen",
92
102
  "accordion.close": "Ordner schließen",
93
103
  "color.custom": "Benutzerdefinierte Farbe",
104
+ "color.black": "Schwarz",
105
+ "color.white": "Weiß",
106
+ "color.red": "Rot",
107
+ "color.amber": "Bernstein",
108
+ "color.green": "Grün",
109
+ "color.blue": "Blau",
110
+ "color.purple": "Violett",
111
+ "color.pink": "Rosa",
94
112
  "password.show": "Passwort anzeigen",
95
113
  "password.hide": "Passwort verbergen",
96
114
  "media.preview": "Videovorschau",
@@ -151,6 +169,13 @@ function requireDe () {
151
169
  "richText.quote": "Zitat",
152
170
  "richText.undo": "Rückgängig",
153
171
  "richText.redo": "Wiederholen",
172
+ "richText.textColor": "Textfarbe",
173
+ "richText.highlight": "Hervorhebung",
174
+ "richText.removeTextColor": "Keine Textfarbe",
175
+ "richText.removeHighlight": "Keine Hervorhebung",
176
+ "richText.fullscreen": "Vollbild",
177
+ "richText.exitFullscreen": "Vollbild beenden",
178
+ "richText.selectionToolbar": "Formatierung der Auswahl",
154
179
  "media.youtube": "YouTube",
155
180
  "media.vimeo": "Vimeo",
156
181
  "media.direct": "Direktes Video",
@@ -185,6 +210,8 @@ function requireDe () {
185
210
  "sidebar.profileMenu": "Profil von {username}",
186
211
  "sidebar.lightTheme": "Helles Design",
187
212
  "sidebar.darkTheme": "Dunkles Design",
213
+ "sidebar.audit": "Audit-Protokoll",
214
+ "sidebar.media": "Medien",
188
215
  "status.draft": "Entwurf",
189
216
  "status.published": "Veröffentlicht",
190
217
  "status.unpublished": "Unveröffentlicht",
@@ -268,6 +295,9 @@ function requireDe () {
268
295
  "collection.purgeDescription": "„{title}“, sein Inhalt und der gesamte Verlauf gehen verloren. Diese Aktion kann nicht rückgängig gemacht werden.",
269
296
  "collection.purgeAction": "Dauerhaft löschen",
270
297
  "collection.purgeFailed": "Dieser Eintrag konnte nicht dauerhaft gelöscht werden.",
298
+ "collection.duplicateTitle": "Eintrag duplizieren",
299
+ "collection.duplicateDescription": "Der neue Eintrag geht vom Entwurf von „{title}“ aus.",
300
+ "collection.copyOf": "{title} (Kopie)",
271
301
  "submissions.received": "Erhalten am",
272
302
  "submissions.mode": "Formular",
273
303
  "submissions.modeManaged": "Verwaltet",
@@ -289,6 +319,13 @@ function requireDe () {
289
319
  "submissions.deleteAction": "Antwort löschen",
290
320
  "submissions.deleteFailed": "Diese Antwort konnte nicht gelöscht werden.",
291
321
  "submissions.pager": "{count} Antwort · Seite {page} von {pages} | {count} Antwort · Seite {page} von {pages} | {count} Antworten · Seite {page} von {pages}",
322
+ "submissions.selectAll": "Alle Zeilen auf dieser Seite auswählen",
323
+ "submissions.selectRow": "Diese Einsendung auswählen",
324
+ "submissions.selected": "{count} ausgewählt | {count} ausgewählt | {count} ausgewählt",
325
+ "submissions.clearSelection": "Auswahl aufheben",
326
+ "submissions.deleteSelection": "Auswahl löschen",
327
+ "submissions.deleteSelectionTitle": "Ausgewählte Einsendungen löschen?",
328
+ "submissions.deleteSelectionDescription": "{count} Einsendungen werden gelöscht. Das lässt sich nicht rückgängig machen. | {count} Einsendung wird gelöscht. Das lässt sich nicht rückgängig machen. | {count} Einsendungen werden gelöscht. Das lässt sich nicht rückgängig machen.",
292
329
  "history.title": "Versionsverlauf",
293
330
  "history.description": "Finden und stellen Sie eine ältere Version wieder her, die veröffentlicht oder als Entwurf gespeichert wurde.",
294
331
  "history.loading": "Versionen werden geladen…",
@@ -429,9 +466,85 @@ function requireDe () {
429
466
  "server.rateLimited": "Zu viele Anfragen. Versuchen Sie es später erneut.",
430
467
  "server.invalidJson": "Der Anfragetext muss gültiges JSON sein.",
431
468
  "server.bodyTooLarge": "Der Anfragetext ist zu groß.",
469
+ "server.lifecycleContentForbidden": "Inhalt als Entwurf speichern, bevor eine Veröffentlichungsaktion ausgeführt wird.",
470
+ "server.roleUnavailable": "Dieses Konto verwendet eine Rolle, die nicht mehr existiert. Bitte einen Owner, eine neue zuzuweisen.",
471
+ "server.relationMissing": "Zeigt auf einen Eintrag, der nicht existiert: {slugs}.",
472
+ "server.relationUnknownCollection": "Zeigt auf „{collection}“, was keine Sammlung ist.",
473
+ "server.entryReferenced": "Wird noch von {entries} referenziert. Löse die Verbindung dort zuerst.",
474
+ "server.notFound": "Nicht gefunden.",
475
+ "server.storageDisabled": "Der Dateispeicher ist nicht konfiguriert.",
476
+ "server.mediaInvalidKey": "Ungültige Dateireferenz.",
477
+ "server.mediaInvalidType": "Ungültiger Dateityp.",
478
+ "server.mediaInvalidSize": "Ungültige Dateigröße.",
479
+ "server.mediaTooLarge": "Datei ist zu groß. Das Limit liegt bei {max}.",
480
+ "server.mediaRejectedType": "Dieser Dateityp wird nicht akzeptiert. Akzeptierte Typen: {accept}.",
481
+ "server.mediaEmptyBody": "Der Upload enthielt keine Daten.",
482
+ "server.mediaIncompleteUpload": "Der Upload wurde nicht abgeschlossen. Versuche es erneut.",
483
+ "server.mediaReadOnly": "Der Dateispeicher ist in diesem Deployment falsch konfiguriert und kann keine Uploads annehmen. Bitte die Person, die es deployt hat, einen Bucket zu konfigurieren.",
432
484
  "role.viewer": "Leser",
433
485
  "role.editor": "Redakteur",
434
- "role.owner": "Eigentümer"
486
+ "role.owner": "Eigentümer",
487
+ "relation.choose": "Eintrag wählen",
488
+ "relation.change": "Ändern",
489
+ "relation.remove": "{entry} entfernen",
490
+ "relation.selected": "Ausgewählt",
491
+ "relation.search": "Einträge suchen",
492
+ "relation.noMatch": "Kein Eintrag entspricht „{query}“.",
493
+ "relation.empty": "Diese Sammlung hat noch keinen Eintrag.",
494
+ "relation.pickerTitle": "{collection}",
495
+ "relation.pickerDescription": "Den Eintrag wählen, auf den dieses Feld zeigt.",
496
+ "relation.shown": "{count} von {total}",
497
+ "relation.loadMore": "Mehr laden",
498
+ "audit.title": "Audit-Protokoll · Eponyme",
499
+ "audit.heading": "Audit-Protokoll",
500
+ "audit.description": "Sicherheits- und Redaktionsereignisse dieser Eponyme-Instanz.",
501
+ "audit.action": "Aktion",
502
+ "audit.resource": "Ressource",
503
+ "audit.from": "Von",
504
+ "audit.to": "Bis",
505
+ "audit.filter": "Filtern",
506
+ "audit.clear": "Filter zurücksetzen",
507
+ "audit.date": "Datum",
508
+ "audit.actor": "Akteur",
509
+ "audit.outcome": "Ergebnis",
510
+ "audit.system": "System",
511
+ "audit.success": "Erfolg",
512
+ "audit.failure": "Fehlschlag",
513
+ "audit.empty": "Kein Ereignis entspricht diesen Filtern.",
514
+ "audit.more": "Mehr laden",
515
+ "audit.loadFailed": "Das Audit-Protokoll konnte nicht geladen werden.",
516
+ "library.title": "Medien",
517
+ "library.description": "Vom Dashboard hochgeladene Dateien, neueste zuerst.",
518
+ "library.upload": "Hochladen",
519
+ "library.uploading": "{name} wird hochgeladen…",
520
+ "library.empty": "Noch keine Dateien.",
521
+ "library.emptyHint": "Lade eine hoch, um sie in einem Eintrag zu verwenden.",
522
+ "library.search": "Dateien suchen",
523
+ "library.noMatch": "Keine Datei entspricht „{query}“.",
524
+ "library.loadMore": "Mehr laden",
525
+ "library.loading": "Wird geladen…",
526
+ "library.select": "Auswählen",
527
+ "library.delete": "Löschen",
528
+ "library.deleteTitle": "Diese Datei löschen?",
529
+ "library.deleteMessage": "{name} wird aus dem Speicher entfernt. Einträge, die bereits darauf zeigen, zeigen eine defekte Datei.",
530
+ "library.deleted": "Datei gelöscht.",
531
+ "library.copyUrl": "URL kopieren",
532
+ "library.copied": "URL kopiert.",
533
+ "library.uploadFailed": "Der Upload ist fehlgeschlagen.",
534
+ "library.cancel": "Abbrechen",
535
+ "library.pick": "Aus der Mediathek wählen",
536
+ "library.count": "{count} Dateien",
537
+ "file.choose": "Datei hochladen",
538
+ "file.replace": "Ersetzen",
539
+ "file.remove": "Entfernen",
540
+ "file.open": "In neuem Tab öffnen",
541
+ "file.drop": "Datei hier ablegen",
542
+ "file.or": "oder",
543
+ "file.browse": "durchsuchen",
544
+ "file.address": "Adresse",
545
+ "file.storageOff": "Der Speicher ist nicht konfiguriert, daher nimmt dieses Feld eine Adresse statt eines Uploads.",
546
+ "file.tooLarge": "Diese Datei ist größer als {max}.",
547
+ "file.rejectedType": "Dieser Dateityp wird nicht akzeptiert. Akzeptierte Typen: {accept}."
435
548
  };
436
549
  return de$1;
437
550
  }
package/dist/es.d.mts CHANGED
@@ -15,7 +15,7 @@ import { EponymeLocaleDefinition } from '@karibsen/eponyme';
15
15
  * ```
16
16
  *
17
17
  * No `plural`: Spanish selects the same three forms as the default rule. It differs from English
18
- * in that nought takes the plural — `0 elementos`, not `0 elemento` — and that is a matter of
18
+ * in that nought takes the plural – `0 elementos`, not `0 elemento` – and that is a matter of
19
19
  * wording, which lives in `es.json`, not of which form is chosen.
20
20
  */
21
21
  declare function es(overrides?: Record<string, string>): EponymeLocaleDefinition;
package/dist/es.d.ts CHANGED
@@ -15,7 +15,7 @@ import { EponymeLocaleDefinition } from '@karibsen/eponyme';
15
15
  * ```
16
16
  *
17
17
  * No `plural`: Spanish selects the same three forms as the default rule. It differs from English
18
- * in that nought takes the plural — `0 elementos`, not `0 elemento` — and that is a matter of
18
+ * in that nought takes the plural – `0 elementos`, not `0 elemento` – and that is a matter of
19
19
  * wording, which lives in `es.json`, not of which form is chosen.
20
20
  */
21
21
  declare function es(overrides?: Record<string, string>): EponymeLocaleDefinition;
package/dist/es.mjs CHANGED
@@ -16,6 +16,10 @@ function requireEs () {
16
16
  "array.counterMin": "{count} elementos · mín. {min} | {count} elemento · mín. {min} | {count} elementos · mín. {min}",
17
17
  "array.counterMax": "{count} / {max} elementos | {count} / {max} elemento | {count} / {max} elementos",
18
18
  "array.counterMinMax": "{count} / {max} elementos · mín. {min} | {count} / {max} elemento · mín. {min} | {count} / {max} elementos · mín. {min}",
19
+ "array.item": "Elemento {index}",
20
+ "array.search": "Buscar elementos",
21
+ "array.noMatch": "Ningún elemento coincide con «{query}».",
22
+ "array.itemHasErrors": "Este elemento contiene errores",
19
23
  "select.search": "Buscar entre las opciones",
20
24
  "select.searchPlaceholder": "Buscar…",
21
25
  "select.empty": "Sin resultados.",
@@ -70,6 +74,11 @@ function requireEs () {
70
74
  "field.videoYoutube": "un enlace de YouTube",
71
75
  "field.videoVimeo": "un enlace de Vimeo",
72
76
  "field.videoUrl": "una URL de vídeo directa",
77
+ "field.imageSource": "Esta imagen debe ser {sources}.",
78
+ "field.imageSourceAbsolute": "una dirección en otro sitio",
79
+ "field.imageSourceRelative": "una ruta en este sitio",
80
+ "field.imageSourceUpload": "una imagen subida",
81
+ "field.file": "Debe ser una URL HTTP(S) o un archivo subido.",
73
82
  "form.body": "El cuerpo de la petición debe ser un objeto.",
74
83
  "action.cancel": "Cancelar",
75
84
  "action.confirm": "Confirmar",
@@ -77,6 +86,14 @@ function requireEs () {
77
86
  "accordion.open": "Abrir la carpeta",
78
87
  "accordion.close": "Cerrar la carpeta",
79
88
  "color.custom": "Color personalizado",
89
+ "color.black": "Negro",
90
+ "color.white": "Blanco",
91
+ "color.red": "Rojo",
92
+ "color.amber": "Ámbar",
93
+ "color.green": "Verde",
94
+ "color.blue": "Azul",
95
+ "color.purple": "Morado",
96
+ "color.pink": "Rosa",
80
97
  "password.show": "Mostrar la contraseña",
81
98
  "password.hide": "Ocultar la contraseña",
82
99
  "media.preview": "Vista previa del vídeo",
@@ -137,6 +154,13 @@ function requireEs () {
137
154
  "richText.quote": "Cita",
138
155
  "richText.undo": "Deshacer",
139
156
  "richText.redo": "Rehacer",
157
+ "richText.textColor": "Color del texto",
158
+ "richText.highlight": "Resaltado",
159
+ "richText.removeTextColor": "Sin color de texto",
160
+ "richText.removeHighlight": "Sin resaltado",
161
+ "richText.fullscreen": "Pantalla completa",
162
+ "richText.exitFullscreen": "Salir de pantalla completa",
163
+ "richText.selectionToolbar": "Formato de la selección",
140
164
  "media.youtube": "YouTube",
141
165
  "media.vimeo": "Vimeo",
142
166
  "media.direct": "Vídeo directo",
@@ -179,6 +203,8 @@ function requireEs () {
179
203
  "sidebar.profileMenu": "Perfil de {username}",
180
204
  "sidebar.lightTheme": "Tema claro",
181
205
  "sidebar.darkTheme": "Tema oscuro",
206
+ "sidebar.audit": "Registro de auditoría",
207
+ "sidebar.media": "Medios",
182
208
  "action.loading": "Cargando…",
183
209
  "status.draft": "Borrador",
184
210
  "status.published": "Publicado",
@@ -263,11 +289,15 @@ function requireEs () {
263
289
  "collection.purgeDescription": "«{title}», su contenido y todo su historial se perderán. Esta acción no se puede deshacer.",
264
290
  "collection.purgeAction": "Eliminar definitivamente",
265
291
  "collection.purgeFailed": "No se ha podido eliminar esta entrada definitivamente.",
292
+ "collection.duplicateTitle": "Duplicar la entrada",
293
+ "collection.duplicateDescription": "La nueva entrada parte del borrador de «{title}».",
294
+ "collection.copyOf": "{title} (copia)",
266
295
  "action.clearAll": "Eliminar todo",
267
296
  "action.actions": "Acciones",
268
297
  "action.yes": "Sí",
269
298
  "action.no": "No",
270
299
  "action.empty": "—",
300
+ "action.duplicate": "Duplicar",
271
301
  "submissions.received": "Recibida el",
272
302
  "submissions.mode": "Formulario",
273
303
  "submissions.modeManaged": "Gestionado",
@@ -289,6 +319,13 @@ function requireEs () {
289
319
  "submissions.deleteAction": "Eliminar envío",
290
320
  "submissions.deleteFailed": "No se ha podido eliminar este envío.",
291
321
  "submissions.pager": "{count} envíos · página {page} de {pages} | {count} envío · página {page} de {pages} | {count} envíos · página {page} de {pages}",
322
+ "submissions.selectAll": "Seleccionar todas las filas de esta página",
323
+ "submissions.selectRow": "Seleccionar este envío",
324
+ "submissions.selected": "{count} seleccionados | {count} seleccionado | {count} seleccionados",
325
+ "submissions.clearSelection": "Borrar la selección",
326
+ "submissions.deleteSelection": "Eliminar la selección",
327
+ "submissions.deleteSelectionTitle": "¿Eliminar los envíos seleccionados?",
328
+ "submissions.deleteSelectionDescription": "Se eliminarán {count} envíos. Esta acción no se puede deshacer. | Se eliminará {count} envío. Esta acción no se puede deshacer. | Se eliminarán {count} envíos. Esta acción no se puede deshacer.",
292
329
  "history.title": "Historial de versiones",
293
330
  "history.description": "Restaura un borrador o una versión publicada anterior de esta entrada.",
294
331
  "history.loading": "Cargando las versiones…",
@@ -429,9 +466,85 @@ function requireEs () {
429
466
  "server.rateLimited": "Demasiadas solicitudes. Inténtalo de nuevo más tarde.",
430
467
  "server.invalidJson": "El cuerpo de la solicitud debe ser JSON válido.",
431
468
  "server.bodyTooLarge": "El cuerpo de la solicitud es demasiado grande.",
469
+ "server.lifecycleContentForbidden": "Guarda el contenido como borrador antes de ejecutar una acción de publicación.",
470
+ "server.roleUnavailable": "Esta cuenta usa un rol que ya no existe. Pide a un owner que le asigne uno nuevo.",
471
+ "server.relationMissing": "Apunta a una entrada que no existe: {slugs}.",
472
+ "server.relationUnknownCollection": "Apunta a «{collection}», que no es una colección.",
473
+ "server.entryReferenced": "Todavía está referenciada por {entries}. Desvincúlala allí primero.",
474
+ "server.notFound": "No encontrado.",
475
+ "server.storageDisabled": "El almacenamiento de archivos no está configurado.",
476
+ "server.mediaInvalidKey": "Referencia de archivo no válida.",
477
+ "server.mediaInvalidType": "Tipo de archivo no válido.",
478
+ "server.mediaInvalidSize": "Tamaño de archivo no válido.",
479
+ "server.mediaTooLarge": "El archivo es demasiado grande. El límite es {max}.",
480
+ "server.mediaRejectedType": "Este tipo de archivo no se acepta. Tipos aceptados: {accept}.",
481
+ "server.mediaEmptyBody": "La subida no contenía datos.",
482
+ "server.mediaIncompleteUpload": "La subida no se completó. Inténtalo de nuevo.",
483
+ "server.mediaReadOnly": "El almacenamiento de archivos está mal configurado en este despliegue y no puede aceptar subidas. Pide a quien lo desplegó que configure un bucket.",
432
484
  "role.viewer": "Lector",
433
485
  "role.editor": "Editor",
434
- "role.owner": "Propietario"
486
+ "role.owner": "Propietario",
487
+ "relation.choose": "Elegir una entrada",
488
+ "relation.change": "Cambiar",
489
+ "relation.remove": "Quitar {entry}",
490
+ "relation.selected": "Seleccionada",
491
+ "relation.search": "Buscar entradas",
492
+ "relation.noMatch": "Ninguna entrada coincide con «{query}».",
493
+ "relation.empty": "Esta colección aún no tiene entradas.",
494
+ "relation.pickerTitle": "{collection}",
495
+ "relation.pickerDescription": "Elige la entrada a la que apunta este campo.",
496
+ "relation.shown": "{count} de {total}",
497
+ "relation.loadMore": "Cargar más",
498
+ "audit.title": "Registro de auditoría · Eponyme",
499
+ "audit.heading": "Registro de auditoría",
500
+ "audit.description": "Eventos de seguridad y editoriales de esta instancia de Eponyme.",
501
+ "audit.action": "Acción",
502
+ "audit.resource": "Recurso",
503
+ "audit.from": "Desde",
504
+ "audit.to": "Hasta",
505
+ "audit.filter": "Filtrar",
506
+ "audit.clear": "Borrar los filtros",
507
+ "audit.date": "Fecha",
508
+ "audit.actor": "Autor",
509
+ "audit.outcome": "Resultado",
510
+ "audit.system": "Sistema",
511
+ "audit.success": "Correcto",
512
+ "audit.failure": "Fallo",
513
+ "audit.empty": "Ningún evento coincide con estos filtros.",
514
+ "audit.more": "Cargar más",
515
+ "audit.loadFailed": "No se ha podido cargar el registro de auditoría.",
516
+ "library.title": "Medios",
517
+ "library.description": "Archivos subidos desde el panel, los más recientes primero.",
518
+ "library.upload": "Subir",
519
+ "library.uploading": "Subiendo {name}…",
520
+ "library.empty": "Aún no hay archivos.",
521
+ "library.emptyHint": "Sube uno para usarlo en una entrada.",
522
+ "library.search": "Buscar archivos",
523
+ "library.noMatch": "Ningún archivo coincide con «{query}».",
524
+ "library.loadMore": "Cargar más",
525
+ "library.loading": "Cargando…",
526
+ "library.select": "Seleccionar",
527
+ "library.delete": "Eliminar",
528
+ "library.deleteTitle": "¿Eliminar este archivo?",
529
+ "library.deleteMessage": "{name} se quitará del almacenamiento. Las entradas que ya apuntan a él mostrarán un archivo roto.",
530
+ "library.deleted": "Archivo eliminado.",
531
+ "library.copyUrl": "Copiar la URL",
532
+ "library.copied": "URL copiada.",
533
+ "library.uploadFailed": "La subida ha fallado.",
534
+ "library.cancel": "Cancelar",
535
+ "library.pick": "Elegir de la biblioteca",
536
+ "library.count": "{count} archivos",
537
+ "file.choose": "Subir un archivo",
538
+ "file.replace": "Reemplazar",
539
+ "file.remove": "Quitar",
540
+ "file.open": "Abrir en una pestaña nueva",
541
+ "file.drop": "Suelta un archivo aquí",
542
+ "file.or": "o",
543
+ "file.browse": "explorar",
544
+ "file.address": "Dirección",
545
+ "file.storageOff": "El almacenamiento no está configurado, así que este campo toma una dirección en lugar de una subida.",
546
+ "file.tooLarge": "Este archivo supera {max}.",
547
+ "file.rejectedType": "Este tipo de archivo no se acepta. Tipos aceptados: {accept}."
435
548
  };
436
549
  return es$1;
437
550
  }
package/dist/fr.d.mts CHANGED
@@ -14,7 +14,7 @@ import { EponymeLocaleDefinition } from '@karibsen/eponyme';
14
14
  * })
15
15
  * ```
16
16
  *
17
- * No `plural`: French selects the same three forms as the default rule — nought and one take the
17
+ * No `plural`: French selects the same three forms as the default rule – nought and one take the
18
18
  * singular, everything above takes the plural. What differs from English is the wording of the
19
19
  * zero form, and that lives in `fr.json`, not in the rule.
20
20
  */
package/dist/fr.d.ts CHANGED
@@ -14,7 +14,7 @@ import { EponymeLocaleDefinition } from '@karibsen/eponyme';
14
14
  * })
15
15
  * ```
16
16
  *
17
- * No `plural`: French selects the same three forms as the default rule — nought and one take the
17
+ * No `plural`: French selects the same three forms as the default rule – nought and one take the
18
18
  * singular, everything above takes the plural. What differs from English is the wording of the
19
19
  * zero form, and that lives in `fr.json`, not in the rule.
20
20
  */
package/dist/fr.mjs CHANGED
@@ -16,6 +16,10 @@ function requireFr () {
16
16
  "array.counterMin": "{count} élément · min {min} | {count} élément · min {min} | {count} éléments · min {min}",
17
17
  "array.counterMax": "{count} / {max} élément | {count} / {max} élément | {count} / {max} éléments",
18
18
  "array.counterMinMax": "{count} / {max} élément · min {min} | {count} / {max} élément · min {min} | {count} / {max} éléments · min {min}",
19
+ "array.item": "Élément {index}",
20
+ "array.search": "Rechercher des éléments",
21
+ "array.noMatch": "Aucun élément ne correspond à « {query} ».",
22
+ "array.itemHasErrors": "Cet élément contient des erreurs",
19
23
  "select.search": "Rechercher une option",
20
24
  "select.searchPlaceholder": "Rechercher…",
21
25
  "select.empty": "Aucune option trouvée.",
@@ -70,6 +74,11 @@ function requireFr () {
70
74
  "field.videoYoutube": "un lien YouTube",
71
75
  "field.videoVimeo": "un lien Vimeo",
72
76
  "field.videoUrl": "une URL de vidéo directe",
77
+ "field.imageSource": "Cette image doit être {sources}.",
78
+ "field.imageSourceAbsolute": "une adresse sur un autre site",
79
+ "field.imageSourceRelative": "un chemin sur ce site",
80
+ "field.imageSourceUpload": "une image téléversée",
81
+ "field.file": "Doit être une URL HTTP(S) ou un fichier téléversé.",
73
82
  "form.body": "Les données envoyées ne sont pas au bon format.",
74
83
  "action.cancel": "Annuler",
75
84
  "action.confirm": "Confirmer",
@@ -88,9 +97,18 @@ function requireFr () {
88
97
  "action.yes": "Oui",
89
98
  "action.no": "Non",
90
99
  "action.empty": "—",
100
+ "action.duplicate": "Dupliquer",
91
101
  "accordion.open": "Ouvrir le dossier",
92
102
  "accordion.close": "Fermer le dossier",
93
103
  "color.custom": "Couleur personnalisée",
104
+ "color.black": "Noir",
105
+ "color.white": "Blanc",
106
+ "color.red": "Rouge",
107
+ "color.amber": "Ambre",
108
+ "color.green": "Vert",
109
+ "color.blue": "Bleu",
110
+ "color.purple": "Violet",
111
+ "color.pink": "Rose",
94
112
  "password.show": "Afficher le mot de passe",
95
113
  "password.hide": "Masquer le mot de passe",
96
114
  "media.preview": "Aperçu de la vidéo",
@@ -151,6 +169,13 @@ function requireFr () {
151
169
  "richText.quote": "Citation",
152
170
  "richText.undo": "Annuler",
153
171
  "richText.redo": "Rétablir",
172
+ "richText.textColor": "Couleur du texte",
173
+ "richText.highlight": "Surlignage",
174
+ "richText.removeTextColor": "Aucune couleur de texte",
175
+ "richText.removeHighlight": "Aucun surlignage",
176
+ "richText.fullscreen": "Plein écran",
177
+ "richText.exitFullscreen": "Quitter le plein écran",
178
+ "richText.selectionToolbar": "Mise en forme de la sélection",
154
179
  "media.youtube": "YouTube",
155
180
  "media.vimeo": "Vimeo",
156
181
  "media.direct": "Vidéo directe",
@@ -185,6 +210,8 @@ function requireFr () {
185
210
  "sidebar.profileMenu": "Profil de {username}",
186
211
  "sidebar.lightTheme": "Thème clair",
187
212
  "sidebar.darkTheme": "Thème sombre",
213
+ "sidebar.audit": "Journal d'audit",
214
+ "sidebar.media": "Médias",
188
215
  "status.draft": "Brouillon",
189
216
  "status.published": "Publié",
190
217
  "status.unpublished": "Non publié",
@@ -268,6 +295,9 @@ function requireFr () {
268
295
  "collection.purgeDescription": "« {title} », son contenu et tout son historique seront perdus. Cette action est irréversible.",
269
296
  "collection.purgeAction": "Supprimer définitivement",
270
297
  "collection.purgeFailed": "Impossible de supprimer définitivement cette entrée.",
298
+ "collection.duplicateTitle": "Dupliquer l'entrée",
299
+ "collection.duplicateDescription": "La nouvelle entrée part du brouillon de « {title} ».",
300
+ "collection.copyOf": "{title} (copie)",
271
301
  "submissions.received": "Reçue le",
272
302
  "submissions.mode": "Formulaire",
273
303
  "submissions.modeManaged": "Géré",
@@ -289,6 +319,13 @@ function requireFr () {
289
319
  "submissions.deleteAction": "Supprimer la réponse",
290
320
  "submissions.deleteFailed": "Impossible de supprimer cette réponse.",
291
321
  "submissions.pager": "{count} réponse · page {page} sur {pages} | {count} réponse · page {page} sur {pages} | {count} réponses · page {page} sur {pages}",
322
+ "submissions.selectAll": "Sélectionner toutes les lignes de cette page",
323
+ "submissions.selectRow": "Sélectionner cet envoi",
324
+ "submissions.selected": "{count} sélectionné | {count} sélectionné | {count} sélectionnés",
325
+ "submissions.clearSelection": "Effacer la sélection",
326
+ "submissions.deleteSelection": "Supprimer la sélection",
327
+ "submissions.deleteSelectionTitle": "Supprimer les envois sélectionnés ?",
328
+ "submissions.deleteSelectionDescription": "{count} envois seront supprimés. Cette action est irréversible. | {count} envoi sera supprimé. Cette action est irréversible. | {count} envois seront supprimés. Cette action est irréversible.",
292
329
  "history.title": "Historique des versions",
293
330
  "history.description": "Retrouvez et restaurez une ancienne version, publiée ou enregistrée comme brouillon.",
294
331
  "history.loading": "Chargement des versions…",
@@ -429,9 +466,85 @@ function requireFr () {
429
466
  "server.rateLimited": "Trop de requêtes. Réessayez plus tard.",
430
467
  "server.invalidJson": "Le corps de la requête doit être un JSON valide.",
431
468
  "server.bodyTooLarge": "Le corps de la requête est trop volumineux.",
469
+ "server.lifecycleContentForbidden": "Enregistrer le contenu comme brouillon avant de lancer une action de publication.",
470
+ "server.roleUnavailable": "Ce compte utilise un rôle qui n'existe plus. Demandez à un owner de lui en attribuer un nouveau.",
471
+ "server.relationMissing": "Pointe vers une entrée qui n'existe pas : {slugs}.",
472
+ "server.relationUnknownCollection": "Pointe vers « {collection} », qui n'est pas une collection.",
473
+ "server.entryReferenced": "Encore référencée par {entries}. Détachez-la là-bas au préalable.",
474
+ "server.notFound": "Introuvable.",
475
+ "server.storageDisabled": "Le stockage de fichiers n'est pas configuré.",
476
+ "server.mediaInvalidKey": "Référence de fichier invalide.",
477
+ "server.mediaInvalidType": "Type de fichier invalide.",
478
+ "server.mediaInvalidSize": "Taille de fichier invalide.",
479
+ "server.mediaTooLarge": "Fichier trop volumineux. La limite est {max}.",
480
+ "server.mediaRejectedType": "Ce type de fichier n'est pas accepté. Types acceptés : {accept}.",
481
+ "server.mediaEmptyBody": "Le téléversement ne contenait aucune donnée.",
482
+ "server.mediaIncompleteUpload": "Le téléversement ne s'est pas terminé. Réessayez.",
483
+ "server.mediaReadOnly": "Le stockage de fichiers est mal configuré sur ce déploiement et ne peut pas accepter de téléversement. Demandez à la personne qui l'a déployé de configurer un bucket.",
432
484
  "role.viewer": "Lecteur",
433
485
  "role.editor": "Éditeur",
434
- "role.owner": "Propriétaire"
486
+ "role.owner": "Propriétaire",
487
+ "relation.choose": "Choisir une entrée",
488
+ "relation.change": "Modifier",
489
+ "relation.remove": "Retirer {entry}",
490
+ "relation.selected": "Sélectionnée",
491
+ "relation.search": "Rechercher des entrées",
492
+ "relation.noMatch": "Aucune entrée ne correspond à « {query} ».",
493
+ "relation.empty": "Cette collection n'a encore aucune entrée.",
494
+ "relation.pickerTitle": "{collection}",
495
+ "relation.pickerDescription": "Choisir l'entrée vers laquelle ce champ pointe.",
496
+ "relation.shown": "{count} sur {total}",
497
+ "relation.loadMore": "Charger plus",
498
+ "audit.title": "Journal d'audit · Eponyme",
499
+ "audit.heading": "Journal d'audit",
500
+ "audit.description": "Événements de sécurité et de publication de cette instance Eponyme.",
501
+ "audit.action": "Action",
502
+ "audit.resource": "Ressource",
503
+ "audit.from": "Du",
504
+ "audit.to": "Au",
505
+ "audit.filter": "Filtrer",
506
+ "audit.clear": "Effacer les filtres",
507
+ "audit.date": "Date",
508
+ "audit.actor": "Auteur",
509
+ "audit.outcome": "Résultat",
510
+ "audit.system": "Système",
511
+ "audit.success": "Succès",
512
+ "audit.failure": "Échec",
513
+ "audit.empty": "Aucun événement ne correspond à ces filtres.",
514
+ "audit.more": "Charger plus",
515
+ "audit.loadFailed": "Impossible de charger le journal d'audit.",
516
+ "library.title": "Médias",
517
+ "library.description": "Fichiers téléversés depuis le dashboard, les plus récents en premier.",
518
+ "library.upload": "Téléverser",
519
+ "library.uploading": "Téléversement de {name}…",
520
+ "library.empty": "Aucun fichier pour le moment.",
521
+ "library.emptyHint": "Téléversez-en un pour l'utiliser dans une entrée.",
522
+ "library.search": "Rechercher des fichiers",
523
+ "library.noMatch": "Aucun fichier ne correspond à « {query} ».",
524
+ "library.loadMore": "Charger plus",
525
+ "library.loading": "Chargement…",
526
+ "library.select": "Sélectionner",
527
+ "library.delete": "Supprimer",
528
+ "library.deleteTitle": "Supprimer ce fichier ?",
529
+ "library.deleteMessage": "{name} sera retiré du stockage. Les entrées qui pointent déjà vers lui afficheront un fichier cassé.",
530
+ "library.deleted": "Fichier supprimé.",
531
+ "library.copyUrl": "Copier l'URL",
532
+ "library.copied": "URL copiée.",
533
+ "library.uploadFailed": "Le téléversement a échoué.",
534
+ "library.cancel": "Annuler",
535
+ "library.pick": "Choisir dans la médiathèque",
536
+ "library.count": "{count} fichiers",
537
+ "file.choose": "Téléverser un fichier",
538
+ "file.replace": "Remplacer",
539
+ "file.remove": "Retirer",
540
+ "file.open": "Ouvrir dans un nouvel onglet",
541
+ "file.drop": "Déposer un fichier ici",
542
+ "file.or": "ou",
543
+ "file.browse": "parcourir",
544
+ "file.address": "Adresse",
545
+ "file.storageOff": "Le stockage n'est pas configuré, ce champ prend donc une adresse plutôt qu'un téléversement.",
546
+ "file.tooLarge": "Ce fichier dépasse {max}.",
547
+ "file.rejectedType": "Ce type de fichier n'est pas accepté. Types acceptés : {accept}."
435
548
  };
436
549
  return fr$1;
437
550
  }
package/dist/it.mjs CHANGED
@@ -16,6 +16,10 @@ function requireIt () {
16
16
  "array.counterMin": "{count} elemento · min {min} | {count} elemento · min {min} | {count} elementi · min {min}",
17
17
  "array.counterMax": "{count} / {max} elemento | {count} / {max} elemento | {count} / {max} elementi",
18
18
  "array.counterMinMax": "{count} / {max} elemento · min {min} | {count} / {max} elemento · min {min} | {count} / {max} elementi · min {min}",
19
+ "array.item": "Elemento {index}",
20
+ "array.search": "Cerca elementi",
21
+ "array.noMatch": "Nessun elemento corrisponde a « {query} ».",
22
+ "array.itemHasErrors": "Questo elemento contiene errori",
19
23
  "select.search": "Cerca un'opzione",
20
24
  "select.searchPlaceholder": "Cerca…",
21
25
  "select.empty": "Nessuna opzione trovata.",
@@ -70,6 +74,11 @@ function requireIt () {
70
74
  "field.videoYoutube": "un link YouTube",
71
75
  "field.videoVimeo": "un link Vimeo",
72
76
  "field.videoUrl": "un URL video diretto",
77
+ "field.imageSource": "Questa immagine deve essere {sources}.",
78
+ "field.imageSourceAbsolute": "un indirizzo su un altro sito",
79
+ "field.imageSourceRelative": "un percorso su questo sito",
80
+ "field.imageSourceUpload": "un'immagine caricata",
81
+ "field.file": "Deve essere un URL HTTP(S) o un file caricato.",
73
82
  "form.body": "I dati inviati non sono nel formato corretto.",
74
83
  "action.cancel": "Annulla",
75
84
  "action.confirm": "Conferma",
@@ -88,9 +97,18 @@ function requireIt () {
88
97
  "action.yes": "Sì",
89
98
  "action.no": "No",
90
99
  "action.empty": "—",
100
+ "action.duplicate": "Duplica",
91
101
  "accordion.open": "Apri la cartella",
92
102
  "accordion.close": "Chiudi la cartella",
93
103
  "color.custom": "Colore personalizzato",
104
+ "color.black": "Nero",
105
+ "color.white": "Bianco",
106
+ "color.red": "Rosso",
107
+ "color.amber": "Ambra",
108
+ "color.green": "Verde",
109
+ "color.blue": "Blu",
110
+ "color.purple": "Viola",
111
+ "color.pink": "Rosa",
94
112
  "password.show": "Mostra la password",
95
113
  "password.hide": "Nascondi la password",
96
114
  "media.preview": "Anteprima video",
@@ -151,6 +169,13 @@ function requireIt () {
151
169
  "richText.quote": "Citazione",
152
170
  "richText.undo": "Annulla",
153
171
  "richText.redo": "Ripeti",
172
+ "richText.textColor": "Colore del testo",
173
+ "richText.highlight": "Evidenziazione",
174
+ "richText.removeTextColor": "Nessun colore del testo",
175
+ "richText.removeHighlight": "Nessuna evidenziazione",
176
+ "richText.fullscreen": "Schermo intero",
177
+ "richText.exitFullscreen": "Esci da schermo intero",
178
+ "richText.selectionToolbar": "Formattazione della selezione",
154
179
  "media.youtube": "YouTube",
155
180
  "media.vimeo": "Vimeo",
156
181
  "media.direct": "Video diretto",
@@ -185,6 +210,8 @@ function requireIt () {
185
210
  "sidebar.profileMenu": "Profilo di {username}",
186
211
  "sidebar.lightTheme": "Tema chiaro",
187
212
  "sidebar.darkTheme": "Tema scuro",
213
+ "sidebar.audit": "Registro di controllo",
214
+ "sidebar.media": "Media",
188
215
  "status.draft": "Bozza",
189
216
  "status.published": "Pubblicato",
190
217
  "status.unpublished": "Non pubblicato",
@@ -268,6 +295,9 @@ function requireIt () {
268
295
  "collection.purgeDescription": "« {title} », il suo contenuto e tutta la sua cronologia andranno persi. Questa azione è irreversibile.",
269
296
  "collection.purgeAction": "Elimina definitivamente",
270
297
  "collection.purgeFailed": "Impossibile eliminare definitivamente questa voce.",
298
+ "collection.duplicateTitle": "Duplica la voce",
299
+ "collection.duplicateDescription": "La nuova voce parte dalla bozza di « {title} ».",
300
+ "collection.copyOf": "{title} (copia)",
271
301
  "submissions.received": "Ricevuto il",
272
302
  "submissions.mode": "Modulo",
273
303
  "submissions.modeManaged": "Gestito",
@@ -289,6 +319,13 @@ function requireIt () {
289
319
  "submissions.deleteAction": "Elimina risposta",
290
320
  "submissions.deleteFailed": "Impossibile eliminare questa risposta.",
291
321
  "submissions.pager": "{count} risposta · pagina {page} di {pages} | {count} risposta · pagina {page} di {pages} | {count} risposte · pagina {page} di {pages}",
322
+ "submissions.selectAll": "Seleziona tutte le righe di questa pagina",
323
+ "submissions.selectRow": "Seleziona questo invio",
324
+ "submissions.selected": "{count} selezionati | {count} selezionato | {count} selezionati",
325
+ "submissions.clearSelection": "Cancella la selezione",
326
+ "submissions.deleteSelection": "Elimina la selezione",
327
+ "submissions.deleteSelectionTitle": "Eliminare gli invii selezionati?",
328
+ "submissions.deleteSelectionDescription": "Verranno eliminati {count} invii. Questa azione non può essere annullata. | Verrà eliminato {count} invio. Questa azione non può essere annullata. | Verranno eliminati {count} invii. Questa azione non può essere annullata.",
292
329
  "history.title": "Cronologia delle versioni",
293
330
  "history.description": "Trova e ripristina una vecchia versione, pubblicata o salvata come bozza.",
294
331
  "history.loading": "Caricamento delle versioni…",
@@ -429,9 +466,85 @@ function requireIt () {
429
466
  "server.rateLimited": "Troppe richieste. Riprova più tardi.",
430
467
  "server.invalidJson": "Il corpo della richiesta deve essere JSON valido.",
431
468
  "server.bodyTooLarge": "Il corpo della richiesta è troppo grande.",
469
+ "server.lifecycleContentForbidden": "Salva il contenuto come bozza prima di eseguire un'azione di pubblicazione.",
470
+ "server.roleUnavailable": "Questo account usa un ruolo che non esiste più. Chiedi a un owner di assegnarne uno nuovo.",
471
+ "server.relationMissing": "Punta a una voce che non esiste: {slugs}.",
472
+ "server.relationUnknownCollection": "Punta a « {collection} », che non è una collezione.",
473
+ "server.entryReferenced": "Ancora referenziata da {entries}. Scollegala prima da lì.",
474
+ "server.notFound": "Non trovato.",
475
+ "server.storageDisabled": "L'archiviazione dei file non è configurata.",
476
+ "server.mediaInvalidKey": "Riferimento al file non valido.",
477
+ "server.mediaInvalidType": "Tipo di file non valido.",
478
+ "server.mediaInvalidSize": "Dimensione del file non valida.",
479
+ "server.mediaTooLarge": "File troppo grande. Il limite è {max}.",
480
+ "server.mediaRejectedType": "Questo tipo di file non è accettato. Tipi accettati: {accept}.",
481
+ "server.mediaEmptyBody": "Il caricamento non conteneva dati.",
482
+ "server.mediaIncompleteUpload": "Il caricamento non è stato completato. Riprova.",
483
+ "server.mediaReadOnly": "L'archiviazione dei file non è configurata correttamente in questo deployment e non può accettare caricamenti. Chiedi a chi lo ha distribuito di configurare un bucket.",
432
484
  "role.viewer": "Lettore",
433
485
  "role.editor": "Editore",
434
- "role.owner": "Proprietario"
486
+ "role.owner": "Proprietario",
487
+ "relation.choose": "Scegli una voce",
488
+ "relation.change": "Cambia",
489
+ "relation.remove": "Rimuovi {entry}",
490
+ "relation.selected": "Selezionata",
491
+ "relation.search": "Cerca voci",
492
+ "relation.noMatch": "Nessuna voce corrisponde a « {query} ».",
493
+ "relation.empty": "Questa collezione non ha ancora voci.",
494
+ "relation.pickerTitle": "{collection}",
495
+ "relation.pickerDescription": "Scegli la voce a cui punta questo campo.",
496
+ "relation.shown": "{count} di {total}",
497
+ "relation.loadMore": "Carica altro",
498
+ "audit.title": "Registro di controllo · Eponyme",
499
+ "audit.heading": "Registro di controllo",
500
+ "audit.description": "Eventi di sicurezza ed editoriali di questa istanza Eponyme.",
501
+ "audit.action": "Azione",
502
+ "audit.resource": "Risorsa",
503
+ "audit.from": "Dal",
504
+ "audit.to": "Al",
505
+ "audit.filter": "Filtra",
506
+ "audit.clear": "Cancella i filtri",
507
+ "audit.date": "Data",
508
+ "audit.actor": "Autore",
509
+ "audit.outcome": "Esito",
510
+ "audit.system": "Sistema",
511
+ "audit.success": "Riuscito",
512
+ "audit.failure": "Fallito",
513
+ "audit.empty": "Nessun evento corrisponde a questi filtri.",
514
+ "audit.more": "Carica altro",
515
+ "audit.loadFailed": "Impossibile caricare il registro di controllo.",
516
+ "library.title": "Media",
517
+ "library.description": "File caricati dalla dashboard, i più recenti per primi.",
518
+ "library.upload": "Carica",
519
+ "library.uploading": "Caricamento di {name}…",
520
+ "library.empty": "Nessun file per ora.",
521
+ "library.emptyHint": "Caricane uno per usarlo in una voce.",
522
+ "library.search": "Cerca file",
523
+ "library.noMatch": "Nessun file corrisponde a « {query} ».",
524
+ "library.loadMore": "Carica altro",
525
+ "library.loading": "Caricamento…",
526
+ "library.select": "Seleziona",
527
+ "library.delete": "Elimina",
528
+ "library.deleteTitle": "Eliminare questo file?",
529
+ "library.deleteMessage": "{name} verrà rimosso dall'archiviazione. Le voci che già puntano a esso mostreranno un file non valido.",
530
+ "library.deleted": "File eliminato.",
531
+ "library.copyUrl": "Copia l'URL",
532
+ "library.copied": "URL copiato.",
533
+ "library.uploadFailed": "Il caricamento non è riuscito.",
534
+ "library.cancel": "Annulla",
535
+ "library.pick": "Scegli dalla libreria",
536
+ "library.count": "{count} file",
537
+ "file.choose": "Carica un file",
538
+ "file.replace": "Sostituisci",
539
+ "file.remove": "Rimuovi",
540
+ "file.open": "Apri in una nuova scheda",
541
+ "file.drop": "Trascina qui un file",
542
+ "file.or": "oppure",
543
+ "file.browse": "sfoglia",
544
+ "file.address": "Indirizzo",
545
+ "file.storageOff": "L'archiviazione non è configurata, quindi questo campo accetta un indirizzo anziché un caricamento.",
546
+ "file.tooLarge": "Questo file supera {max}.",
547
+ "file.rejectedType": "Questo tipo di file non è accettato. Tipi accettati: {accept}."
435
548
  };
436
549
  return it$1;
437
550
  }
package/dist/nl.mjs CHANGED
@@ -16,6 +16,10 @@ function requireNl () {
16
16
  "array.counterMin": "{count} item · min {min} | {count} item · min {min} | {count} items · min {min}",
17
17
  "array.counterMax": "{count} / {max} item | {count} / {max} item | {count} / {max} items",
18
18
  "array.counterMinMax": "{count} / {max} item · min {min} | {count} / {max} item · min {min} | {count} / {max} items · min {min}",
19
+ "array.item": "Item {index}",
20
+ "array.search": "Items zoeken",
21
+ "array.noMatch": "Geen item komt overeen met '{query}'.",
22
+ "array.itemHasErrors": "Dit item bevat fouten",
19
23
  "select.search": "Zoek een optie",
20
24
  "select.searchPlaceholder": "Zoeken…",
21
25
  "select.empty": "Geen opties gevonden.",
@@ -70,6 +74,11 @@ function requireNl () {
70
74
  "field.videoYoutube": "een YouTube-link",
71
75
  "field.videoVimeo": "een Vimeo-link",
72
76
  "field.videoUrl": "een directe video-URL",
77
+ "field.imageSource": "Deze afbeelding moet {sources} zijn.",
78
+ "field.imageSourceAbsolute": "een adres op een andere site",
79
+ "field.imageSourceRelative": "een pad op deze site",
80
+ "field.imageSourceUpload": "een geüploade afbeelding",
81
+ "field.file": "Moet een HTTP(S)-URL of een geüpload bestand zijn.",
73
82
  "form.body": "De verzonden gegevens zijn niet in het juiste formaat.",
74
83
  "action.cancel": "Annuleren",
75
84
  "action.confirm": "Bevestigen",
@@ -88,9 +97,18 @@ function requireNl () {
88
97
  "action.yes": "Ja",
89
98
  "action.no": "Nee",
90
99
  "action.empty": "—",
100
+ "action.duplicate": "Dupliceren",
91
101
  "accordion.open": "Map openen",
92
102
  "accordion.close": "Map sluiten",
93
103
  "color.custom": "Aangepaste kleur",
104
+ "color.black": "Zwart",
105
+ "color.white": "Wit",
106
+ "color.red": "Rood",
107
+ "color.amber": "Amber",
108
+ "color.green": "Groen",
109
+ "color.blue": "Blauw",
110
+ "color.purple": "Paars",
111
+ "color.pink": "Roze",
94
112
  "password.show": "Wachtwoord weergeven",
95
113
  "password.hide": "Wachtwoord verbergen",
96
114
  "media.preview": "Videovoorbeeld",
@@ -151,6 +169,13 @@ function requireNl () {
151
169
  "richText.quote": "Citaat",
152
170
  "richText.undo": "Ongedaan maken",
153
171
  "richText.redo": "Opnieuw uitvoeren",
172
+ "richText.textColor": "Tekstkleur",
173
+ "richText.highlight": "Markering",
174
+ "richText.removeTextColor": "Geen tekstkleur",
175
+ "richText.removeHighlight": "Geen markering",
176
+ "richText.fullscreen": "Volledig scherm",
177
+ "richText.exitFullscreen": "Volledig scherm verlaten",
178
+ "richText.selectionToolbar": "Opmaak van de selectie",
154
179
  "media.youtube": "YouTube",
155
180
  "media.vimeo": "Vimeo",
156
181
  "media.direct": "Directe video",
@@ -185,6 +210,8 @@ function requireNl () {
185
210
  "sidebar.profileMenu": "Profiel van {username}",
186
211
  "sidebar.lightTheme": "Licht thema",
187
212
  "sidebar.darkTheme": "Donker thema",
213
+ "sidebar.audit": "Auditlogboek",
214
+ "sidebar.media": "Media",
188
215
  "status.draft": "Concept",
189
216
  "status.published": "Gepubliceerd",
190
217
  "status.unpublished": "Niet gepubliceerd",
@@ -268,6 +295,9 @@ function requireNl () {
268
295
  "collection.purgeDescription": "'{title}', de inhoud en de volledige geschiedenis gaan verloren. Deze actie kan niet ongedaan worden gemaakt.",
269
296
  "collection.purgeAction": "Definitief verwijderen",
270
297
  "collection.purgeFailed": "Kan deze invoer niet definitief verwijderen.",
298
+ "collection.duplicateTitle": "Item dupliceren",
299
+ "collection.duplicateDescription": "Het nieuwe item vertrekt vanuit het concept van '{title}'.",
300
+ "collection.copyOf": "{title} (kopie)",
271
301
  "submissions.received": "Ontvangen op",
272
302
  "submissions.mode": "Formulier",
273
303
  "submissions.modeManaged": "Beheerd",
@@ -289,6 +319,13 @@ function requireNl () {
289
319
  "submissions.deleteAction": "Reactie verwijderen",
290
320
  "submissions.deleteFailed": "Kan deze reactie niet verwijderen.",
291
321
  "submissions.pager": "{count} reactie · pagina {page} van {pages} | {count} reactie · pagina {page} van {pages} | {count} reacties · pagina {page} van {pages}",
322
+ "submissions.selectAll": "Alle rijen op deze pagina selecteren",
323
+ "submissions.selectRow": "Deze inzending selecteren",
324
+ "submissions.selected": "{count} geselecteerd | {count} geselecteerd | {count} geselecteerd",
325
+ "submissions.clearSelection": "Selectie wissen",
326
+ "submissions.deleteSelection": "Selectie verwijderen",
327
+ "submissions.deleteSelectionTitle": "Geselecteerde inzendingen verwijderen?",
328
+ "submissions.deleteSelectionDescription": "Er worden {count} inzendingen verwijderd. Dit kan niet ongedaan worden gemaakt. | Er wordt {count} inzending verwijderd. Dit kan niet ongedaan worden gemaakt. | Er worden {count} inzendingen verwijderd. Dit kan niet ongedaan worden gemaakt.",
292
329
  "history.title": "Versiegeschiedenis",
293
330
  "history.description": "Vind en herstel een eerdere versie, gepubliceerd of opgeslagen als concept.",
294
331
  "history.loading": "Versies laden…",
@@ -429,9 +466,85 @@ function requireNl () {
429
466
  "server.rateLimited": "Te veel verzoeken. Probeer het later opnieuw.",
430
467
  "server.invalidJson": "De inhoud van het verzoek moet geldige JSON zijn.",
431
468
  "server.bodyTooLarge": "De inhoud van het verzoek is te groot.",
469
+ "server.lifecycleContentForbidden": "Sla de inhoud op als concept voordat je een publicatieactie uitvoert.",
470
+ "server.roleUnavailable": "Dit account gebruikt een rol die niet meer bestaat. Vraag een owner om een nieuwe toe te wijzen.",
471
+ "server.relationMissing": "Verwijst naar een item dat niet bestaat: {slugs}.",
472
+ "server.relationUnknownCollection": "Verwijst naar '{collection}', wat geen collectie is.",
473
+ "server.entryReferenced": "Wordt nog gebruikt door {entries}. Ontkoppel het daar eerst.",
474
+ "server.notFound": "Niet gevonden.",
475
+ "server.storageDisabled": "Bestandsopslag is niet geconfigureerd.",
476
+ "server.mediaInvalidKey": "Ongeldige bestandsverwijzing.",
477
+ "server.mediaInvalidType": "Ongeldig bestandstype.",
478
+ "server.mediaInvalidSize": "Ongeldige bestandsgrootte.",
479
+ "server.mediaTooLarge": "Bestand is te groot. De limiet is {max}.",
480
+ "server.mediaRejectedType": "Dit bestandstype wordt niet geaccepteerd. Geaccepteerde types: {accept}.",
481
+ "server.mediaEmptyBody": "De upload bevatte geen gegevens.",
482
+ "server.mediaIncompleteUpload": "De upload is niet voltooid. Probeer het opnieuw.",
483
+ "server.mediaReadOnly": "Bestandsopslag is verkeerd geconfigureerd in deze deployment en kan geen uploads accepteren. Vraag degene die het heeft uitgerold om een bucket te configureren.",
432
484
  "role.viewer": "Lezer",
433
485
  "role.editor": "Bewerker",
434
- "role.owner": "Eigenaar"
486
+ "role.owner": "Eigenaar",
487
+ "relation.choose": "Kies een item",
488
+ "relation.change": "Wijzigen",
489
+ "relation.remove": "{entry} verwijderen",
490
+ "relation.selected": "Geselecteerd",
491
+ "relation.search": "Items zoeken",
492
+ "relation.noMatch": "Geen item komt overeen met '{query}'.",
493
+ "relation.empty": "Deze collectie heeft nog geen items.",
494
+ "relation.pickerTitle": "{collection}",
495
+ "relation.pickerDescription": "Kies het item waar dit veld naar verwijst.",
496
+ "relation.shown": "{count} van {total}",
497
+ "relation.loadMore": "Meer laden",
498
+ "audit.title": "Auditlogboek · Eponyme",
499
+ "audit.heading": "Auditlogboek",
500
+ "audit.description": "Beveiligings- en redactionele gebeurtenissen van deze Eponyme-instantie.",
501
+ "audit.action": "Actie",
502
+ "audit.resource": "Bron",
503
+ "audit.from": "Van",
504
+ "audit.to": "Tot",
505
+ "audit.filter": "Filteren",
506
+ "audit.clear": "Filters wissen",
507
+ "audit.date": "Datum",
508
+ "audit.actor": "Actor",
509
+ "audit.outcome": "Resultaat",
510
+ "audit.system": "Systeem",
511
+ "audit.success": "Geslaagd",
512
+ "audit.failure": "Mislukt",
513
+ "audit.empty": "Geen gebeurtenis komt overeen met deze filters.",
514
+ "audit.more": "Meer laden",
515
+ "audit.loadFailed": "Het auditlogboek kan niet worden geladen.",
516
+ "library.title": "Media",
517
+ "library.description": "Bestanden geüpload vanuit het dashboard, nieuwste eerst.",
518
+ "library.upload": "Uploaden",
519
+ "library.uploading": "{name} uploaden…",
520
+ "library.empty": "Nog geen bestanden.",
521
+ "library.emptyHint": "Upload er een om het in een item te gebruiken.",
522
+ "library.search": "Bestanden zoeken",
523
+ "library.noMatch": "Geen bestand komt overeen met '{query}'.",
524
+ "library.loadMore": "Meer laden",
525
+ "library.loading": "Laden…",
526
+ "library.select": "Selecteren",
527
+ "library.delete": "Verwijderen",
528
+ "library.deleteTitle": "Dit bestand verwijderen?",
529
+ "library.deleteMessage": "{name} wordt uit de opslag verwijderd. Items die er al naar verwijzen tonen een kapot bestand.",
530
+ "library.deleted": "Bestand verwijderd.",
531
+ "library.copyUrl": "URL kopiëren",
532
+ "library.copied": "URL gekopieerd.",
533
+ "library.uploadFailed": "De upload is mislukt.",
534
+ "library.cancel": "Annuleren",
535
+ "library.pick": "Kies uit de bibliotheek",
536
+ "library.count": "{count} bestanden",
537
+ "file.choose": "Een bestand uploaden",
538
+ "file.replace": "Vervangen",
539
+ "file.remove": "Verwijderen",
540
+ "file.open": "Openen in een nieuw tabblad",
541
+ "file.drop": "Sleep hier een bestand",
542
+ "file.or": "of",
543
+ "file.browse": "bladeren",
544
+ "file.address": "Adres",
545
+ "file.storageOff": "Opslag is niet geconfigureerd, dus dit veld neemt een adres in plaats van een upload.",
546
+ "file.tooLarge": "Dit bestand is groter dan {max}.",
547
+ "file.rejectedType": "Dit bestandstype wordt niet geaccepteerd. Geaccepteerde types: {accept}."
435
548
  };
436
549
  return nl$1;
437
550
  }
package/dist/pt.mjs CHANGED
@@ -16,6 +16,10 @@ function requirePt () {
16
16
  "array.counterMin": "{count} item · mín {min} | {count} item · mín {min} | {count} itens · mín {min}",
17
17
  "array.counterMax": "{count} / {max} item | {count} / {max} item | {count} / {max} itens",
18
18
  "array.counterMinMax": "{count} / {max} item · mín {min} | {count} / {max} item · mín {min} | {count} / {max} itens · mín {min}",
19
+ "array.item": "Item {index}",
20
+ "array.search": "Procurar itens",
21
+ "array.noMatch": "Nenhum item corresponde a «{query}».",
22
+ "array.itemHasErrors": "Este item contém erros",
19
23
  "select.search": "Pesquisar uma opção",
20
24
  "select.searchPlaceholder": "Pesquisar…",
21
25
  "select.empty": "Nenhuma opção encontrada.",
@@ -70,6 +74,11 @@ function requirePt () {
70
74
  "field.videoYoutube": "um link do YouTube",
71
75
  "field.videoVimeo": "um link do Vimeo",
72
76
  "field.videoUrl": "um URL de vídeo direto",
77
+ "field.imageSource": "Esta imagem deve ser {sources}.",
78
+ "field.imageSourceAbsolute": "um endereço noutro site",
79
+ "field.imageSourceRelative": "um caminho neste site",
80
+ "field.imageSourceUpload": "uma imagem carregada",
81
+ "field.file": "Deve ser um URL HTTP(S) ou um ficheiro carregado.",
73
82
  "form.body": "Os dados enviados não estão no formato correto.",
74
83
  "action.cancel": "Cancelar",
75
84
  "action.confirm": "Confirmar",
@@ -88,9 +97,18 @@ function requirePt () {
88
97
  "action.yes": "Sim",
89
98
  "action.no": "Não",
90
99
  "action.empty": "—",
100
+ "action.duplicate": "Duplicar",
91
101
  "accordion.open": "Abrir pasta",
92
102
  "accordion.close": "Fechar pasta",
93
103
  "color.custom": "Cor personalizada",
104
+ "color.black": "Preto",
105
+ "color.white": "Branco",
106
+ "color.red": "Vermelho",
107
+ "color.amber": "Âmbar",
108
+ "color.green": "Verde",
109
+ "color.blue": "Azul",
110
+ "color.purple": "Roxo",
111
+ "color.pink": "Rosa",
94
112
  "password.show": "Mostrar palavra-passe",
95
113
  "password.hide": "Ocultar palavra-passe",
96
114
  "media.preview": "Pré-visualização do vídeo",
@@ -151,6 +169,13 @@ function requirePt () {
151
169
  "richText.quote": "Citação",
152
170
  "richText.undo": "Anular",
153
171
  "richText.redo": "Refazer",
172
+ "richText.textColor": "Cor do texto",
173
+ "richText.highlight": "Destaque",
174
+ "richText.removeTextColor": "Sem cor do texto",
175
+ "richText.removeHighlight": "Sem destaque",
176
+ "richText.fullscreen": "Ecrã inteiro",
177
+ "richText.exitFullscreen": "Sair do ecrã inteiro",
178
+ "richText.selectionToolbar": "Formatação da seleção",
154
179
  "media.youtube": "YouTube",
155
180
  "media.vimeo": "Vimeo",
156
181
  "media.direct": "Vídeo direto",
@@ -185,6 +210,8 @@ function requirePt () {
185
210
  "sidebar.profileMenu": "Perfil de {username}",
186
211
  "sidebar.lightTheme": "Tema claro",
187
212
  "sidebar.darkTheme": "Tema escuro",
213
+ "sidebar.audit": "Registo de auditoria",
214
+ "sidebar.media": "Multimédia",
188
215
  "status.draft": "Rascunho",
189
216
  "status.published": "Publicado",
190
217
  "status.unpublished": "Não publicado",
@@ -268,6 +295,9 @@ function requirePt () {
268
295
  "collection.purgeDescription": "«{title}», o seu conteúdo e todo o seu histórico serão perdidos. Esta ação é irreversível.",
269
296
  "collection.purgeAction": "Eliminar definitivamente",
270
297
  "collection.purgeFailed": "Não foi possível eliminar definitivamente esta entrada.",
298
+ "collection.duplicateTitle": "Duplicar a entrada",
299
+ "collection.duplicateDescription": "A nova entrada parte do rascunho de «{title}».",
300
+ "collection.copyOf": "{title} (cópia)",
271
301
  "submissions.received": "Recebida a",
272
302
  "submissions.mode": "Formulário",
273
303
  "submissions.modeManaged": "Gerido",
@@ -289,6 +319,13 @@ function requirePt () {
289
319
  "submissions.deleteAction": "Eliminar a resposta",
290
320
  "submissions.deleteFailed": "Não foi possível eliminar esta resposta.",
291
321
  "submissions.pager": "{count} resposta · página {page} de {pages} | {count} resposta · página {page} de {pages} | {count} respostas · página {page} de {pages}",
322
+ "submissions.selectAll": "Selecionar todas as linhas desta página",
323
+ "submissions.selectRow": "Selecionar este envio",
324
+ "submissions.selected": "{count} selecionados | {count} selecionado | {count} selecionados",
325
+ "submissions.clearSelection": "Limpar a seleção",
326
+ "submissions.deleteSelection": "Eliminar a seleção",
327
+ "submissions.deleteSelectionTitle": "Eliminar os envios selecionados?",
328
+ "submissions.deleteSelectionDescription": "Serão eliminados {count} envios. Esta ação não pode ser anulada. | Será eliminado {count} envio. Esta ação não pode ser anulada. | Serão eliminados {count} envios. Esta ação não pode ser anulada.",
292
329
  "history.title": "Histórico de versões",
293
330
  "history.description": "Encontre e restaure uma versão antiga, publicada ou guardada como rascunho.",
294
331
  "history.loading": "A carregar as versões…",
@@ -429,9 +466,85 @@ function requirePt () {
429
466
  "server.rateLimited": "Demasiados pedidos. Tente novamente mais tarde.",
430
467
  "server.invalidJson": "O corpo do pedido tem de ser JSON válido.",
431
468
  "server.bodyTooLarge": "O corpo do pedido é demasiado grande.",
469
+ "server.lifecycleContentForbidden": "Guarda o conteúdo como rascunho antes de executar uma ação de publicação.",
470
+ "server.roleUnavailable": "Esta conta usa uma função que já não existe. Pede a um owner que lhe atribua uma nova.",
471
+ "server.relationMissing": "Aponta para uma entrada que não existe: {slugs}.",
472
+ "server.relationUnknownCollection": "Aponta para «{collection}», que não é uma coleção.",
473
+ "server.entryReferenced": "Ainda é referenciada por {entries}. Desassocia-a lá primeiro.",
474
+ "server.notFound": "Não encontrado.",
475
+ "server.storageDisabled": "O armazenamento de ficheiros não está configurado.",
476
+ "server.mediaInvalidKey": "Referência de ficheiro inválida.",
477
+ "server.mediaInvalidType": "Tipo de ficheiro inválido.",
478
+ "server.mediaInvalidSize": "Tamanho de ficheiro inválido.",
479
+ "server.mediaTooLarge": "O ficheiro é demasiado grande. O limite é {max}.",
480
+ "server.mediaRejectedType": "Este tipo de ficheiro não é aceite. Tipos aceites: {accept}.",
481
+ "server.mediaEmptyBody": "O carregamento não continha dados.",
482
+ "server.mediaIncompleteUpload": "O carregamento não foi concluído. Tenta novamente.",
483
+ "server.mediaReadOnly": "O armazenamento de ficheiros está mal configurado neste deployment e não pode aceitar carregamentos. Pede a quem o publicou que configure um bucket.",
432
484
  "role.viewer": "Leitor",
433
485
  "role.editor": "Editor",
434
- "role.owner": "Proprietário"
486
+ "role.owner": "Proprietário",
487
+ "relation.choose": "Escolher uma entrada",
488
+ "relation.change": "Alterar",
489
+ "relation.remove": "Remover {entry}",
490
+ "relation.selected": "Selecionada",
491
+ "relation.search": "Procurar entradas",
492
+ "relation.noMatch": "Nenhuma entrada corresponde a «{query}».",
493
+ "relation.empty": "Esta coleção ainda não tem entradas.",
494
+ "relation.pickerTitle": "{collection}",
495
+ "relation.pickerDescription": "Escolhe a entrada para a qual este campo aponta.",
496
+ "relation.shown": "{count} de {total}",
497
+ "relation.loadMore": "Carregar mais",
498
+ "audit.title": "Registo de auditoria · Eponyme",
499
+ "audit.heading": "Registo de auditoria",
500
+ "audit.description": "Eventos de segurança e editoriais desta instância Eponyme.",
501
+ "audit.action": "Ação",
502
+ "audit.resource": "Recurso",
503
+ "audit.from": "De",
504
+ "audit.to": "Até",
505
+ "audit.filter": "Filtrar",
506
+ "audit.clear": "Limpar os filtros",
507
+ "audit.date": "Data",
508
+ "audit.actor": "Autor",
509
+ "audit.outcome": "Resultado",
510
+ "audit.system": "Sistema",
511
+ "audit.success": "Sucesso",
512
+ "audit.failure": "Falha",
513
+ "audit.empty": "Nenhum evento corresponde a estes filtros.",
514
+ "audit.more": "Carregar mais",
515
+ "audit.loadFailed": "Não foi possível carregar o registo de auditoria.",
516
+ "library.title": "Multimédia",
517
+ "library.description": "Ficheiros carregados a partir do painel, mais recentes primeiro.",
518
+ "library.upload": "Carregar",
519
+ "library.uploading": "A carregar {name}…",
520
+ "library.empty": "Ainda não há ficheiros.",
521
+ "library.emptyHint": "Carrega um para o usar numa entrada.",
522
+ "library.search": "Procurar ficheiros",
523
+ "library.noMatch": "Nenhum ficheiro corresponde a «{query}».",
524
+ "library.loadMore": "Carregar mais",
525
+ "library.loading": "A carregar…",
526
+ "library.select": "Selecionar",
527
+ "library.delete": "Eliminar",
528
+ "library.deleteTitle": "Eliminar este ficheiro?",
529
+ "library.deleteMessage": "{name} será removido do armazenamento. As entradas que já apontam para ele mostrarão um ficheiro inválido.",
530
+ "library.deleted": "Ficheiro eliminado.",
531
+ "library.copyUrl": "Copiar o URL",
532
+ "library.copied": "URL copiado.",
533
+ "library.uploadFailed": "O carregamento falhou.",
534
+ "library.cancel": "Cancelar",
535
+ "library.pick": "Escolher da biblioteca",
536
+ "library.count": "{count} ficheiros",
537
+ "file.choose": "Carregar um ficheiro",
538
+ "file.replace": "Substituir",
539
+ "file.remove": "Remover",
540
+ "file.open": "Abrir num novo separador",
541
+ "file.drop": "Larga um ficheiro aqui",
542
+ "file.or": "ou",
543
+ "file.browse": "procurar",
544
+ "file.address": "Endereço",
545
+ "file.storageOff": "O armazenamento não está configurado, por isso este campo aceita um endereço em vez de um carregamento.",
546
+ "file.tooLarge": "Este ficheiro é maior do que {max}.",
547
+ "file.rejectedType": "Este tipo de ficheiro não é aceite. Tipos aceites: {accept}."
435
548
  };
436
549
  return pt$1;
437
550
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eponyme/locale",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Dashboard interface translations for Eponyme.",
6
6
  "repository": {