diff --git a/client/strings/en-us.json b/client/strings/en-us.json index 39726ff08..64c7d99cb 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -124,6 +124,7 @@ "HeaderAudiobookTools": "Audiobook File Management Tools", "HeaderAuthentication": "Authentication", "HeaderBackups": "Backups", + "HeaderBulkChapterModal": "Add Multiple Chapters", "HeaderChangePassword": "Change Password", "HeaderChapters": "Chapters", "HeaderChooseAFolder": "Choose a Folder", @@ -297,6 +298,7 @@ "LabelDeleteFromFileSystemCheckbox": "Delete from file system (uncheck to only remove from database)", "LabelDescription": "Description", "LabelDeselectAll": "Deselect All", + "LabelDetectedPattern": "Detected pattern:", "LabelDevice": "Device", "LabelDeviceInfo": "Device Info", "LabelDeviceIsAvailableTo": "Device is available to...", @@ -454,6 +456,7 @@ "LabelNewestAuthors": "Newest Authors", "LabelNewestEpisodes": "Newest Episodes", "LabelNextBackupDate": "Next backup date", + "LabelNextChapters": "Next chapters will be:", "LabelNextScheduledRun": "Next scheduled run", "LabelNoCustomMetadataProviders": "No custom metadata providers", "LabelNoEpisodesSelected": "No episodes selected", @@ -470,6 +473,7 @@ "LabelNotificationsMaxQueueSize": "Max queue size for notification events", "LabelNotificationsMaxQueueSizeHelp": "Events are limited to firing 1 per second. Events will be ignored if the queue is at max size. This prevents notification spamming.", "LabelNumberOfBooks": "Number of Books", + "LabelNumberOfChapters": "Number of chapters:", "LabelNumberOfEpisodes": "# of Episodes", "LabelOpenIDAdvancedPermsClaimDescription": "Name of the OpenID claim that contains advanced permissions for user actions within the application which will apply to non-admin roles (if configured). If the claim is missing from the response, access to ABS will be denied. If a single option is missing, it will be treated as false. Ensure the identity provider's claim matches the expected structure:", "LabelOpenIDClaims": "Leave the following options empty to disable advanced group and permissions assignment, automatically assigning 'User' group then.", @@ -722,6 +726,7 @@ "MessageBookshelfNoResultsForFilter": "No results for filter \"{0}: {1}\"", "MessageBookshelfNoResultsForQuery": "No results for query", "MessageBookshelfNoSeries": "You have no series", + "MessageBulkChapterPattern": "How many chapters would you like to add with this numbering pattern?", "MessageChapterEndIsAfter": "Chapter end is after the end of your audiobook", "MessageChapterErrorFirstNotZero": "First chapter must start at 0", "MessageChapterErrorStartGteDuration": "Invalid start time must be less than audiobook duration", @@ -919,6 +924,7 @@ "NotificationOnBackupFailedDescription": "Triggered when a backup fails", "NotificationOnEpisodeDownloadedDescription": "Triggered when a podcast episode is auto-downloaded", "NotificationOnTestDescription": "Event for testing the notification system", + "PlaceholderBulkChapterInput": "Enter chapter title or use numbering (e.g., 'Episode 1', 'Chapter 10', '1.')", "PlaceholderNewCollection": "New collection name", "PlaceholderNewFolderPath": "New folder path", "PlaceholderNewPlaylist": "New playlist name", @@ -972,8 +978,11 @@ "ToastBookmarkCreateFailed": "Failed to create bookmark", "ToastBookmarkCreateSuccess": "Bookmark added", "ToastBookmarkRemoveSuccess": "Bookmark removed", + "ToastBulkChapterInvalidCount": "Please enter a valid number between 1 and 150", "ToastCachePurgeFailed": "Failed to purge cache", "ToastCachePurgeSuccess": "Cache purged successfully", + "ToastChapterInvalidShiftAmount": "Invalid shift amount. First chapter would have zero or negative length.", + "ToastChaptersAllLocked": "All chapters are locked. Unlock some chapters to shift their times.", "ToastChaptersHaveErrors": "Chapters have errors", "ToastChaptersInvalidShiftAmountLast": "Invalid shift amount. The last chapter start time would extend beyond the duration of this audiobook.", "ToastChaptersInvalidShiftAmountStart": "Invalid shift amount. The first chapter would have zero or negative length and would be overwritten by the second chapter. Increase the start duration of second chapter.", @@ -1104,15 +1113,6 @@ "ToastUserPasswordMismatch": "Passwords do not match", "ToastUserPasswordMustChange": "New password cannot match old password", "ToastUserRootRequireName": "Must enter a root username", - "ToastChaptersAllLocked": "All chapters are locked. Unlock some chapters to shift their times.", - "ToastChapterInvalidShiftAmount": "Invalid shift amount. First chapter would have zero or negative length.", - "ToastBulkChapterInvalidCount": "Please enter a valid number between 1 and 150", - "PlaceholderBulkChapterInput": "Enter chapter title or use numbering (e.g., 'Episode 1', 'Chapter 10', '1.')", - "HeaderBulkChapterModal": "Add Multiple Chapters", - "MessageBulkChapterPattern": "How many chapters would you like to add with this numbering pattern?", - "LabelDetectedPattern": "Detected pattern:", - "LabelNextChapters": "Next chapters will be:", - "LabelNumberOfChapters": "Number of chapters:", "TooltipAddChapters": "Add chapter(s)", "TooltipAddOneSecond": "Add 1 second", "TooltipLockAllChapters": "Lock all chapters", diff --git a/client/strings/es.json b/client/strings/es.json index d81236f0c..ca0fc91c2 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -124,6 +124,7 @@ "HeaderAudiobookTools": "Herramientas de Gestión de Archivos de Audiolibro", "HeaderAuthentication": "Autenticación", "HeaderBackups": "Respaldos", + "HeaderBulkChapterModal": "Añadir Múltiples Capítulos", "HeaderChangePassword": "Cambiar contraseña", "HeaderChapters": "Capítulos", "HeaderChooseAFolder": "Escoger una Carpeta", @@ -297,6 +298,7 @@ "LabelDeleteFromFileSystemCheckbox": "Eliminar del sistema de archivos (desmarque para quitar de la base de datos solamente)", "LabelDescription": "Descripción", "LabelDeselectAll": "Deseleccionar Todos", + "LabelDetectedPattern": "Patrón detectado:", "LabelDevice": "Dispositivo", "LabelDeviceInfo": "Información del dispositivo", "LabelDeviceIsAvailableTo": "El dispositivo está disponible para...", @@ -454,6 +456,7 @@ "LabelNewestAuthors": "Autores más nuevos", "LabelNewestEpisodes": "Episodios más nuevos", "LabelNextBackupDate": "Fecha del siguiente respaldo", + "LabelNextChapters": "Los próximos capítulos serán:", "LabelNextScheduledRun": "Próxima ejecución programada", "LabelNoCustomMetadataProviders": "Sin proveedores de metadatos personalizados", "LabelNoEpisodesSelected": "Ningún Episodio Seleccionado", @@ -470,6 +473,7 @@ "LabelNotificationsMaxQueueSize": "Tamaño máximo de la cola de notificaciones", "LabelNotificationsMaxQueueSizeHelp": "Las notificaciones están limitadas a 1 por segundo. Las notificaciones serán ignoradas si llegan al numero máximo de cola para prevenir spam de eventos.", "LabelNumberOfBooks": "Número de libros", + "LabelNumberOfChapters": "Número de capítulos:", "LabelNumberOfEpisodes": "N.º de episodios", "LabelOpenIDAdvancedPermsClaimDescription": "Nombre de la notificación de OpenID que contiene permisos avanzados para acciones de usuario dentro de la aplicación que se aplicarán a roles que no sean de administrador (si están configurados). Si el reclamo no aparece en la respuesta, se denegará el acceso a ABS. Si falta una sola opción, se tratará como falsa. Asegúrese de que la notificación del proveedor de identidades coincida con la estructura esperada:", "LabelOpenIDClaims": "Deje las siguientes opciones vacías para desactivar la asignación avanzada de grupos y permisos, lo que asignaría de manera automática al grupo «Usuario».", @@ -722,6 +726,7 @@ "MessageBookshelfNoResultsForFilter": "El filtro «{0}: {1}» no produjo ningún resultado", "MessageBookshelfNoResultsForQuery": "No hay resultados para la consulta", "MessageBookshelfNoSeries": "No tiene ninguna serie", + "MessageBulkChapterPattern": "¿Cuántos capítulos desea añadir con este patrón de numeración?", "MessageChapterEndIsAfter": "El final del capítulo es después del final de tu audiolibro", "MessageChapterErrorFirstNotZero": "El primer capítulo debe iniciar en 0", "MessageChapterErrorStartGteDuration": "El tiempo de inicio no es válido: debe ser inferior a la duración del audiolibro", @@ -919,6 +924,7 @@ "NotificationOnBackupFailedDescription": "Se activa cuando falla una copia de seguridad", "NotificationOnEpisodeDownloadedDescription": "Se activa cuando se descarga automáticamente un episodio de un podcast", "NotificationOnTestDescription": "Evento para probar el sistema de notificaciones", + "PlaceholderBulkChapterInput": "Ingrese título de capítulo o use numeración (ej. 'Episodio 1', 'Capítulo 10', '1.')", "PlaceholderNewCollection": "Nuevo nombre de la colección", "PlaceholderNewFolderPath": "Nueva ruta de carpeta", "PlaceholderNewPlaylist": "Nuevo nombre de la lista de reproducción", @@ -972,8 +978,11 @@ "ToastBookmarkCreateFailed": "No se pudo crear el marcador", "ToastBookmarkCreateSuccess": "Marcador añadido", "ToastBookmarkRemoveSuccess": "Marcador eliminado", + "ToastBulkChapterInvalidCount": "Por favor ingrese un número válido entre 1 y 150", "ToastCachePurgeFailed": "No se pudo purgar la antememoria", "ToastCachePurgeSuccess": "Se purgó la antememoria correctamente", + "ToastChapterInvalidShiftAmount": "Cantidad de desplazamiento inválida. El primer capítulo tendría duración cero o negativa.", + "ToastChaptersAllLocked": "Todos los capítulos están bloqueados. Desbloquee algunos capítulos para cambiar sus tiempos.", "ToastChaptersHaveErrors": "Los capítulos tienen errores", "ToastChaptersInvalidShiftAmountLast": "Cantidad de desplazamiento no válida. La hora de inicio del último capítulo se extendería más allá de la duración de este audiolibro.", "ToastChaptersInvalidShiftAmountStart": "Cantidad de desplazamiento no válida. El primer capítulo tendría una duración cero o negativa y lo sobrescribiría el segundo capítulo. Aumente la duración inicial del segundo capítulo.", @@ -1104,15 +1113,6 @@ "ToastUserPasswordMismatch": "No coinciden las contraseñas", "ToastUserPasswordMustChange": "La nueva contraseña no puede ser igual que la anterior", "ToastUserRootRequireName": "Debe introducir un nombre de usuario administrativo", - "ToastChaptersAllLocked": "Todos los capítulos están bloqueados. Desbloquee algunos capítulos para cambiar sus tiempos.", - "ToastChapterInvalidShiftAmount": "Cantidad de desplazamiento inválida. El primer capítulo tendría duración cero o negativa.", - "ToastBulkChapterInvalidCount": "Por favor ingrese un número válido entre 1 y 150", - "PlaceholderBulkChapterInput": "Ingrese título de capítulo o use numeración (ej. 'Episodio 1', 'Capítulo 10', '1.')", - "HeaderBulkChapterModal": "Añadir Múltiples Capítulos", - "MessageBulkChapterPattern": "¿Cuántos capítulos desea añadir con este patrón de numeración?", - "LabelDetectedPattern": "Patrón detectado:", - "LabelNextChapters": "Los próximos capítulos serán:", - "LabelNumberOfChapters": "Número de capítulos:", "TooltipAddChapters": "Añadir capítulo(s)", "TooltipAddOneSecond": "Añadir 1 segundo", "TooltipLockAllChapters": "Bloquear todos los capítulos", diff --git a/client/strings/fr.json b/client/strings/fr.json index 88666f580..1d5f88597 100644 --- a/client/strings/fr.json +++ b/client/strings/fr.json @@ -124,6 +124,7 @@ "HeaderAudiobookTools": "Outils de gestion de fichiers de livres audio", "HeaderAuthentication": "Authentification", "HeaderBackups": "Sauvegardes", + "HeaderBulkChapterModal": "Ajouter Plusieurs Chapitres", "HeaderChangePassword": "Modifier le mot de passe", "HeaderChapters": "Chapitres", "HeaderChooseAFolder": "Sélectionner un dossier", @@ -296,6 +297,7 @@ "LabelDeleteFromFileSystemCheckbox": "Supprimer du système de fichiers (décocher pour ne supprimer que de la base de données)", "LabelDescription": "Description", "LabelDeselectAll": "Tout déselectionner", + "LabelDetectedPattern": "Motif détecté :", "LabelDevice": "Appareil", "LabelDeviceInfo": "Détail de l’appareil", "LabelDeviceIsAvailableTo": "L’appareil est disponible pour…", @@ -453,6 +455,7 @@ "LabelNewestAuthors": "Auteurs récents", "LabelNewestEpisodes": "Épisodes récents", "LabelNextBackupDate": "Date de la prochaine sauvegarde", + "LabelNextChapters": "Les prochains chapitres seront :", "LabelNextScheduledRun": "Prochain lancement prévu", "LabelNoCustomMetadataProviders": "Aucun fournisseurs de métadonnées personnalisés", "LabelNoEpisodesSelected": "Aucun épisode sélectionné", @@ -469,6 +472,7 @@ "LabelNotificationsMaxQueueSize": "Nombres de notifications maximum à mettre en attente", "LabelNotificationsMaxQueueSizeHelp": "La limite de notification est de un évènement par seconde. Les notifications seront ignorées si la file d’attente est à son maximum. Cela empêche un flot trop important.", "LabelNumberOfBooks": "Nombre de livres", + "LabelNumberOfChapters": "Nombre de chapitres :", "LabelNumberOfEpisodes": "Nombre d'épisodes", "LabelOpenIDAdvancedPermsClaimDescription": "Nom de la demande OpenID qui contient des autorisations avancées pour les actions de l’utilisateur dans l’application, qui s’appliqueront à des rôles autres que celui d’administrateur (s’il est configuré). Si la demande est absente de la réponse, l’accès à ABS sera refusé. Si une seule option est manquante, elle sera considérée comme false. Assurez-vous que la demande du fournisseur d’identité correspond à la structure attendue :", "LabelOpenIDClaims": "Laissez les options suivantes vides pour désactiver l’attribution avancée de groupes et d’autorisations, en attribuant alors automatiquement le groupe « Utilisateur ».", @@ -721,6 +725,7 @@ "MessageBookshelfNoResultsForFilter": "Aucun résultat pour le filtre « {0} : {1} »", "MessageBookshelfNoResultsForQuery": "Aucun résultat pour la requête", "MessageBookshelfNoSeries": "Vous n’avez aucune série", + "MessageBulkChapterPattern": "Combien de chapitres souhaitez-vous ajouter avec ce motif de numérotation ?", "MessageChapterEndIsAfter": "La fin du chapitre se situe après la fin de votre livre audio", "MessageChapterErrorFirstNotZero": "Le premier capitre doit débuter à 0", "MessageChapterErrorStartGteDuration": "Horodatage invalide car il doit débuter avant la fin du livre", @@ -918,6 +923,7 @@ "NotificationOnBackupFailedDescription": "Déclenché lorsqu'une sauvegarde échoue", "NotificationOnEpisodeDownloadedDescription": "Déclenché lorsqu’un épisode de podcast est téléchargé automatiquement", "NotificationOnTestDescription": "Événement pour tester le système de notification", + "PlaceholderBulkChapterInput": "Entrez le titre du chapitre ou utilisez la numérotation (ex. 'Épisode 1', 'Chapitre 10', '1.')", "PlaceholderNewCollection": "Nom de la nouvelle collection", "PlaceholderNewFolderPath": "Nouveau chemin de dossier", "PlaceholderNewPlaylist": "Nouveau nom de liste de lecture", @@ -971,8 +977,11 @@ "ToastBookmarkCreateFailed": "Échec de la création de signet", "ToastBookmarkCreateSuccess": "Signet ajouté", "ToastBookmarkRemoveSuccess": "Signet supprimé", + "ToastBulkChapterInvalidCount": "Veuillez entrer un nombre valide entre 1 et 150", "ToastCachePurgeFailed": "Échec de la purge du cache", "ToastCachePurgeSuccess": "Cache purgé avec succès", + "ToastChapterInvalidShiftAmount": "Montant de décalage invalide. Le premier chapitre aurait une durée nulle ou négative.", + "ToastChaptersAllLocked": "Tous les chapitres sont verrouillés. Déverrouillez certains chapitres pour décaler leurs temps.", "ToastChaptersHaveErrors": "Les chapitres contiennent des erreurs", "ToastChaptersInvalidShiftAmountLast": "Durée de décalage non valide. L’heure de début du dernier chapitre pourrait dépasser la durée de ce livre audio.", "ToastChaptersInvalidShiftAmountStart": "Durée de décalage non valide. Le premier chapitre aurait une longueur nulle ou négative et serait écrasé par le second. Augmentez la durée de début du second chapitre.", @@ -1103,15 +1112,6 @@ "ToastUserPasswordMismatch": "Les mots de passe ne correspondent pas", "ToastUserPasswordMustChange": "Le nouveau mot de passe ne peut pas être identique à l’ancien", "ToastUserRootRequireName": "Vous devez entrer un nom d’utilisateur root", - "ToastChaptersAllLocked": "Tous les chapitres sont verrouillés. Déverrouillez certains chapitres pour décaler leurs temps.", - "ToastChapterInvalidShiftAmount": "Montant de décalage invalide. Le premier chapitre aurait une durée nulle ou négative.", - "ToastBulkChapterInvalidCount": "Veuillez entrer un nombre valide entre 1 et 150", - "PlaceholderBulkChapterInput": "Entrez le titre du chapitre ou utilisez la numérotation (ex. 'Épisode 1', 'Chapitre 10', '1.')", - "HeaderBulkChapterModal": "Ajouter Plusieurs Chapitres", - "MessageBulkChapterPattern": "Combien de chapitres souhaitez-vous ajouter avec ce motif de numérotation ?", - "LabelDetectedPattern": "Motif détecté :", - "LabelNextChapters": "Les prochains chapitres seront :", - "LabelNumberOfChapters": "Nombre de chapitres :", "TooltipAddChapters": "Ajouter chapitre(s)", "TooltipAddOneSecond": "Ajouter 1 seconde", "TooltipLockAllChapters": "Verrouiller tous les chapitres", @@ -1119,4 +1119,4 @@ "TooltipSubtractOneSecond": "Soustraire 1 seconde", "TooltipUnlockAllChapters": "Déverrouiller tous les chapitres", "TooltipUnlockChapter": "Déverrouiller le chapitre (Maj+clic pour plage)" -} \ No newline at end of file +}